Vai al contenuto

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).