Riferimento CLI (nexoctl)¶
nexoctl è il client a riga di comando di Nexo: gestisce gli alias dei server, bucket e oggetti (con
qualsiasi endpoint compatibile S3) e l'amministrazione di Nexo tramite l'Admin API.
Il riferimento completo di ogni comando, con sintassi, esempi e opzioni, è generato dal codice di nexoctl
e parte da nexoctl. Questa pagina riassume le convenzioni comuni a tutti i comandi.
Gruppi di comandi¶
| Gruppo | Comandi |
|---|---|
| Bucket e oggetti | ls, mb, rb, cp, mv, rm, put, pipe, cat, head, stat, find, du, tree, diff, mirror |
| Condivisione e accesso | share, presign, anonymous, access, cors, dist, cache |
| Impostazioni di bucket e oggetti | version, ilm, event, encrypt, quota, retention, legalhold, tag |
| Amministrazione | admin: info, user, group, policy, accesskey, config, service, heal, usage, kms, notify, trace, logs, audit, metrics, prometheus, profile, speedtest, lock, cluster |
| Configurazione | alias, completion |
Destinazioni¶
Un percorso remoto si scrive ALIAS[/BUCKET[/PREFISSO]], dove ALIAS è un nome registrato con
nexoctl alias set; tutto il resto è un percorso locale.
nexoctl alias set local http://localhost:9000 admin supersegreta
nexoctl ls local # i bucket
nexoctl ls local/foto/2026/ # gli oggetti sotto un prefisso
nexoctl cp report.pdf local/docs/
Gli alias, con le credenziali, sono salvati in ~/.nexoctl/config.json (permessi 0600). Le chiavi private
generate per i key group delle distribuzioni sono in ~/.nexoctl/keys/<alias>/.
Opzioni globali¶
| Opzione | Effetto |
|---|---|
--config-dir DIR |
directory di configurazione (default $NEXOCTL_CONFIG_DIR o ~/.nexoctl) |
--json |
output JSON Lines: un oggetto per riga con un campo status (success o error), per gli script |
-q, --quiet |
nasconde conferme e progresso (risultati ed errori restano) |
--no-color |
disattiva i colori (anche con la variabile NO_COLOR) |
--debug |
stampa su stderr le richieste e le risposte HTTP, con i segreti redatti |
-v, --version |
versione di nexoctl |
Variabili d'ambiente¶
| Variabile | Effetto |
|---|---|
NEXOCTL_CONFIG_DIR |
directory di configurazione |
NEXOCTL_ENC_C |
chiavi SSE-C, ALIAS/BUCKET[/PREFISSO]=CHIAVEBASE64 separate da virgola (vedi KMS e SSE) |
NO_COLOR |
disattiva i colori |
SSL_CERT_FILE, SSL_CERT_DIR |
CA fidate per i server HTTPS con una CA privata |
HTTPS_PROXY, NO_PROXY |
proxy HTTP verso i server |
Codici di uscita¶
| Codice | Significato |
|---|---|
0 |
successo |
1 |
errore generico (rete, server, operazione fallita) |
2 |
uso errato: argomenti o opzioni non validi |
3 |
risorsa non trovata (alias, bucket, oggetto, utente, …) |
4 |
accesso negato (credenziali o permessi) |
130 |
interrotto (Ctrl-C) |
I codici fanno parte del contratto della CLI e non cambiano tra le versioni.
Alias dei comandi¶
Molti sottocomandi hanno un nome breve, riportato nella sezione Aliases della loro pagina: per esempio
ls per list e rm per remove (nexoctl admin user ls, nexoctl event rm).
Completamento della shell¶
nexoctl completion bash > /etc/bash_completion.d/nexoctl # bash
nexoctl completion zsh > "${fpath[1]}/_nexoctl" # zsh
nexoctl completion fish > ~/.config/fish/completions/nexoctl.fish
Generare la documentazione¶
Le pagine di docs/user/cli sono generate da nexoctl stesso, solo in inglese (il sito
italiano mostra le pagine inglesi), e non vanno modificate
a mano. Dopo aver cambiato un comando:
make docs # rigenera docs/user/cli (comando nascosto: nexoctl gendocs DIR)
make docs-check # fallisce se le pagine nel repository non sono aggiornate (gira in CI)
make docs-site # sito completo in bin/site: MkDocs (--strict, inglese e italiano) + riferimento Admin API
make docs-site installa con make docs-tools, in un virtualenv, gli strumenti fissati in docs/requirements.txt
(MkDocs, Material for MkDocs e mkdocs-static-i18n) e,
per il riferimento dell'Admin API, Node.js (npx).