delonix storage

Volumes de REDE (NFS/CIFS/WebDAV) montáveis, estilo PersistentVolume do k8s.

NETWORK volumes (NFS/CIFS/WebDAV) you can mount, k8s PersistentVolume-style.

Monta pastas de um NAS (TrueNAS/Synology/Samba/Nextcloud) como volumes nomeados. Por baixo é um volume do delonix-volume com driver de rede — mount -t nfs|cifs|davfs. A password vem do cofre (--password-secret), nunca do argv. Ligado ao stack apply (ordem Network→Volume→Storage→Image→Vm→Container). Montar precisa de CAP_SYS_ADMIN.

Mounts a folder from a NAS (TrueNAS/Synology/Samba/Nextcloud) as a named volume. Under the hood it's a delonix-volume volume with a network driver — mount -t nfs|cifs|davfs. The password comes from the vault (--password-secret), never from argv. Wired into stack apply (order Network→Volume→Storage→Image→Vm→Container). Mounting needs CAP_SYS_ADMIN.

Usage: dlx storage [OPTIONS] <COMMAND>

Commands:
  dash     Storage/volumes dashboard (KPIs + table) — TUI, or `--once` snapshot
  create   Create (and mount) a network storage
  ls       List the network storages (volumes with a network driver)
  inspect  Details of a storage
  rm       Remove (and unmount) a storage. The DATA stays on the NAS — only the local mount is torn down, like docker
  apply    Apply the `kind: Storage` documents from a manifest
  help     Print this message or the help of the given subcommand(s)

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

storage apply

Apply the kind: Storage documents from a manifest

Usage: dlx storage apply [OPTIONS]

Options:
  -f, --file <FILE>   
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Declarar o NAS num manifesto kind: Storage
delonix storage apply -f storage.yaml

storage inspect

Details of a storage

Usage: dlx storage inspect [OPTIONS] <NAME>

Arguments:
  <NAME>  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

JSON do storage (para scripts)
delonix storage inspect nas-fotos

storage dash

Storage/volumes dashboard (KPIs + table) — TUI, or --once snapshot

Usage: dlx storage dash [OPTIONS]

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --once          
      --json          
  -h, --help          Print help

Exemplos

Dashboard só do armazenamento de rede
delonix storage dash

storage create

Create (and mount) a network storage

Usage: dlx storage create [OPTIONS] --type <TYPE> --server <SERVER> --share <SHARE> <NAME>

Arguments:
  <NAME>  

Options:
      --l18n <en|pt>
          Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --type <TYPE>
          Type: `nfs` | `cifs`/`smb` (Samba/Windows) | `webdav` (Nextcloud/ownCloud) [possible values: nfs, cifs, smb, webdav]
      --server <SERVER>
          Server (host/IP), or the base URL in the `webdav` case
      --share <SHARE>
          Export/share: NFS path (`/mnt/pool/media`), CIFS share name (`media`), or the path in the WebDAV URL (`/remote.php/dav/...`)
      --username <USERNAME>
          User (cifs/webdav)
      --password <PASSWORD>
          Password (cifs/webdav) — prefer `--password-secret` to avoid exposing it
      --password-secret <PASSWORD_SECRET>
          Vault secret with the `password` key (cifs/webdav) — does not leak in shell history
      --read-only
          Mount read-only
      --options <OPTIONS>
          Extra mount options (`vers=4.1,soft`), appended to the derived ones
  -h, --help
          Print help

Exemplos

NFS de um TrueNAS
delonix storage create media --type nfs --server 10.0.0.5 --share /mnt/pool/media
SMB/CIFS com password do cofre
delonix storage create docs --type cifs --server nas --share docs --username user --password-secret nas-pass

storage ls

List the network storages (volumes with a network driver)

Usage: dlx storage ls [OPTIONS]

Options:
      --l18n <en|pt>     Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -o, --output <OUTPUT>  Output format: `table` (default) or `json` (ADR-0005) [default: table] [possible values: table, json]
  -h, --help             Print help

Exemplos

delonix storage ls

storage rm

Remove (and unmount) a storage. The DATA stays on the NAS — only the local mount is torn down, like docker

Usage: dlx storage rm [OPTIONS] <NAME>

Arguments:
  <NAME>  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Desmonta; os dados ficam no NAS
delonix storage rm media

LaboratórioLab

Regista um export NFS como storage e monta-o num container, com a password a vir do cofre em vez do manifesto.

printf 'password-do-nas' | delonix secret create nas-pass
delonix storage create nas1 --server 192.168.1.50 --share /export/dados --password-secret nas-pass
delonix container run --rm -v nas1:/mnt alpine sh -c 'echo ok > /mnt/teste'

Register an NFS export as storage and mount it into a container, with the password coming from the vault instead of the manifest.

printf 'nas-password' | delonix secret create nas-pass
delonix storage create nas1 --server 192.168.1.50 --share /export/data --password-secret nas-pass
delonix container run --rm -v nas1:/mnt alpine sh -c 'echo ok > /mnt/test'

DesafioChallenge

Confirma no próprio NAS (por outra via — outro host, ou o painel do NAS) que o ficheiro teste chegou mesmo lá — a prova de que o storage não é um volume local disfarçado.

Confirm on the NAS itself (through another path — another host, or the NAS's own panel) that the test file really landed there — the proof that storage isn't a local volume in disguise.