Passa al contenuto principale Passa alla navigazione Passa al piè di pagina
Programma Design Partner: iscriviti gratis, piano BUSINESS per sempre

Applicazione CLI

Guida completa all'uso dell'interfaccia a riga di comando Rediacc per la gestione della piattaforma

Riferimento CLI Rediacc

Panoramica

La **CLI Rediacc** (`rdc`) è un'interfaccia a riga di comando per la gestione dell'infrastruttura self-hosted: macchine, repository, storage, backup e altro ancora.

Installazione

Scarica l'ultimo binario per la tua piattaforma dalla [pagina delle release Rediacc](https://www.rediacc.com) oppure installa tramite il gestore di pacchetti:

# macOS / Linux
curl -fsSL https://www.rediacc.com | sh

# Or use the packaged binary directly
./rdc --help

Opzioni globali

Ogni comando supporta questi flag globali:

FlagDescrizione
--outputFormato di output (table|json|yaml|csv)
--configUsa una config specifica per questo comando
--langOverride della lingua ({{languages}})
--forceSalta le richieste di conferma

1. Utilità agente

Comandi di introspezione per agenti AI. Sottocomandi principali: capabilities (elenca tutti i comandi con argomenti/opzioni come JSON), schema (schema dettagliato per un singolo comando), exec (esegui un comando con input JSON da stdin, restituisce sempre JSON).

1.1 capabilities

Elenca tutti i comandi disponibili con argomenti e opzioni

rdc agent capabilities

1.2 schema

Mostra lo schema dettagliato per un comando specifico

rdc agent schema [options]
FlagDescrizioneObbligatorioPredefinito
--command <path>Esegui un comando invece della shell interattiva-

1.3 exec

Esegui un comando con input JSON da stdin

rdc agent exec [options]
FlagDescrizioneObbligatorioPredefinito
--command <path>Esegui un comando invece della shell interattiva-

1.4 generate-reference

Genera la documentazione di riferimento dei comandi in markdown per le skill di Claude

rdc agent generate-reference

2. Gestione della config

Gestisci i file di configurazione CLI archiviati in ~/.config/rediacc/. Operazioni CRUD per macchinari, repository, storage backend e chiavi SSH all'interno di una configurazione. Sottocomandi principali: init (crea configurazione con nome), show, list, ssh (gestisci chiavi), recover (da backup), prune (rimuovi elementi obsoleti). Gruppi annidati: config machine, config repository, config storage, config infra.

I file di config memorizzano i dettagli di connessione (URL API, credenziali, team/regione/bridge predefiniti) in modo da poter passare rapidamente da un ambiente all'altro.

2.1 prune

Rimuove gli elementi superflui dal file di configurazione locale in ~/.config/rediacc/<config>.json. Vengono puliti tre bucket, tutti puramente locali (nessuna chiamata SSH/renet): (1) voci della cache certificati ACME il cui GUID/repo/macchinario di ancoraggio non è più nella configurazione attiva; (2) repository archiviati il cui periodo di grazia è scaduto (predefinito 7 giorni, vedi defaults.pruneGraceDays); (3) riferimenti incrociati non validi (machine→strategy, strategy→repo). Le risorse ancora in uso, le credenziali, i token di storage e gli host conosciuti non vengono mai toccati. Il comportamento predefinito è applicare le modifiche; usa --dry-run per visualizzare un'anteprima.

rdc config prune [options]
FlagDescrizioneObbligatorioPredefinito
--dry-runVisualizza un'anteprima di cosa verrebbe rimosso senza modificare il file di configurazione. Specchio della semantica predefinita degli altri comandi prune.No-
--certs-onlyLimita al bucket della cache certificati ACME. Ignora l'eliminazione degli archivi e la pulizia dei riferimenti incrociati. Mutuamente esclusivo con --archives-only e --refs-only.No-
--archives-onlyLimita all'eliminazione degli archivi scaduti. Ignora la cache certificati e la pulizia dei riferimenti incrociati. Mutuamente esclusivo con --certs-only e --refs-only.No-
--refs-onlyLimita ai riferimenti incrociati non validi (machine→strategy, strategy→repo excludes/includes). Ignora la cache certificati e gli archivi. Mutuamente esclusivo con --certs-only e --archives-only.No-
--purge-archivedElimina TUTTI i repository archiviati indipendentemente dall'età, non solo quelli oltre il periodo di grazia. Equivale a eseguire 'rdc config repository purge-archived'. Usalo solo quando sei sicuro di non aver bisogno di nessuna delle credenziali archiviate per il ripristino.No-
--grace-days <days>Sovrascrive la finestra di grazia degli archivi (in giorni) per questa esecuzione. Usa defaults.pruneGraceDays dalla configurazione, poi 7 se nessuno dei due è impostato.No-

2.2 init

Crea un nuovo file di configurazione con nome

Puoi aggiungere macchine direttamente:

rdc config init [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
--ssh-key <path>Percorso della chiave SSH privata (es. ~/.ssh/id_rsa)No-
--renet-path <path>Percorso del binario renet (predefinito: renet nel PATH)No-
--master-password <password>Cifra le risorse con una password principaleNo-
-u, --api-url <url>URL dell'APINo-
--server <url>URL del server accountNo-

2.3 list

Elenca tutti i file di configurazione

rdc config list

2.4 show

Mostra i dettagli della configurazione corrente

rdc config show [options]
FlagDescrizioneObbligatorioPredefinito
--revealMostra il testo in chiaro per i valori sensibili (solo interattivo)No-

2.5 delete

Elimina un file di configurazione

rdc config delete [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-

2.6 set

Imposta un valore predefinito (team, regione, bridge)

rdc config set [options]
FlagDescrizioneObbligatorioPredefinito
--key <key>Chiave di configurazione-
--value <value>Valore di configurazione-

Suggerimento: Impostare i valori predefiniti significa che non devi passare `--team`, `--region` o `--bridge` ad ogni comando.

2.7 clear

Cancella i valori predefiniti (tutti o una chiave specifica)

rdc config clear [options]
FlagDescrizioneObbligatorioPredefinito
--key <key>Chiave di configurazioneNo-

2.8 recover

Ripristina la configurazione dal file di backup (.bak)

rdc config recover [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-y, --yesSalta la richiesta di confermaNo-

2.9 set-ssh

Aggiorna la configurazione SSH per la configurazione corrente

rdc config set-ssh

2.10 set-renet

Imposta il percorso del binario renet

rdc config set-renet

2.11 ssh

Gestisci la configurazione delle chiavi SSH

set

Imposta la chiave SSH per la configurazione corrente

rdc config ssh set [options]
FlagDescrizioneObbligatorioPredefinito
--key <path>Percorso del file della chiave privata SSH-
--embedIncorpora il contenuto della chiave nella configurazione invece di memorizzare il percorsoNo-

show

Mostra la configurazione della chiave SSH corrente

rdc config ssh show

remove

Rimuovi la chiave SSH dalla configurazione corrente

rdc config ssh remove

2.12 remote

Gestisci la connessione allo storage di configurazione remoto

enable

Collega questa configurazione allo storage cifrato remoto

rdc config remote enable [options]
FlagDescrizioneObbligatorioPredefinito
--headlessUsa il flusso device code (per server headless)No-
--api-url <url>URL del server accountNo-

disable

Disconnetti dallo storage remoto e salva la configurazione in locale

rdc config remote disable

status

Mostra lo stato della connessione remota

rdc config remote status

refresh

Forza il recupero della configurazione dallo storage remoto

rdc config remote refresh

2.13 machine

Gestisci i macchinari nella configurazione corrente

add

Aggiungi un macchinario alla configurazione corrente. Esegue la scansione automatica delle chiavi host SSH. Dopo l'aggiunta, esegui: config machine setup <nome>

rdc config machine add [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--ip <address>Indirizzo IP o hostname della macchina-
--user <username>Nome utente SSH-
--port <port>Porta SSHNo22
--datastore <path>Percorso del datastore sulla macchinaNo/mnt/rediacc

remove

Rimuovi un macchinario dalla configurazione corrente

rdc config machine remove [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-

list

Elenca i macchinari nella configurazione corrente

rdc config machine list

scan-keys

Esegui la scansione delle chiavi host SSH per i macchinari nella configurazione corrente

rdc config machine scan-keys [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchinaNo-

setup

Provisioning di un macchinario remoto per i repository (installa renet, configura Docker, datastore BTRFS). Idempotente. Obbligatorio dopo 'config machine add' e prima di 'repo create'.

rdc config machine setup [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--datastore <path>Percorso del datastore sul macchinario remotoNo/mnt/rediacc
--datastore-size <size>Dimensione del datastore (es. 95%, 100G)No95%
--debugAbilita l'output di debugNo-

set-ceph

Imposta la configurazione Ceph RBD per un macchinario

rdc config machine set-ceph [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--pool <name>Nome del pool Ceph (es. rbd)-
--image <name>Nome dell'immagine RBD (es. datastore-prod1)-
--cluster <name>Nome del cluster CephNoceph

2.14 repository

Gestisci le mappature dei repository nella configurazione corrente

add

Aggiungi una mappatura GUID del repository alla configurazione corrente

rdc config repository add [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--guid <guid>GUID del repository (UUID dai nomi dei file di backup dello storage)-
--tag <tag>Tag del repositoryNolatest
--credential <credential>Credenziale del repository (passphrase di cifratura)No-
--network-id <id>ID di rete per l'isolamento Docker (2816, 2880, ...). Assegnato automaticamente se omesso.No-

remove

Rimuovi una mappatura di repository dalla configurazione corrente

rdc config repository remove [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-

list

Elenca le mappature GUID dei repository nella configurazione corrente

rdc config repository list

list-archived

Elenca le credenziali dei repository archiviati

rdc config repository list-archived

restore-archived

Ripristina una credenziale di repository archiviata

rdc config repository restore-archived [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--new-name <name>Nuovo nome della risorsaNo-

purge-archived

Elimina definitivamente tutte le credenziali archiviate

rdc config repository purge-archived

2.15 provider

Gestisci i provider cloud per il provisioning automatizzato dei macchinari

add

Aggiungi un provider cloud

rdc config provider add [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--provider <source>Sorgente provider nota (es. linode/linode, hetznercloud/hcloud)No-
--source <source>Sorgente provider OpenTofu personalizzata (es. vultr/vultr)No-
--token <token>Token API per il provider cloud-
--region <region>Regione predefinita per i nuovi macchinariNo-
--type <type>Tipo/dimensione istanza predefinitaNo-
--image <image>Immagine SO predefinitaNo-
--ssh-user <user>Nome utente SSH per le nuove VM (predefinito: root)No-
--resource <type>Personalizzato: tipo di risorsa OpenTofu per la VMNo-
--label-attr <attr>Personalizzato: nome dell'attributo per la label della VMNo-
--region-attr <attr>Personalizzato: nome dell'attributo per la regioneNo-
--size-attr <attr>Personalizzato: nome dell'attributo per il tipo di istanzaNo-
--image-attr <attr>Personalizzato: nome dell'attributo per l'immagine SONo-
--ipv4-output <attr>Personalizzato: attributo di output per l'indirizzo IPv4No-
--ipv6-output <attr>Personalizzato: attributo di output per l'indirizzo IPv6No-
--ssh-key-attr <attr>Personalizzato: nome dell'attributo per le chiavi SSHNo-
--ssh-key-format <format>Personalizzato: formato della chiave SSH (inline_list o resource_id)No-
--ssh-key-resource <type>Personalizzato: tipo di risorsa OpenTofu per le chiavi SSHNo-

remove

Rimuovi una configurazione di provider cloud

rdc config provider remove [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-

list

Elenca i provider cloud configurati

rdc config provider list

2.16 storage

Gestisci i backend di storage nella configurazione corrente

import

Importa gli storage da un file di configurazione rclone

rdc config storage import [options]
FlagDescrizioneObbligatorioPredefinito
--file <path>Percorso del file-
--name <name>Importa solo questa sezione con nomeNo-

remove

Rimuovi uno storage dalla configurazione corrente

rdc config storage remove [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-

list

Elenca gli storage nella configurazione corrente

rdc config storage list

2.17 infra

Gestisci la configurazione dell'infrastruttura (proxy, DNS, certificati)

set

Imposta la configurazione dell'infrastruttura per un macchinario (specifica per macchinario: IP, dominio, porte; condivisa: email certificato, token DNS CF)

rdc config infra set [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--public-ipv4 <ip>Indirizzo IPv4 pubblico (per macchinario)No-
--public-ipv6 <ip>Indirizzo IPv6 pubblico (per macchinario)No-
--base-domain <domain>Dominio base per le applicazioni (per macchinario)No-
--cert-email <email>Email per le notifiche dei certificati TLS (condivisa tra i macchinari)No-
--cf-dns-token <token>Token API DNS Cloudflare per la challenge ACME DNS-01 (condiviso tra i macchinari)No-
--tcp-ports <ports>Porte TCP da inoltrare (separate da virgola, es. 25,143,465)No-
--udp-ports <ports>Porte UDP da inoltrare (separate da virgola, es. 53)No-

show

Mostra la configurazione dell'infrastruttura per un macchinario

rdc config infra show [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-

push

Invia la configurazione infrastruttura al macchinario (proxy Traefik, router, DNS Cloudflare). Esegui prima 'config infra set <macchinario>'.

rdc config infra push [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--debugAbilita l'output di debugNo-

2.18 cert-cache

Gestisci i certificati TLS in cache

pull

Scarica e memorizza nella cache i certificati TLS da un macchinario

rdc config cert-cache pull [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--no-pruneIgnora la rimozione dei certificati con ID di rete obsoletiNo-
--debugAbilita l'output di debugNo-

push

Carica i certificati TLS in cache su un macchinario

rdc config cert-cache push [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--debugAbilita l'output di debugNo-

status

Mostra l'inventario dei certificati in cache

rdc config cert-cache status

clear

Rimuovi la cache dei certificati

rdc config cert-cache clear

2.19 field

Operazioni sui campi di configurazione con indirizzo tramite pointer (get/set/unset/rotate/list). Pointer JSON (RFC 6901) come /credentials/cfDnsApiToken.

get

Leggi un singolo valore di configurazione tramite JSON Pointer. I campi sensibili vengono oscurati a meno che non si usi --reveal (solo per utenti).

rdc config field get [options]
FlagDescrizioneObbligatorioPredefinito
--pointer <pointer>JSON Pointer al campo (es. /credentials/cfDnsApiToken)-
--revealMostra il testo in chiaro per i valori sensibili (solo TTY interattivo; registrato)No-
--digestStampa il digest SHA-256 invece del valore (sicuro da condividere con gli agenti)No-

set

Scrivi un valore di configurazione su un JSON Pointer. I percorsi sensibili richiedono --current (knowledge-gate).

rdc config field set [options]
FlagDescrizioneObbligatorioPredefinito
--pointer <pointer>JSON Pointer al campo (es. /credentials/cfDnsApiToken)-
--new <value>Nuovo valore (analizzato come JSON se sembra JSON: {, [, ", true/false/null/numero)-
--current <value>Valore in chiaro corrente -- obbligatorio per le mutazioni su percorsi sensibili (proof knowledge-gate)No-

unset

Elimina un valore di configurazione su un JSON Pointer. I percorsi sensibili richiedono --current.

rdc config field unset [options]
FlagDescrizioneObbligatorioPredefinito
--pointer <pointer>JSON Pointer al campo (es. /credentials/cfDnsApiToken)-
--current <value>Valore in chiaro corrente -- obbligatorio per le eliminazioni su percorsi sensibiliNo-

rotate

Ruota un valore sensibile senza --current. Solo TTY interattivo; registrato in modo esplicito.

rdc config field rotate [options]
FlagDescrizioneObbligatorioPredefinito
--pointer <pointer>JSON Pointer al campo sensibile (es. /credentials/cfDnsApiToken)-
--new <value>Nuovo valore-

list

Elenca ogni template di pointer sensibile registrato con il suo tipo e la policy di commit/cifratura.

rdc config field list [options]
FlagDescrizioneObbligatorioPredefinito
--sensitiveMostra solo i template sensibili (non pubblici)No-

2.20 edit

Apre la configurazione attiva in $EDITOR come proiezione JSONC oscurata. Solo per utenti; gli agenti vengono rifiutati.

rdc config edit [options]
FlagDescrizioneObbligatorioPredefinito
--revealMostra il testo in chiaro per i valori sensibili (solo TTY interattivo; registrato)No-
--dumpStampa la configurazione corrente come JSONC su stdout (sola lettura; sicuro per gli agenti se oscurato)No-
--apply <file>Applica un file JSONC modificato (ignora l'avvio di $EDITOR)No-
--current-secrets <file>File JSON che mappa pointer→valore in chiaro precedente per il knowledge-gate su --applyNo-
--editor <cmd>Sovrascrittura del comando dell'editor (segue la precedenza di git: flag > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR)No-

2.21 audit

Ispeziona il log di audit della configurazione (JSONL con catena di hash in ~/.config/rediacc/audit.log.jsonl)

log

Stampa le voci di audit recenti come JSON

rdc config audit log [options]
FlagDescrizioneObbligatorioPredefinito
--since <spec>Mostra solo le voci più recenti di (es. '24h', '7d', timestamp ISO)No-
--path <glob>Filtra per glob JSON Pointer (es. /credentials/*)No-
--actor <kind>Filtra per tipo di attore (human|agent)No-

tail

Trasmette in streaming le nuove voci di audit man mano che vengono scritte (Ctrl+C per fermare)

rdc config audit tail

verify

Verifica l'integrità della catena di hash SHA-256 su tutte le voci di audit

rdc config audit verify

2.22 backup-strategy

Gestisci le strategie di backup con nome (modalità hot/cold, destinazioni, pianificazione)

set

Crea o aggiorna una strategia di backup

rdc config backup-strategy set [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della strategia (obbligatorio)-
--destination <name>Nome della destinazione all'interno della strategiaNo-
--storage <name>Nome della configurazione di storage (credenziali rclone)No-
--cron <expression>Pianificazione cron (es. "0 * * * *" per ogni ora)No-
--mode <mode>Modalità di backup: "hot" (zero downtime) o "cold" (ferma, snapshot, riavvia)No-
--bwlimit <limit>Limite di banda rclone (es. "6M", "10M:off", "08:00,3M;22:00,10M")No-
--include <repos>Esegui il backup solo di questi repo (nomi separati da virgola)No-
--exclude <repos>Escludi questi repo dal backup (nomi separati da virgola)No-
--folder <path>Sottocartella sotto il bucket di storage per questa destinazione (es. hot, cold)No-
--enableAbilita la strategia o la destinazioneNo-
--disableDisabilita la strategia o la destinazioneNo-

remove

Rimuovi una strategia o destinazione di backup

rdc config backup-strategy remove [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della strategia (obbligatorio)-
--destination <name>Rimuovi solo questa destinazione (conserva le altre destinazioni)No-

list

Elenca tutte le strategie di backup

rdc config backup-strategy list

show

Mostra i dettagli della strategia di backup

rdc config backup-strategy show [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della strategia (mostra tutto se omesso)No-

3. Gestione del datastore

Gestione a basso livello del block storage per i datastore delle macchine (Ceph RBD o BTRFS locale). Necessario in genere solo durante la configurazione iniziale della macchina o la migrazione cross-machine. Sottocomandi principali: init (crea datastore), status (salute/utilizzo), fork (clona il datastore su un'altra macchina), unfork (ripristina da snapshot).

3.1 init

Inizializza il datastore su una macchina (loop-backed locale o Ceph RBD)

rdc datastore init [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina (dove e ospitato il datastore Ceph)-
--size <size>Dimensione del datastore (es. 5G, 50G, 100G)-
--backend <type>Tipo di backend: local (predefinito) o cephNolocal
--pool <name>Nome del pool Ceph (predefinito: dalla configurazione della macchina, o rbd)Norbd
--image <name>Nome dell'immagine Ceph RBD (predefinito: dalla configurazione della macchina tramite set-ceph)No-
--cluster <name>Nome del cluster Ceph (predefinito: ceph)Noceph
--forceForza l'inizializzazione anche se il datastore esiste gia (ATTENZIONE: riformatta lo storage)No-
--debugAbilita l'output di debugNo-

3.2 fork

Crea una copia COW locale del datastore Ceph tramite snapshot + clone RBD (< 2s). Salva i nomi snapshot/clone dall'output per l'unfork. Solo un fork per nome di destinazione; esegui unfork prima di fare un nuovo fork

rdc datastore fork [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina (dove e ospitato il datastore Ceph)-
--to <name>Suffisso del clone (crea un clone chiamato <image>-fork-<name>). Il fork rimane sulla macchina sorgente-
--cow-size <size>Dimensione del file di backing COW (predefinito: automatico, cresce su richiesta)No-
--debugAbilita l'output di debugNo-

3.3 unfork

Pulisce un fork: smonta il COW, rimuove il clone, rimuove lo snapshot

rdc datastore unfork [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina (dove e ospitato il datastore Ceph)-
--source <image>Immagine RBD originale che e stata forkata (da config set-ceph --image, es. ds-prod)-
--snapshot <name>Snapshot da rimuovere (il valore "Snapshot:" dall'output del fork, es. fork-<timestamp>)-
--dest <image>Immagine clone da rimuovere (il valore "Clone:" dall'output del fork, es. ds-prod-fork-<machine>)-
--pool <name>Nome del pool Ceph (predefinito: dalla configurazione della macchina)No-
--mount-point <path>Punto di montaggio del fork da smontare (predefinito: /mnt/rediacc)No-
--forceContinua la pulizia anche se singoli passaggi falliscono (es. smontaggio, rimozione snapshot)No-
--debugAbilita l'output di debugNo-

3.4 status

Mostra il backend, la dimensione, l'utilizzo, lo stato di montaggio e cow_mode (se in fork) del datastore

rdc datastore status [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina (dove e ospitato il datastore Ceph)-
--debugAbilita l'output di debugNo-

4. Gestione delle macchine

Ispeziona lo stato delle macchine remote: risorse di sistema, container in esecuzione, servizi systemd, repository distribuiti e diagnostica di salute. Query di sola lettura; per modificare i repository usa `repo`. Sottocomandi principali: query (stato completo con filtri --system, --containers, --repositories, --services), list, create, rename, delete, prune.

4.1 list

Elenca le macchine

rdc machine list [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
--search <text>Cerca nel campo {{field}}No-
--sort <field>Ordina per campoNo-
--descOrdina in ordine decrescenteNo-

4.2 create

Crea una nuova macchina

rdc machine create [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
-b, --bridge <name>Nome del bridgeNo-
--vault <json>Dati del vault della macchina come stringa JSONNo-

4.3 rename

Rinomina una macchina

rdc machine rename [options]
FlagDescrizioneObbligatorioPredefinito
--current-name <name>Nome attuale della risorsa-
--new-name <name>Nuovo nome della risorsa-
-t, --team <name>Nome del teamNo-

4.4 delete

Elimina una macchina

rdc machine delete [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
-f, --forceSalta le richieste di confermaNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

4.5 vault

Gestione del vault della macchina (solo adapter cloud)

rdc machine vault

4.6 vault-status

{{t:cli.commands.machine.vault-status.description}}

rdc machine vault-status [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-

4.7 update

Aggiorna la configurazione della macchina

rdc machine update

4.8 health

Controlla la salute della macchina per pipeline CI/CD

Il comando health restituisce metriche di sistema, stato dei container, stabilità dei servizi e informazioni sullo storage, utile per i gate nelle pipeline CI/CD.

rdc machine health [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-

4.9 containers

Elenca i container su una macchina con stato, salute e routing dei domini. Il JSON include i dettagli completi del container con il repository risolto al nome (originale in repository_guid), dominio e autoRoute

rdc machine containers [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
--health-checkModalita controllo salute: esce con codice 2 se ci sono container non saniNo-

4.10 services

Elenca i servizi systemd gestiti da rediacc su una macchina (nome, stato, sotto-stato, numero di riavvii, memoria, repository risolto al nome con originale in repository_guid). Usa --stability-check per uscire con codice 2 se ci sono servizi in errore o in riavvio (per CI/CD)

rdc machine services [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
--stability-checkModalita controllo stabilita: esce con codice 2 se ci sono servizi in errore/riavvioNo-

4.11 query

Mostra lo stato completo della macchina (infrastruttura, sistema, repository con nome/guid, container con repository/repository_guid/dominio/autoRoute, servizi con repository/repository_guid)

rdc machine query [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--debugAbilita l'output di debugNo-
--systemIncludi solo le informazioni di sistemaNo-
--repositoriesIncludi solo i repositoryNo-
--containersIncludi solo i containerNo-
--servicesIncludi solo i serviziNo-
--networkIncludi solo le interfacce di reteNo-
--block-devicesIncludi solo i dispositivi a blocchiNo-
--licensesIncludi gli stati delle licenze dei repositoryNo-
--storage-healthMostra la frammentazione BTRFS e i risparmi di reflink per ogni repositoryNo-
--sync-certsScarica anche la cache dei certificati ACME dalla macchina dopo la queryNo-
--strictEsci con codice non zero (codice 2) se un container ha superato la soglia di deriva di integritàNo-

4.12 vault-status

Mostra lo stato del vault analizzato per una macchina

rdc machine vault-status [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-

4.13 repos

Elenca i repository distribuiti su una macchina (nome, GUID, dimensione, stato di montaggio, stato Docker, numero di container, utilizzo disco, data di modifica, presenza del Rediaccfile). Il JSON annida container e servizi sotto ogni repository. Usa --search per filtrare per nome o GUID

rdc machine repos [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
--search <text>Filtra i repository per nomeNo-

4.14 test-connection

Testa la connessione SSH a una macchina e acquisisce la chiave host

rdc machine test-connection [options]
FlagDescrizioneObbligatorioPredefinito
--ip <address>Indirizzo IP o hostname della macchina-
--user <name>Nome utente SSH-
-t, --team <name>Nome del teamNo-
-b, --bridge <name>Nome del bridgeNo-
--port <number>Porta SSHNo22
--password <pwd>Password SSH per l'autenticazione inizialeNo-
--datastore <path>Percorso del datastore sulla macchinaNo/mnt/rediacc
-m, --machine <name>Nome della macchina (per aggiornare il vault dopo il test)No-
--saveSalva known_hosts nel vault della macchina dopo un test riuscitoNo-

Suggerimento: Usa `--save-known-hosts` per salvare automaticamente la chiave host nel vault della macchina dopo un test riuscito.

4.15 provision

Provvisiona una nuova macchina su un provider cloud usando OpenTofu

rdc machine provision [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--provider <name>Nome del provider cloud (da config provider add)-
--region <region>Sostituisci la regione predefinitaNo-
--type <type>Sostituisci il tipo di istanza predefinitoNo-
--image <image>Sostituisci l'immagine OS predefinitaNo-
--ssh-user <user>Nome utente SSH per la nuova VM (predefinito: root)No-
--base-domain <domain>Dominio base per l'infrastruttura (es. example.com). Implica --infraNo-
--no-infraSalta la configurazione dell'infrastruttura (proxy + DNS)No-
--debugAbilita l'output di debugNo-

4.16 deprovision

Distruggi una macchina provisioned nel cloud e rimuovila dalla configurazione

rdc machine deprovision [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--forceSalta la richiesta di confermaNo-
--debugAbilita l'output di debugNo-

4.17 backup

Gestione dei backup della macchina (programmazione, avvio, stato)

list

Elenca le strategie di backup associate a tutte le macchine

rdc machine backup list

schedule

Distribuisci la programmazione dei backup su una macchina remota (timer systemd)

rdc machine backup schedule [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--dry-runVisualizza le unita generate senza distribuirleNo-
--forceProcedi anche se un backup e in esecuzione (la nuova unita si applica al prossimo tick; l'invocazione in corso mantiene la vecchia unita)No-
--reset-failedCancella lo stato di errore sui servizi modificati dopo una distribuzione riuscita (disabilitato per default, preserva il segnale di errore)No-
--debugAbilita l'output di debugNo-

now

Avvia immediatamente un backup su una macchina remota

rdc machine backup now [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--strategy <name>Nome della strategia (avvia tutte se omesso)No-
--debugAbilita l'output di debugNo-

status

Mostra lo stato del backup e dei timer su una macchina remota

rdc machine backup status [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--strategy <name>Mostra i dettagli per una strategia specificaNo-
--debugAbilita l'output di debugNo-

cancel

Annulla un backup in esecuzione su una macchina remota

rdc machine backup cancel [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-
--strategy <name>Nome della strategia (annulla tutte se omesso)No-
--debugAbilita l'output di debugNo-

4.18 prune

Rimuovi risorse del datastore orfane e snapshot obsoleti da una macchina. L'esecuzione base pulisce gli artefatti interni del datastore renet (sottovolumi BTRFS, file di lock, tmpfile). Le opzioni seguenti abilitano pulizie piu precise dei repository: --orphaned-repos usa solo la configurazione CLI locale come segnale, mentre --prune-unknown consulta anche il mirror di stato .interim/renet affinche i fork legittimi creati da altri strumenti sopravvivano anche se assenti dalla configurazione locale. Entrambi i percorsi di eliminazione eseguono un controllo di sicurezza del montaggio; usa --force-delete-mounted per ignorarlo.

rdc machine prune [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--dry-runMostra cosa verrebbe rimosso senza apportare modificheNo-
--orphaned-reposElimina tutte le immagini repository sulla macchina non presenti nella configurazione CLI locale. Grossolano: rimuove anche i fork creati da altri strumenti senza voce nella configurazione locale, anche se il mirror renet li identifica correttamente come fork. Usa --prune-unknown per il comportamento piu ristretto che rispetta il mirror.No-
--prune-unknownElimina solo i repository che il mirror di stato .interim/renet non riesce a classificare (non presenti nella configurazione locale E senza mirror con marcatura fork). Strettamente piu ristretto di --orphaned-repos: i fork senza configurazione sono preservati quando il mirror li identifica. In questo bucket rientrano gli orfani legacy pre-mirror e i grand il cui record di configurazione e stato eliminato.No-
--force-delete-mountedIgnora il controllo di sicurezza del montaggio ed elimina i repository anche se sono attualmente montati o hanno container Docker in esecuzione. Distinto da --force (che ignora solo il periodo di grazia dell'archivio). Si applica sia a --orphaned-repos sia a --prune-unknown.No-
--forceSalta le richieste di confermaNo-
--grace-days <days>Periodo di grazia in giorni per i repo archiviati di recente (predefinito: 7)No-
--debugAbilita l'output di debugNo-

5. Server MCP

Espone la CLI come server Model Context Protocol (MCP) per l'integrazione con agenti AI. Il server racchiude i comandi CLI come strumenti MCP con input/output JSON strutturato. Sottocomando principale: serve (avvia il server MCP basato su stdio).

5.1 serve

Avvia il server MCP (trasporto stdio)

rdc mcp serve [options]
FlagDescrizioneObbligatorioPredefinito
--config <name>Nome della configurazione da usare per tutti i comandiNo-
--timeout <ms>Timeout predefinito dei comandi in millisecondiNo120000
--allow-grandConsenti operazioni distruttive sui repository grand (non fork). Predefinito: solo modalita forkNo-

6. Ciclo di vita del repository

Distribuisci e gestisci repository cifrati sui macchinari. Sottocomandi principali: create, up (distribuisci), down (ferma), fork (clone CoW istantaneo), delete, push/pull (backup), sync (trasferimento file). Ciclo di vita: repo create → repo up --mount → repo down. Consulta Concetti Chiave in rdc --help per architettura, routing e variabili d'ambiente.

6.1 mount

Monta un repository (decifra e apre il contenitore LUKS, rendendo il filesystem accessibile). Necessario al primo deploy, dopo 'repo push' su un nuovo macchinario, o dopo 'repo unmount'. Si può fare anche con 'repo up --mount'. Il volume rimane montato finché non viene smontato esplicitamente. Ometti il nome per montare tutti i repo sul macchinario.

rdc repo mount [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--checkpointRipristina il checkpoint del contenitore CRIU dopo il mount (riprende i processi dallo stato di memoria salvato). Usato dopo 'repo push --checkpoint' per la migrazione live.No-
--no-dockerNon avviare il daemon Docker dopo il mountNo-
--parallelAvvia i repository in modo concorrenteNo-
--concurrency <n>Numero massimo di repository concorrenti (predefinito: 3)No3
-y, --yesSalta la conferma per le operazioni in batchNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.2 unmount

Smonta un repository (chiude il contenitore LUKS, distaccando il filesystem cifrato). I servizi devono essere fermati prima ('repo down'). Dopo lo smontaggio, i dati del repo non sono accessibili finché non viene rimontato. Obbligatorio prima di 'repo resize'. Ometti il nome per smontare tutti i repo sul macchinario.

rdc repo unmount [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--checkpointCrea un checkpoint del contenitore CRIU prima dello smontaggio (cattura lo stato in memoria dei processi in esecuzione per un ripristino successivo)No-
--parallelAvvia i repository in modo concorrenteNo-
--concurrency <n>Numero massimo di repository concorrenti (predefinito: 3)No3
-y, --yesSalta la conferma per le operazioni in batchNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.3 up

Distribuisce o aggiorna un repository (mount, esegue Rediaccfile up che chiama renet compose). Le route proxy impiegano circa 3s per diventare attive dopo il deploy. Al termine stampa il pattern URL per i servizi esposti via HTTP (label rediacc.service_port). Usa --mount per il primo deploy o per i repo forked. Il ripristino del checkpoint CRIU è rilevato automaticamente: usa --skip-checkpoint per forzare un avvio pulito. Ometti il nome per distribuire tutti i repo sul macchinario.

rdc repo up [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--skip-checkpointIgnora il ripristino del checkpoint CRIU anche se i dati del checkpoint esistono (forza avvio pulito)No-
--tlsRichiedi un certificato TLS dedicato per questo repo (i fork usano il certificato condiviso del macchinario per impostazione predefinita)No-
--include-forksMonta e avvia anche i repository forkedNo-
--mount-onlySolo mount, non avviare i serviziNo-
--parallelAvvia i repository in modo concorrenteNo-
--concurrency <n>Numero massimo di repository concorrenti (predefinito: 3)No3
-y, --yesSalta la conferma per le operazioni in batchNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

6.4 up-all

Distribuisce tutti i repository su un macchinario

rdc repo up-all

6.5 down

Ferma i contenitori Docker del repository (esegue Rediaccfile down tramite renet compose). NON smonta il volume cifrato: il repo rimane montato e può essere riavviato con 'repo up'. Usa --unmount per chiudere anche il contenitore LUKS dopo l'arresto. Usa --checkpoint per salvare lo stato del processo CRIU prima dell'arresto (il successivo 'repo up' lo ripristina automaticamente). Ometti il nome per fermare tutti i repo sul macchinario.

rdc repo down [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--unmountSmonta (chiude il contenitore LUKS) anche dopo l'arresto. Equivale a 'repo down' poi 'repo unmount'. Obbligatorio prima di 'repo resize' o per proteggere completamente il volume.No-
--checkpointCrea un checkpoint CRIU prima dell'arresto (salva lo stato in memoria dei processi per un ripristino successivo tramite 'repo up')No-
-y, --yesSalta la conferma per le operazioni in batchNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

6.6 status

Ottieni lo stato del repository (stato del mount, daemon Docker in esecuzione, numero di contenitori, utilizzo del disco)

rdc repo status [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.7 list

Elenca i repository su un macchinario

rdc repo list [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.8 create

Crea un nuovo repository cifrato

rdc repo create [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--size <size>Dimensione del repository (es. 10G, 100G, 1T)-
--no-dockerNon avviare il daemon Docker dopo la creazioneNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.9 delete

Elimina un repository (distrugge contenitori, volumi e immagine cifrata). La voce di configurazione viene conservata. Usa --archive-config per spostare le credenziali in deletedRepositories per un eventuale recupero tramite 'config restore-archived'.

rdc repo delete [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--archive-configSposta la voce di configurazione in deletedRepositories per un recupero successivoNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

6.10 fork

Crea un fork CoW (Copy-on-Write) di un repository. IL FORK È QUASI ISTANTANEO E A TEMPO COSTANTE indipendentemente dalla dimensione del repo: il reflink BTRFS clona l'immagine sottostante, quindi un repo da 100 GB e uno da 1 GB vengono forked nello stesso tempo (~secondi). Il fork ottiene un NUOVO GUID, networkId, intervallo IP e dominio di auto-route ({service}-fork-{tag}.{repo}.{machine}.{baseDomain}) ed è una copia completamente indipendente. Il fork online è supportato: il genitore può rimanere in esecuzione. Il fork eredita automaticamente le credenziali di cifratura del genitore. Usa --checkpoint per catturare lo stato del processo CRIU prima del fork: il fork si ripristina automaticamente al primo 'repo up' (stato in memoria preservato). FORK SU MACCHINARIO DIVERSO: per fare il fork su un altro macchinario, prima fai il fork in locale, poi trasferisci: (1) repo fork --parent <genitore> -m <sorgente> --tag <nome>, (2) backup push <nome> -m <sorgente> --to-machine <destinazione>, (3) repo up <nome> -m <destinazione> --mount. AVVISO: NON usare 'backup push' da solo per il fork: crea una copia grezza con lo STESSO GUID (non un fork indipendente). Esegui sempre prima il fork per ottenere una nuova identità. Le auto-route usano il nome del repo, quindi ogni fork ottiene un dominio univoco automaticamente.

rdc repo fork [options]
FlagDescrizioneObbligatorioPredefinito
--parent <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--tag <name>Tag per il fork (crea nome:tag)-
--checkpointCrea un checkpoint CRIU sulla sorgente prima del fork (cattura lo stato in memoria dei processi per il ripristino sul fork)No-
--upMonta e avvia i servizi dopo il fork (fork + mount + up in un unico comando)No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.11 takeover

Sostituisce i dati del repo grand con i dati di un fork. Il grand conserva la propria identità (GUID, networkId, domini, autostart, catena di backup) ma acquisisce i dati aggiornati del fork. I vecchi dati di produzione vengono conservati come fork di backup. Usalo per: testare un aggiornamento sul fork, verificarlo, poi eseguire il takeover in produzione.

rdc repo takeover [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--forceIgnora gli avvisi di modificaNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.12 resize

Ridimensiona un repository offline (supporta sia la crescita che la riduzione). Il repo deve essere smontato prima ('repo down --unmount'). Per una crescita senza downtime senza fermare i servizi, usa invece 'repo expand'.

rdc repo resize [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--size <size>Nuova dimensione del repository (es. 10G, 100G, 1T)-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.13 expand

Espande un repository montato online (zero downtime, solo crescita). Aumenta il contenitore LUKS e il filesystem mentre i contenitori continuano a girare. Non può ridurre: usa 'repo resize' per questo (richiede lo smontaggio).

rdc repo expand [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--size <size>Nuova dimensione del repository (es. 10G, 100G, 1T)-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.14 validate

Verifica l'integrità del repository (contenitore LUKS, coerenza del filesystem, configurazione). Usalo dopo spegnimenti imprevisti o per verificare l'integrità di un backup.

rdc repo validate [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.15 autostart

Gestisci l'avvio automatico del repository al boot

enable

Abilita l'avvio automatico per un repository (ometti il nome per abilitare tutti)

rdc repo autostart enable [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

disable

Disabilita l'avvio automatico per un repository (ometti il nome per disabilitare tutti)

rdc repo autostart disable [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

list

Elenca i repository con avvio automatico abilitato

rdc repo autostart list [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome del macchinario di destinazione-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.16 ownership

Modifica l'UID di proprietà della directory del repository sul volume montato (predefinito: 7111). Usalo quando i contenitori necessitano di un UID specifico per accedere ai file del repo.

rdc repo ownership [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
--uid <uid>UID del proprietario (predefinito: 7111)No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.17 template

Gestisci e applica template di distribuzione (scrive docker-compose.yml, Rediaccfile e file aggiuntivi). Il Rediaccfile deve usare 'renet compose' (non 'docker compose'). Le policy di restart sono sicure (gestite automaticamente dal watchdog di renet). Renet inietta automaticamente network_mode:host, le capability CRIU e le label rediacc. Le impostazioni pericolose (privileged, pid:host) sono bloccate a meno che non si usi --unsafe. Usa 'list' per vedere i template integrati disponibili, 'apply' per distribuirne uno su un repository.

list

Elenca tutti i template di distribuzione incorporati forniti con la CLI

rdc repo template list

apply

Applica un template a un repository. Usa il nome di un template integrato (es. app-postgres) o --file per un template JSON personalizzato. Ciclo di vita del Rediaccfile: up() avvia i contenitori (scarica immagini, genera configurazioni qui), down() li ferma. Rediaccfile minimale: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. IMPORTANTE: il Rediaccfile DEVE usare 'renet compose': 'docker compose' viene rifiutato. VARIABILI D'AMBIENTE: due livelli: (a) shell Rediaccfile: ${SVCNAME_IP} (es. APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) Nei contenitori: renet inietta automaticamente le variabili d'ambiente SERVICE_IP e REDIACC_NETWORK_ID. La riscrittura bind eBPF gestisce l'isolamento IP in modo trasparente, quindi le app possono fare bind su 0.0.0.0 e il kernel riscrive sull'IP loopback corretto. Gli health check possono usare localhost. network_mode:host viene iniettato e ports: vengono ignorati. STORAGE: sia i bind mount ${REDIACC_WORKING_DIR}/... che i volumi Docker con nome sono sicuri: il data-root Docker è all'interno del mount LUKS cifrato. POLICY DI RESTART: le policy di restart sono sicure: renet le rimuove automaticamente per compatibilità CRIU e il watchdog gestisce il recupero. Compose: NON aggiungere network_mode o label rediacc.* (renet le inietta). Multi-progetto: inserisci ogni sotto-progetto nella propria sottodirectory con il proprio Rediaccfile: renet li rileva automaticamente e li esegue in ordine. Routing HTTPS: (A) Auto-route (compatibile con i fork, consigliato): NON aggiungere traefik.enable. Renet genera automaticamente https://{serviceName}.{repoName}.{machineName}.{baseDomain}. Aggiungi la label rediacc.service_port=<porta> per porte diverse da 80. Ogni fork ottiene un dominio univoco. (B) Label Traefik (dominio personalizzato, NON compatibile con i fork): traefik.enable=true, traefik.http.routers.<n>.rule=Host(`dominio`), traefik.http.routers.<n>.entrypoints=websecure,websecure-v6, traefik.http.routers.<n>.tls.certresolver=letsencrypt, traefik.http.services.<n>.loadbalancer.server.port=<porta>. Per TCP/UDP: rediacc.tcp_ports=3306 / rediacc.udp_ports=53

rdc repo template apply [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome del macchinario di destinazione-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)-
--file <path>Percorso del file JSON del template personalizzato ({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}) -- sovrascrive il nome del template integratoNo-
--grand <name>Repository delle credenziali genitore (risolve automaticamente il nome in GUID). Solo per repo che condividono segreti con un genitore.No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.18 push

Invia un repository a una destinazione remota (macchinario o storage). Ometti il nome per inviare tutti i repo. Il tipo di destinazione viene rilevato automaticamente dalla configurazione. Per il trasferimento tra macchinari, l'immagine cifrata del repo viene copiata con lo STESSO GUID: si tratta di un backup/migrazione, non di un fork. Per creare un fork indipendente, usa prima 'repo fork', poi push. Usa --up per distribuire dopo il push.

rdc repo push [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
--to <remote>Macchinario o storage di destinazione (rilevato automaticamente dalla configurazione)No-
--to-machine <machine>No-
--provision <provider>Provisioning automatico del macchinario di destinazione tramite il provider cloud se non esisteNo-
--checkpointCrea un checkpoint CRIU prima del backup (cattura lo stato in memoria dei processi per la migrazione live)No-
--forceForza la sovrascrittura del backup esistenteNo-
--upDopo il push, monta e distribuisce il repository sul macchinario di destinazioneNo-
--tag <tag>Tag di distribuzione per il versioningNo-
-m, --machine <name>Nome della macchina-
-w, --watchOsserva le modificheNo-
--parallelAvvia i repository in modo concorrenteNo-
--concurrency <n>Numero massimo di repository concorrenti (predefinito: 3)No3
-y, --yesSalta la conferma per le operazioni in batchNo-
--bwlimit <limit>Limite di banda per il trasferimento rsync (es. "6M", "10M")No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.19 pull

Scarica un repository da una sorgente remota (macchinario o storage). Ometti il nome per scaricare tutti i repo. Il tipo di sorgente viene rilevato automaticamente dalla configurazione. Usa --up per distribuire dopo il pull.

rdc repo pull [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsaNo-
--from <remote>Nome del macchinario o storage di origine (rilevato automaticamente dalla configurazione)No-
--from-machine <machine>No-
--forceForza la sovrascrittura del repository esistenteNo-
--upDopo il pull, monta e distribuisce il repository su questo macchinarioNo-
-m, --machine <name>Nome della macchina-
-w, --watchOsserva le modificheNo-
--parallelAvvia i repository in modo concorrenteNo-
--concurrency <n>Numero massimo di repository concorrenti (predefinito: 3)No3
-y, --yesSalta la conferma per le operazioni in batchNo-
--bwlimit <limit>Limite di banda per il trasferimento rsync (es. "6M", "10M")No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.20 migrate

Esegue la migrazione live di un repository da un macchinario a un altro con downtime minimo. Rsync in due fasi: trasferimento bulk durante l'esecuzione, poi breve arresto per la sincronizzazione del delta. Supporta il checkpoint CRIU per la migrazione dello stato in memoria dei processi e il provisioning automatico dei macchinari di destinazione.

rdc repo migrate [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--from <machine>Nome del macchinario di origine-
--to <machine>Nome del macchinario di destinazione-
--provision <provider>Provisioning automatico della destinazione tramite il provider cloud (es. hetzner, linode)No-
--bwlimit <limit>Limite di banda per il trasferimento rsync (es. 10M)No-
--checkpointMigrazione live CRIU: cattura e ripristina lo stato in memoria dei processiNo-
--skip-dnsIgnora il cambio dei record DNS dopo la migrazioneNo-
--debugAbilita l'output di debugNo-

6.21 backup

Gestisci i backup dei repository

list

Elenca i backup disponibili su una destinazione remota (macchinario o storage). Senza --path, le sottocartelle hot/ e cold/ vengono unite in un'unica tabella con una colonna Mode.

rdc repo backup list [options]
FlagDescrizioneObbligatorioPredefinito
--from <remote>Nome del macchinario o storage di origine (rilevato automaticamente dalla configurazione)No-
--from-machine <machine>No-
-m, --machine <name>Nome della macchina-
--path <subdir>Sottodirectory all'interno della root di storage. Se omessa, vengono elencate e unite sia hot/ che cold/.No-
-w, --watchOsserva le modificheNo-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

6.22 sync

Sincronizza repository e file (push/pull in blocco, trasferimento file)

push

Invia i repository allo storage cloud (ometti il nome per inviarli tutti)

rdc repo sync push

pull

Scarica i repository dallo storage cloud (ometti il nome per scaricarli tutti)

rdc repo sync pull

upload

Carica file in un repository tramite rsync su SSH (trasferimento delta). Usa --mirror per eliminare i file remoti in eccesso, --dry-run per l'anteprima, --exclude per escludere pattern.

rdc repo sync upload [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
-m, --machine <name>Nome della macchina-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
--local <paths...>Uno o più percorsi locali di file o directory (predefinito: directory corrente)No-
--remote <path>Percorso della sottodirectory remota nel repositoryNo-
--remote-file <path>Percorso del singolo file remoto (relativo alla radice del repo) in cui caricare. Incompatibile con --remote.No-
--mirrorModalità mirror -- elimina i file remoti non presenti in localeNo-
--verifyVerifica i file tramite checksum dopo la sincronizzazioneNo-
--confirmVisualizza l'anteprima delle modifiche e chiedi conferma prima di sincronizzareNo-
--exclude <patterns...>Pattern da escludere dalla sincronizzazioneNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

download

Scarica file da un repository tramite rsync su SSH (trasferimento delta). Usa --mirror per eliminare i file locali in eccesso, --dry-run per l'anteprima, --exclude per escludere pattern.

rdc repo sync download [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
-m, --machine <name>Nome della macchina-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
--local <path>Percorso locale della directory (predefinito: directory corrente)No-
--remote <path>Percorso della sottodirectory remota nel repositoryNo-
--remote-file <path>Percorso del file remoto nel repository (alternativa a --remote per trasferimenti di singoli file)No-
--mirrorModalità mirror -- elimina i file locali non presenti in remotoNo-
--verifyVerifica i file tramite checksum dopo la sincronizzazioneNo-
--confirmVisualizza l'anteprima delle modifiche e chiedi conferma prima di sincronizzareNo-
--exclude <patterns...>Pattern da escludere dalla sincronizzazioneNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

status

Confronto in dry-run dei file locali e remoti (mostra cosa verrebbe trasferito senza eseguire il trasferimento)

rdc repo sync status [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
-m, --machine <name>Nome della macchina-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
--local <path>Percorso locale della directory (predefinito: directory corrente)No-
--remote <path>Percorso della sottodirectory remota nel repositoryNo-
--remote-file <path>Percorso del file remoto nel repository (alternativa a --remote per trasferimenti di singoli file)No-

6.23 snapshot

Gestisci gli snapshot BTRFS sui macchinari remoti

create

Crea uno snapshot BTRFS point-in-time di un repository (istantaneo, senza downtime). Usa --snapshot-name per un nome personalizzato.

rdc repo snapshot create

list

Elenca gli snapshot BTRFS su un macchinario remoto con nome, data di creazione e dimensione

rdc repo snapshot list

delete

Elimina uno snapshot da un macchinario remoto

rdc repo snapshot delete

6.24 tunnel

Crea un tunnel SSH di port-forward verso la porta di un contenitore su un macchinario remoto. Il contenitore e la porta vengono rilevati automaticamente se non ambigui. Il tunnel rimane aperto finché non si preme Ctrl+C.

rdc repo tunnel [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchinaNo-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
-c, --container <name>Nome del contenitore (rilevato automaticamente se ne è in esecuzione solo uno)No-
--port <port>Porta del contenitore remoto da inoltrareNo-
--local <port>Porta locale (predefinita uguale alla porta remota)No-

6.25 secret

Gestisci i segreti per repo iniettati al momento del deploy. Solo in scrittura: get restituisce solo il digest (mai il testo in chiaro), set/unset richiedono la corrispondenza del digest --current o --rotate-secret. Due modalità di consegna: env (REDIACC_SECRET_<KEY>) e file (tmpfs in /var/run/rediacc/secrets/<networkId>/<KEY> tramite compose `secrets:`). I segreti non entrano mai nell'immagine LUKS cifrata; i fork non li ereditano.

get

Mostra il digest SHA-256 di un segreto. Il valore in chiaro non viene mai restituito by design (solo scrittura). Usa --current su un successivo set/unset per verificare un valore già noto, oppure ruota tramite `set --rotate-secret`.

rdc repo secret get [options]
FlagDescrizioneObbligatorioPredefinito
--name <repository>Nome del repository (es. mail, mail:staging). Senza tag, il valore predefinito è :latest.-
--key <KEY>Chiave del segreto in UPPER_SNAKE_CASE (max 64 caratteri). Verrà esposta come REDIACC_SECRET_<KEY> in modalità env o come /run/secrets/<key> nei contenitori in modalità file.-

list

Elenca le chiavi e le modalità dei segreti (mai i valori, mai i digest).

rdc repo secret list [options]
FlagDescrizioneObbligatorioPredefinito
--name <repository>Nome del repository (es. mail, mail:staging). Senza tag, il valore predefinito è :latest.-

set

Imposta o sovrascrive un segreto. I fork non ereditano i segreti: impostali esplicitamente sul fork. In contesto agente, richiede la corrispondenza del digest --current (stile passwd).

rdc repo secret set [options]
FlagDescrizioneObbligatorioPredefinito
--name <repository>Nome del repository (es. mail, mail:staging). Senza tag, il valore predefinito è :latest.-
--key <KEY>Chiave del segreto in UPPER_SNAKE_CASE (max 64 caratteri). Verrà esposta come REDIACC_SECRET_<KEY> in modalità env o come /run/secrets/<key> nei contenitori in modalità file.-
--value <value>Valore del segreto. Passa `-` per leggere da stdin (evita l'esposizione nella cronologia della shell).-
--mode <mode>Modalità di consegna: 'env' (visibile nell'env del contenitore, docker inspect) o 'file' (file tmpfs, mai nell'env). Predefinito: file.Nofile
--current <value>Valore in chiaro precedente (precondizione stile passwd). Obbligatorio per sovrascrittura/rimozione; mutuamente esclusivo con --rotate-secret.No-
--rotate-secretConferma la rotazione; ignora la precondizione --current (registrata come rotazione). Da usare quando si ruota intenzionalmente senza verificare il valore precedente.No-

unset

Elimina un segreto. In contesto agente, richiede la corrispondenza del digest --current.

rdc repo secret unset [options]
FlagDescrizioneObbligatorioPredefinito
--name <repository>Nome del repository (es. mail, mail:staging). Senza tag, il valore predefinito è :latest.-
--key <KEY>Chiave del segreto in UPPER_SNAKE_CASE (max 64 caratteri). Verrà esposta come REDIACC_SECRET_<KEY> in modalità env o come /run/secrets/<key> nei contenitori in modalità file.-
--current <value>Valore in chiaro precedente (precondizione stile passwd). Obbligatorio per sovrascrittura/rimozione; mutuamente esclusivo con --rotate-secret.No-
--rotate-secretConferma la rotazione; ignora la precondizione --current (registrata come rotazione). Da usare quando si ruota intenzionalmente senza verificare il valore precedente.No-

7. Gestione dello storage

Gestisci i provider di storage per il backup remoto (S3, compatibile con rclone). Operazioni CRUD (list, create, rename, delete), configurazione vault, navigazione dei file remoti e pulizia dei backup orfani.

7.1 list

Elenca i provider di storage

rdc storage list [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
--search <text>Cerca nel campo {{field}}No-
--sort <field>Ordina per campoNo-
--descOrdina in ordine decrescenteNo-

7.2 create

Crea un nuovo provider di storage

rdc storage create [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-

7.3 rename

Rinomina un provider di storage

rdc storage rename [options]
FlagDescrizioneObbligatorioPredefinito
--current-name <name>Nome attuale della risorsa-
--new-name <name>Nuovo nome della risorsa-
-t, --team <name>Nome del teamNo-

7.4 delete

Elimina un provider di storage

rdc storage delete [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-t, --team <name>Nome del teamNo-
-f, --forceSalta le richieste di confermaNo-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-

7.5 vault

Gestione del vault dello storage (solo adapter cloud)

rdc storage vault

7.6 browse

Naviga i file in un sistema di storage

rdc storage browse [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
--path <subpath>Percorso della sottodirectory da elencareNo

7.7 prune

Elimina i backup orfani dallo storage che non sono piu presenti in nessuna configurazione. Sicuro per configurazioni multiple con protezione del periodo di grazia. Le chiamate rclone vengono eseguite su --machine (l'esecutore), non sul tuo laptop, quindi i client non necessitano di rclone installato localmente; --machine e l'esecutore, non la fonte di verita.

rdc storage prune [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Macchina esecutore: esegue le chiamate rclone list/delete sullo storage. Obbligatorio perche non si prevede che i client abbiano rclone installato localmente; le credenziali dello storage provengono comunque dalla configurazione locale.-
--dry-runMostra cosa verrebbe fatto senza apportare modificheNo-
--forceSalta le richieste di confermaNo-
--force-delete-mountedIgnora il controllo di sicurezza del montaggio ed elimina i backup cloud anche se il GUID sorgente e attualmente montato o ha un container in esecuzione sulla macchina esecutore. Distinto da --force (che ignora solo il periodo di grazia per i repository archiviati).No-
--grace-days <days>Periodo di grazia in giorni per i repo archiviati di recente (predefinito: 7)No-
--debugAbilita l'output di debugNo-
--skip-router-restartSalta il riavvio del server di routing dopo l'aggiornamento del binarioNo-

7.8 pull

Scarica un backup dallo storage cloud su una macchina

rdc storage pull

8. Integrazione VS Code

Apri VS Code con Remote SSH su una macchina o un repository con ambiente per repository isolato. Stessa connessione SSH di `term` ma avvia VS Code invece. Sottocomandi principali: connect (o abbreviazione posizionale), list (mostra le connessioni configurate), cleanup (rimuove le voci di configurazione SSH), check (verifica l'installazione di VS Code).

8.1 connect

Connettiti a una macchina o un repository in VS Code

rdc vscode connect [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
-m, --machine <name>Nome della macchinaNo-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
-f, --folder <path>Percorso della cartella remota da aprireNo-
--url-onlyStampa l'URI di VS Code invece di avviarloNo-
-n, --new-windowApri in una nuova finestra di VS CodeNo-
--skip-env-setupSalta la configurazione dell'ambiente remotoNo-
--insidersUsa le impostazioni di VS Code InsidersNo-

8.2 list

Elenca le connessioni SSH VS Code configurate

rdc vscode list

8.3 cleanup

Rimuovi le configurazioni SSH di VS Code

rdc vscode cleanup [options]
FlagDescrizioneObbligatorioPredefinito
--allRimuovi tutte le configurazioni SSH di rediaccNo-
-c, --connection <name>Rimuovi una connessione specificaNo-

8.4 check

Controlla l'installazione e la configurazione di VS Code

rdc vscode check [options]
FlagDescrizioneObbligatorioPredefinito
--insidersUsa le impostazioni di VS Code InsidersNo-

9. Accesso SSH al terminale

Apri un terminale SSH a una macchina o al contesto di un repository. Configura automaticamente DOCKER_HOST, la directory di lavoro e l'ambiente. Supporta azioni sui container tramite --container: logs, exec, stats, terminal. Usa `-c` per eseguire un singolo comando in modalita non interattiva. Per VS Code, usa `vscode`.

9.1 connect

Connettiti a una macchina o un repository tramite SSH

rdc term connect [options]
FlagDescrizioneObbligatorioPredefinito
-t, --team <name>Nome del teamNo-
-m, --machine <name>Nome della macchinaNo-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
-c, --command <cmd>Esegui un comando invece della shell interattivaNo-
--container <id>Connettiti a un container Docker specificoNo-
--container-action <action>Azione sul container: terminal, logs, stats, execNo-
--log-lines <lines>Numero di righe di log da mostrare (predefinito: 50)No-
--followSegui l'output dei logNo-
--externalForza l'apertura in una finestra di terminale esternaNo-
--reset-homeReimposta l'overlay home per-repo per un avvio pulitoNo-

10. Gestore del protocollo

Registra e gestisci gli URL del protocollo {{scheme}}://

10.1 register

Registra il gestore del protocollo nel sistema

rdc protocol register [options]
FlagDescrizioneObbligatorioPredefinito
--systemRegistra a livello di sistema (richiede privilegi di amministratore)No-
--forceForza la re-registrazione anche se già registratoNo-

10.2 unregister

Annulla la registrazione del gestore del protocollo dal sistema

rdc protocol unregister [options]
FlagDescrizioneObbligatorioPredefinito
--systemAnnulla la registrazione a livello di sistema (richiede privilegi di amministratore)No-

10.3 status

Mostra lo stato di registrazione del gestore del protocollo

rdc protocol status

10.4 open

Apri un URL {{scheme}}:// ed esegui l'azione

rdc protocol open <url>

10.5 build

Costruisci un URL {{scheme}}:// dai componenti

rdc protocol build [options]
FlagDescrizioneObbligatorioPredefinito
--token <token>Token di autenticazione-
-t, --team <name>Nome del team-
-m, --machine <name>Nome della macchina-
-r, --repository <name>Nome del repository (si connette all'ambiente del repository)No-
-a, --action <action>Azione ({{actions}})Nodesktop
-p, --params <key=value...>Parametri aggiuntiviNo-

10.6 parse

Analizza un URL {{scheme}}:// e mostra i componenti

rdc protocol parse <url>

11. Comandi rapidi (scorciatoie)

11.1 run

ATTENZIONE: Comando di basso livello per debug e sperimentazione soltanto. Non per uso in produzione. Usa i comandi di livello superiore (repo up, repo down, ecc.) in alternativa. Esegue una funzione bridge grezza su una macchina.

rdc run

11.2 trace

Traccia un task (scorciatoia per: queue trace)

rdc trace

11.3 cancel

Annulla un task (scorciatoia per: queue cancel)

rdc cancel

11.4 retry

Riprova un task in errore (scorciatoia per: queue retry)

rdc retry

12. Gestione dell'abbonamento

Gestisci le licenze e i token di abbonamento. Sottocomandi principali: login (autenticazione con il portale di abbonamento), status (mostra lo stato corrente della licenza), activation (stato degli slot macchina), repo (gestisci le licenze per repository).

12.1 login

Autentica tramite browser o token API

rdc subscription login [options]
FlagDescrizioneObbligatorioPredefinito
-t, --token <token>Token API (rdt_...)No-
--server <url>URL del server accountNo-

12.2 logout

Cancella il token di abbonamento memorizzato

rdc subscription logout

12.3 status

Mostra lo stato di abbonamento, slot macchina e licenze repository

rdc subscription status

12.4 activation

Gestione degli slot macchina

status

Mostra lo stato dello slot macchina per una macchina

rdc subscription activation status [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-

12.5 repo

Gestione delle licenze per repository

status

Mostra le licenze repository installate su una macchina

rdc subscription repo status [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-

12.6 refresh

Aggiorna le licenze repository su una macchina remota

activation

Aggiorna le licenze repository su una macchina remota

rdc subscription refresh activation [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-

repos

Aggiornamento batch delle licenze repository su una macchina remota

rdc subscription refresh repos [options]
FlagDescrizioneObbligatorioPredefinito
-m, --machine <name>Nome della macchina-

repo

Aggiorna la licenza repository per un repository specifico

rdc subscription refresh repo [options]
FlagDescrizioneObbligatorioPredefinito
--name <name>Nome della risorsa-
-m, --machine <name>Nome della macchina-

13. Aggiornamenti CLI

Controlla le nuove versioni della CLI e applica gli aggiornamenti. Supporta --check-only per verificare senza installare e --force per aggiornare anche se si e gia all'ultima versione.

rdc update [options]
FlagDescrizioneObbligatorioPredefinito
--forceForza l'aggiornamento anche se e gia aggiornatoNo-
--check-onlyControlla solo gli aggiornamenti senza scaricareNo-
--rollbackRipristina la versione precedenteNo-
--statusMostra lo stato dell'auto-aggiornamento e la diagnosticaNo-
--channel <channel>Imposta il canale di rilascio (stable o edge)No-

14. Diagnostica di sistema

Esegue controlli diagnostici sull'ambiente CLI: versione di Node.js, disponibilita del binario renet, validita del file di configurazione, stato delle chiavi SSH e connettivita di rete. Produce un report di salute strutturato con indicatori di successo/errore.

rdc doctor

15. Operazioni VM sperimentali

Provisioning e gestione locale di VM usando KVM/QEMU/Hyper-V (rilevamento automatico della piattaforma). Non per macchine remote: usa `machine` per quelle. Sottocomandi principali: up (avvia VM), down (arresta), status (elenca VM in esecuzione), ssh (connettiti alla VM), setup (installa prerequisiti), check (verifica idoneita dell'host).

15.1 up

Provisioning del cluster VM in locale

rdc ops up [options]
FlagDescrizioneObbligatorioPredefinito
--forceForza il riavvio di tutte le VMNo-
--parallelCrea le VM in paralleloNo-
--basicCluster minimale (bridge + 1 worker)No-
--liteSalta il provisioning delle VM (solo stato)No-
--skip-orchestrationSalta l'orchestrazione del clusterNo-
--backend <backend>Backend di virtualizzazione (kvm|qemu, rilevato automaticamente)No-
--os <name>Sistema operativo della VM (es. ubuntu-24.04, debian-13)No-
--debugAbilita l'output di debugNo-

15.2 down

Distruggi il cluster VM

rdc ops down [options]
FlagDescrizioneObbligatorioPredefinito
--backend <backend>Backend di virtualizzazione (kvm|qemu, rilevato automaticamente)No-
--debugAbilita l'output di debugNo-

15.3 status

Mostra lo stato del cluster VM

rdc ops status [options]
FlagDescrizioneObbligatorioPredefinito
--backend <backend>Backend di virtualizzazione (kvm|qemu, rilevato automaticamente)No-

15.4 ssh

Connettiti a una VM via SSH

rdc ops ssh [options]
FlagDescrizioneObbligatorioPredefinito
--vm-id <id>ID della macchina virtuale-
-c, --command <cmd>Esegui un comando invece della shell interattivaNo-
--backend <backend>Backend di virtualizzazione (kvm|qemu, rilevato automaticamente)No-
--user <user>Nome utente SSH per la connessione alla VMNo-

15.5 setup

Installa i prerequisiti per la virtualizzazione

rdc ops setup [options]
FlagDescrizioneObbligatorioPredefinito
--debugAbilita l'output di debugNo-

15.6 check

Verifica i prerequisiti per la virtualizzazione

rdc ops check

Messaggi di errore comuni

Quando qualcosa va storto, la CLI fornisce messaggi di errore chiari:

ErroreSignificato
Autenticazione richiesta. Esegui: rdc auth loginDevi effettuare il login prima
Nessuna config attiva. Creane una con: rdc config init --name <name>Nessuna config attiva: creane una con `rdc config init`
Permesso negatoIl tuo account non ha i permessi necessari
Nome macchina obbligatorio. Usa --machine <name>Specifica una macchina con `--machine` o imposta un valore predefinito nella config
Nome team obbligatorio. Usa --team o imposta il valore predefinito con: rdc config set --key team --value <name>Specifica un team con `--team` o imposta un valore predefinito nella config
Nome regione obbligatorio. Usa --region o imposta il valore predefinito con: rdc config set --key region --value <name>Specifica una regione con `--region` o imposta un valore predefinito nella config

Formati di output

Tutti i comandi list/get supportano più formati di output tramite `--output`:

rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table   # default

Questo semplifica l'integrazione della CLI Rediacc in script, pipeline CI/CD e flussi di automazione.