Référence CLI Rediacc
Aperçu
La **CLI Rediacc** (`rdc`) est une interface en ligne de commande pour gérer une infrastructure auto-hébergée : machines, dépôts, stockage, sauvegardes et plus encore.
Guide d'installation
Téléchargez le dernier binaire pour votre plateforme depuis la [page des versions Rediacc](https://www.rediacc.com) ou installez via votre gestionnaire de paquets :
# macOS / Linux
curl -fsSL https://www.rediacc.com | sh
# Or use the packaged binary directly
./rdc --help
Options Globales
Chaque commande prend en charge ces flags globaux :
| Option | Libellé |
|---|---|
--output | Format de sortie (table|json|yaml|csv). Remplacer la valeur par défaut avec REDIACC_DEFAULT_OUTPUT. |
--config | Utiliser une configuration spécifique pour cette commande |
--lang | Remplacement de langue ({{languages}}) |
--force | Ignorer les invites de confirmation |
1. Gestion de la Configuration
Gérer les fichiers de configuration : créer, changer, modifier, réconcilier l'état, et fonctionnalités transverses (champs, audit, clés SSH, synchronisation distante).
Les fichiers de configuration stockent les informations de connexion (URL API, identifiants, équipe/région/pont par défaut) pour basculer rapidement entre les environnements.
1.1 prune
Supprime le poids mort du fichier de configuration local dans ~/.config/rediacc/<config>.json. Trois catégories sont nettoyées, toutes purement locales (aucun appel SSH/renet) : (1) les entrées du cache de certificats ACME dont l'ancre GUID/repo/machine n'est plus dans la configuration active ; (2) les dépôts archivés dont la période de grâce a expiré (7 jours par défaut, voir defaults.pruneGraceDays) ; (3) les références croisées orphelines (machine→strategy, strategy→repo). Les ressources actives, identifiants, jetons de stockage et known-hosts ne sont jamais touchés. Le comportement par défaut applique les changements ; passez --dry-run pour prévisualiser uniquement.
rdc config prune [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Prévisualise ce qui serait supprimé sans modifier le fichier de configuration. Reflète la sémantique désactivée par défaut des autres commandes prune. | Non | - |
--certs-only | Limite au bucket du cache de certificats ACME. Ignore la purge d'archives et le nettoyage de références croisées. Mutuellement exclusif avec --archives-only et --refs-only. | Non | - |
--archives-only | Limite à la purge des archives expirées. Ignore le cache de certificats et le nettoyage de références croisées. Exclusif avec --certs-only et --refs-only. | Non | - |
--refs-only | Limite aux références croisées orphelines (machine→strategy, strategy→repo excludes/includes). Ignore le cache de certificats et les archives. Exclusif avec --certs-only et --archives-only. | Non | - |
--purge-archived | Supprimer TOUS les dépôts archivés indépendamment de leur âge, pas seulement ceux après la grâce. Équivalent à exécuter 'rdc repo admin archive purge' pour chaque dépôt archivé. À n'utiliser que si vous êtes sûr de ne plus avoir besoin des identifiants stockés pour la restauration. | Non | - |
--orphan-repos | Supprime les entrées de dépôt qui ne sont associées à aucune machine. Chaque entrée contient les identifiants et la clé SSH de ce dépôt, cette action est donc irréversible. Exécute d'abord 'rdc config reconcile' pour que l'association reflète les machines. | Non | - |
--grace-days <days> | Remplace la fenêtre de grâce d'archive (en jours) pour cette invocation. Repli sur defaults.pruneGraceDays dans la configuration, puis sur 7 si aucun n'est défini. | Non | - |
1.2 init
Créer un nouveau fichier de configuration nommé
En mode local, vous pouvez ajouter des machines directement :
rdc config init [name] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--ssh-key <path> | Chemin vers la clé privée SSH (ex. ~/.ssh/id_rsa) | Non | - |
--renet-path <path> | Chemin vers le binaire renet (par défaut : renet dans PATH) | Non | - |
--master-password <password> | Chiffrer les ressources avec un mot de passe principal | Non | - |
--server <url> | URL du serveur de compte | Non | - |
1.3 list
Lister tous les fichiers de configuration
rdc config list
1.4 show
Afficher les détails de la configuration actuelle
rdc config show [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--reveal | Afficher en clair les valeurs sensibles (mode interactif uniquement) | Non | - |
1.5 current
Afficher la configuration active : nom, fichier, serveur et canal résolus, état du jeton
rdc config current
1.6 delete
Supprimer un fichier de configuration
rdc config delete <name>
1.7 set
Définir une valeur par défaut (équipe, région, pont)
rdc config set <key> <value>
1.8 clear
Effacer les valeurs par défaut (toutes ou une clé spécifique)
rdc config clear [key]
1.9 recover
Restaurer la configuration depuis le fichier de sauvegarde (.bak)
rdc config recover [name] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
1.10 ssh
Gérer la configuration de la clé SSH
set
Définir la clé SSH pour la configuration actuelle
rdc config ssh set [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <path> | Chemin vers le fichier de clé SSH privée | Oui | - |
--embed | Intégrer le contenu de la clé dans la configuration au lieu de stocker le chemin | Non | - |
show
Afficher la configuration actuelle de la clé SSH
rdc config ssh show
remove
Supprimer la clé SSH de la configuration actuelle
rdc config ssh remove
1.11 remote
Gérer la connexion au stockage distant de configuration
enable
Lier cette configuration au stockage distant chiffré
rdc config remote enable [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--master-password | S'inscrire en mode headless avec un password slot préprovisionné (sans navigateur) | Non | - |
--master-password-stdin | Comme --master-password, mais lit le mot de passe maître sur stdin | Non | - |
--api-url <url> | URL du serveur de compte | Non | - |
--force | Remplacer le contenu local différent par la copie du serveur sans confirmation | Non | - |
--config-id <id> | Rattacher à cette configuration existante du stockage au lieu de créer une nouvelle entrée | Non | - |
disable
Déconnecter du stockage distant et sauvegarder la configuration localement
rdc config remote disable [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--local | Délier sur cet appareil uniquement, à partir de la copie en cache, sans contacter le serveur | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
status
Afficher l'état de la connexion distante
rdc config remote status
master-password
Gérer le mot de passe maître de ce membre (le password slot)
Changer le mot de passe maître : réencapsuler la clé de configuration depuis l'enrôlement de cet appareil sous un nouveau password slot
rdc config remote master-password change [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--new-master-password-stdin | Lire le nouveau mot de passe maître sur stdin (sinon REDIACC_NEW_STORE_MASTER_PASSWORD, ou une saisie dans un TTY) | Non | - |
refresh
Forcer la récupération de la configuration depuis le stockage distant
rdc config remote refresh
versions
Lister les versions antérieures de cette configuration conservées sur le serveur
rdc config remote versions [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--explain | Afficher les pointeurs JSON modifiés par chaque version, d'après les versions conservées par le serveur | Non | - |
restore
Publier une version antérieure de cette configuration comme sa version la plus récente
rdc config remote restore <version> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
1.12 field
Opérations sur les champs de configuration adressés par pointeur (get/set/unset/rotate/list). Pointeurs JSON (RFC 6901) tels que /credentials/cfDnsApiToken.
get
Lire une valeur de configuration via un pointeur JSON. Les champs sensibles sont masqués sauf avec --reveal (humains uniquement).
rdc config field get [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--pointer <pointer> | Pointeur JSON vers le champ (ex : /credentials/cfDnsApiToken) | Oui | - |
--reveal | Afficher les valeurs sensibles en clair (TTY interactif uniquement ; audité) | Non | - |
--digest | Afficher l'empreinte SHA-256 au lieu de la valeur (sûr à partager avec des agents) | Non | - |
set
Écrire une valeur de configuration à un pointeur JSON. Les chemins sensibles exigent --current (preuve de connaissance).
rdc config field set [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--pointer <pointer> | Pointeur JSON vers le champ (ex : /credentials/cfDnsApiToken) | Oui | - |
--new <value> | Nouvelle valeur (interprétée comme JSON si elle commence par {, [, ", true, false, null ou un nombre) | Oui | - |
--current <value> | Valeur actuelle en clair, requise pour modifier les chemins sensibles (preuve de connaissance) | Non | - |
unset
Supprimer une valeur de configuration à un pointeur JSON. Les chemins sensibles exigent --current.
rdc config field unset [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--pointer <pointer> | Pointeur JSON vers le champ (ex : /credentials/cfDnsApiToken) | Oui | - |
--current <value> | Valeur actuelle en clair, requise pour supprimer les chemins sensibles | Non | - |
rotate
Rotation d'une valeur sensible sans --current. TTY interactif uniquement ; audité en évidence.
rdc config field rotate [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--pointer <pointer> | Pointeur JSON vers le champ sensible (ex : /credentials/cfDnsApiToken) | Oui | - |
--new <value> | Nouvelle valeur | Oui | - |
list
Lister chaque modèle de pointeur enregistré avec son type et sa politique de commit/chiffrement.
rdc config field list [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--sensitive | Afficher uniquement les modèles sensibles (non publics) | Non | - |
1.13 edit
Ouvre la configuration active dans $EDITOR comme projection JSONC caviardée. Humains uniquement ; les agents sont refusés.
rdc config edit [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--reveal | Afficher les valeurs sensibles en clair (TTY interactif uniquement ; audité) | Non | - |
--dump | Afficher la configuration actuelle en JSONC sur stdout au lieu d'ouvrir l'éditeur (lecture seule ; sûr pour les agents si caviardé) | Non | - |
--apply <file> | Appliquer un fichier JSONC modifié (saute le lancement de $EDITOR) | Non | - |
--current-secrets <file> | Fichier JSON mappant pointeur→ancien texte en clair pour la porte de connaissance sur --apply | Non | - |
--editor <cmd> | Commande d'éditeur (suit la priorité git : --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR) | Non | - |
1.14 audit
Inspecter le journal d'audit de configuration (JSONL chaîné par hachage dans ~/.config/rediacc/audit.log.jsonl)
log
Afficher les entrées d'audit récentes au format JSON
rdc config audit log [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--since <spec> | Afficher les entrées postérieures à (ex. : '24h', '7d', horodatage ISO) | Non | - |
--path <glob> | Filtrer par motif de pointeur JSON (ex. : /credentials/*) | Non | - |
--actor <kind> | Filtrer par type d'acteur (human|agent) | Non | - |
tail
Diffuser les nouvelles entrées en temps réel (Ctrl+C pour arrêter)
rdc config audit tail
verify
Vérifier l'intégrité de la chaîne SHA-256 de toutes les entrées d'audit
rdc config audit verify
1.15 reconcile
Reconstruit l'état d'exécution à partir de la vérité des machines. Corrige les données d'attachement et de routage obsolètes.
rdc config reconcile [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--machine <m...> | Limiter la réconciliation à ces machines | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
--accept-observed | Réécrit un placement déclaré pour qu'il corresponde à l'emplacement réel de l'image, mais uniquement lorsque cela est sans ambiguïté (observé sur exactement une machine). Les doublons restent des conflits. | Non | - |
1.16 rotate-cek
Faire tourner la clé de chiffrement de la configuration de l'organisation
rdc config rotate-cek [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--api-url <url> | URL du serveur de compte | Non | - |
1.17 access
Gérer les clés d'accès de la configuration : des clés publiques SSH que la CLI écrit dans le authorized_keys d'une machine avec une restriction from= aux plages IPv4 et IPv6 déclarées. Lier une clé à une machine avec 'machine access set', puis l'appliquer avec 'machine access push'
add
Ajouter une clé d'accès, ou mettre à jour une clé existante sur place en conservant ses liaisons aux machines. Les plages indiquées ici s'appliquent à la clé sur toutes les machines, sauf si une liaison définit les siennes ; sans plages, celles de toute la configuration s'appliquent
rdc config access add <key> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--public-key <key> | Ligne de clé publique OpenSSH, ou chemin d'un fichier qui la contient | Oui | - |
--hosted-executor | Ajouter les plages de sortie observées de l'exécuteur hébergé (104.28.0.0/16 et 2a09:bac0::/29) | Non | - |
--ipv4 <cidrs> | Plages IPv4 en notation CIDR (séparées par des virgules, p. ex. 203.0.113.0/24) | Non | - |
--ipv6 <cidrs> | Plages IPv6 en notation CIDR (séparées par des virgules, p. ex. 2001:db8::/32) | Non | - |
--no-restrict | Écrire from= seul, sans les restrictions no-forwarding, no-pty et no-user-rc | Non | - |
remove
Supprimer une clé d'accès de la configuration
rdc config access remove <key>
ranges
Définir les plages source que chaque clé d'accès utilise, sauf si la clé ou sa liaison à la machine définit les siennes. Sans option, les affiche
rdc config access ranges [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--hosted-executor | Ajouter les plages de sortie observées de l'exécuteur hébergé (104.28.0.0/16 et 2a09:bac0::/29) | Non | - |
--ipv4 <cidrs> | Plages IPv4 en notation CIDR (séparées par des virgules, p. ex. 203.0.113.0/24) | Non | - |
--ipv6 <cidrs> | Plages IPv6 en notation CIDR (séparées par des virgules, p. ex. 2001:db8::/32) | Non | - |
--clear | Supprimer les plages de toute la configuration | Non | - |
list
Lister les clés d'accès de la configuration
rdc config access list
2. Gestion du stockage de données
Pools de stockage nommés qui contiennent des dépôts. Un datastore est mobile (attachez-le à une machine, déplacez-le vers une autre) et à monteur unique (une seule machine le détient à la fois). Le datastore par défaut implicite de chaque machine n'est pas géré ici.
2.1 resize
Agrandir ou réduire un datastore. Il s'agit d'une opération hors ligne : les dépôts qu'il contient doivent être arrêtés.
rdc datastore resize <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--size <size> | Nouvelle taille (par exemple 200G) | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.2 fork
Forker un datastore en copy-on-write. Le fork est instantané et son coût ne croît pas avec la taille du pool. Nécessite le backend rbd : un datastore local n'a pas de clone au niveau bloc, les dépôts qu'il contient se forkent donc un par un par reflink à la place (rdc repo fork).
rdc datastore fork <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--tag <tag> | Tag pour le fork (le résultat est name:tag) | Oui | - |
--attach-to <machine> | Attacher immédiatement le fork à cette machine (nécessite --writes) | Non | - |
--writes <disposition> | Où vont les écritures du fork : local (instantané, éphémère) ou ceph (clone durable) | Non | - |
--cow-size <size> | Taille de l'overlay pour --writes local | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.3 status
Afficher un datastore : son backend, son attachement, son utilisation, ses dépôts et ses snapshots. Un datastore détaché rapporte quand même son enregistrement.
rdc datastore status <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.4 create
Créer un datastore nommé supplémentaire sur une machine. Un backend local est un pool basé sur fichier sur cette machine et y reste. Un backend rbd vit dans Ceph, il peut donc se déplacer vers toute machine atteignant le même cluster. Passez --cluster pour en faire un datastore du monde kubernetes ; cette référence arrière est fixée à la création.
rdc datastore create <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Machine sur laquelle créer le datastore | Oui | - |
--size <size> | Taille du datastore (par exemple 100G) | Oui | - |
--backend <type> | Backend de stockage : local (basé sur fichier, reste sur cette machine) ou rbd (Ceph, déplaçable) | Non | local |
--pool <name> | Pool Ceph pour le backend rbd (par défaut : rbd) | Non | - |
--image <name> | Nom de l'image RBD pour le backend rbd (par défaut : le nom du datastore) | Non | - |
--cluster <name> | Cluster Kubernetes auquel appartient ce datastore. Défini signifie dépôts kubernetes uniquement ; non défini signifie dépôts docker uniquement. Fixé à la création. | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.5 list
Lister les datastores nommés, où ils sont attachés et ce qu'ils contiennent.
rdc datastore list [place]
2.6 attach
Attacher un datastore à une machine. Une seule machine détient un datastore à la fois, donc l'attacher ailleurs le déplace : l'ancien détenteur le libère d'abord, et un transfert échoué laisse l'attachement d'origine intact. Un fork doit indiquer où vont ses écritures.
rdc datastore attach <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <machine> | Machine à laquelle attacher le datastore | Oui | - |
--writes <disposition> | Où vont les écritures d'un fork : local (instantané, éphémère, perdu au détachement) ou ceph (clone durable dans le pool). Requis pour un fork. | Non | - |
--cow-size <size> | Taille de l'overlay pour --writes local | Non | - |
--no-auto | Ne pas rattacher automatiquement ce datastore au démarrage | Non | - |
--force | Forcer la déconnexion d'un détenteur périmé qui n'a pas libéré le datastore proprement | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.7 detach
Détacher un datastore de sa machine. Les dépôts qu'il contient s'arrêtent d'abord. Un fork attaché avec --writes local n'a nulle part où réécrire son overlay ; le détacher jette donc l'overlay et nécessite --discard.
rdc datastore detach <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--discard | Jeter un fork à écritures locales et son overlay. Les données ne sont pas récupérables. | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.8 snapshot
Prendre et lister les snapshots à un instant T d'un datastore. Un snapshot au repos ne coûte rien et c'est ce dont un fork clone.
create
Prendre un snapshot à un instant T d'un datastore. Rien ne s'arrête. L'instant est cohérent au crash près, pas cohérent au niveau applicatif : si vous avez besoin qu'une écriture précise soit DANS le snapshot, synchronisez-la d'abord.
rdc datastore snapshot create <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--snapshot <label> | Libellé du snapshot (par défaut : un horodatage UTC) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
list
Lister les snapshots d'un datastore.
rdc datastore snapshot list <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
2.9 delete
Détruire un datastore et tout ce qu'il contient. Il se détache d'abord ; s'il ne peut pas se détacher proprement, la suppression échoue plutôt que de laisser un pool monté orphelin.
rdc datastore delete <datastore> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--force | Supprimer même si des dépôts pointent encore dessus. Leurs données disparaissent avec lui. | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3. Gestion des Machines
Inspecter l'état d'une machine distante : ressources système, conteneurs en cours d'exécution, services systemd, dépôts déployés et diagnostics de santé. Requêtes en lecture seule ; pour modifier des dépôts, utilisez `repo`. Sous-commandes clés : status (état complet, filtré avec --system, --containers, --repositories, --services), health, list, add, remove, setup, prune, provision, deprovision.
3.1 list
Lister les machines
rdc machine list [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--search <text> | Rechercher dans {{field}} | Non | - |
--sort <field> | Trier par champ | Non | - |
--desc | Trier par ordre décroissant | Non | - |
3.2 health
Vérifier la santé de la machine pour les pipelines CI/CD
La commande health affiche les métriques système, l'état des conteneurs, la stabilité des services et les informations de stockage, utile pour les vérifications de pipeline CI/CD.
rdc machine health <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-t, --team <name> | Nom de l'équipe | Non | - |
3.3 provision
Provisionner une nouvelle machine chez un fournisseur cloud avec OpenTofu
rdc machine provision <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--provider <name> | Nom du fournisseur cloud (depuis machine provider add) | Oui | - |
--region <region> | Remplacer la région par défaut | Non | - |
--type <type> | Remplacer le type d'instance par défaut | Non | - |
--image <image> | Remplacer l'image OS par défaut | Non | - |
--ssh-user <user> | Nom d'utilisateur SSH pour la nouvelle VM (par défaut : root) | Non | - |
--base-domain <domain> | Domaine de base pour l'infrastructure (ex. example.com). Implique --infra | Non | - |
--no-infra | Ignorer la configuration d'infrastructure (proxy + DNS) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.4 deprovision
Détruire une machine provisionnée dans le cloud et la supprimer de la configuration
rdc machine deprovision <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Ignorer l'invite de confirmation | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.5 prune
Supprimer les ressources orphelines du datastore et les instantanés périmés d'une machine
rdc machine prune <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Afficher ce qui serait supprimé sans effectuer de modifications | Non | - |
--orphaned-repos | Supprimer chaque image de dépôt sur la machine absente de votre configuration CLI locale. Comportement grossier : supprime aussi les forks créés par d'autres outils sans entrée de configuration locale, même quand leur miroir renet les identifie correctement comme des forks. Utilisez --prune-unknown pour le comportement plus fin qui respecte le miroir. | Non | - |
--prune-unknown | Supprime uniquement les dépôts que le miroir renet .interim/state ne peut pas classer (pas dans la configuration locale ET pas de miroir marqué fork). Strictement plus restreint que --orphaned-repos : les forks sans configuration sont préservés quand le miroir les identifie. Les orphelins hérités pré-miroir et les grands obsolètes dont l'entrée de configuration a été supprimée tombent tous dans cette catégorie. | Non | - |
--force-delete-mounted | Remplace la vérification de sécurité de montage et supprime les dépôts même s'ils sont actuellement montés ou ont des conteneurs Docker en cours. Distinct de --force (qui ne remplace que la période de grâce d'archive). S'applique à la fois à --orphaned-repos et à --prune-unknown. | Non | - |
--force | Ignorer les invites de confirmation | Non | - |
--grace-days <days> | Période de grâce en jours pour les dépôts récemment archivés (par défaut : 7) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.6 converge
Redémarre un par un chaque daemon de dépôt qui tourne encore avec une ancienne disposition du runtime, pour le faire passer à l'actuelle. La CLI s'en charge seule après un envoi de renet ; à la main, la commande sert à voir le plan, reprendre une passe échouée ou, avec --policy always, redémarrer après tout changement du binaire renet.
rdc machine converge <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Afficher le plan sans rien redémarrer | Non | - |
--json | Afficher le rapport de convergence en JSON | Non | - |
--include-unknown | Redémarrer aussi les dépôts obsolètes absents de la configuration locale (leurs secrets d'environnement sont inconnus) | Non | - |
--policy <policy> | Politique de redémarrage : epoch (changements de disposition uniquement) ou always (aussi tout changement du binaire renet) | Non | epoch |
--continue-on-error | Continuer après l'échec d'un dépôt au lieu d'arrêter la passe | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.7 add
Ajouter une machine à la configuration actuelle
rdc machine add <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--ip <address> | Adresse IP ou nom d'hôte de la machine | Oui | - |
--user <username> | Nom d'utilisateur SSH | Oui | - |
--port <port> | Port SSH | Non | 22 |
3.8 infra
Gérer la configuration d'infrastructure (proxy, DNS, certificats)
cert
Gérer les certificats TLS en cache
Supprimer le cache de certificats
rdc machine infra cert clear
Télécharger et mettre en cache les certificats TLS depuis une machine
rdc machine infra cert pull <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--no-prune | Ne pas nettoyer les certificats d'ID réseau obsolètes | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
Envoyer les certificats TLS en cache vers une machine
rdc machine infra cert push <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
Afficher l'inventaire des certificats en cache
rdc machine infra cert status
push
Envoyer la configuration d'infrastructure à la machine (proxy Traefik, routeur, Cloudflare DNS). Exécutez d'abord 'machine infra set <machine>'
rdc machine infra push <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
set
Définir la configuration d'infrastructure pour une machine (spécifique à la machine : IPs, domaine, ports ; partagé : email de certificat, token DNS Cloudflare)
rdc machine infra set <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--public-ipv4 <ip> | Adresse IPv4 publique (par machine) | Non | - |
--public-ipv6 <ip> | Adresse IPv6 publique (par machine) | Non | - |
--base-domain <domain> | Domaine de base pour les applications (par machine) | Non | - |
--cert-email <email> | E-mail pour les notifications de certificats TLS (partagé entre machines) | Non | - |
--cf-dns-token <token> | Jeton Cloudflare DNS API pour le défi ACME DNS-01 (partagé entre machines) | Non | - |
--tcp-ports <ports> | Ports TCP à rediriger (séparés par des virgules, ex., 25,143,465) | Non | - |
--udp-ports <ports> | Ports UDP à rediriger (séparés par des virgules, ex., 53) | Non | - |
show
Afficher la configuration d'infrastructure pour une machine
rdc machine infra show <machine>
3.9 provider
Gérer les fournisseurs cloud pour le provisionnement automatique de machines
add
Ajouter un fournisseur cloud
rdc machine provider add <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--provider <source> | Source de fournisseur connue (ex., linode/linode, hetznercloud/hcloud) | Non | - |
--source <source> | Source personnalisée de fournisseur OpenTofu (ex., vultr/vultr) | Non | - |
--token-env <var> | Nom de la variable d'environnement qui contient le jeton d'API du fournisseur ; le jeton lui-même ne passe jamais par la ligne de commande | Oui | - |
--region <region> | Région par défaut pour les nouvelles machines | Non | - |
--type <type> | Type/taille d'instance par défaut | Non | - |
--image <image> | Image OS par défaut | Non | - |
--ssh-user <user> | Nom d'utilisateur SSH pour les nouvelles VMs (par défaut : root) | Non | - |
--resource <type> | Personnalisé : type de ressource OpenTofu pour les VMs | Non | - |
--label-attr <attr> | Personnalisé : nom d'attribut pour le libellé de la VM | Non | - |
--region-attr <attr> | Personnalisé : nom d'attribut pour la région | Non | - |
--size-attr <attr> | Personnalisé : nom d'attribut pour le type d'instance | Non | - |
--image-attr <attr> | Personnalisé : nom d'attribut pour l'image du système d'exploitation | Non | - |
--ipv4-output <attr> | Personnalisé : attribut de sortie pour l'adresse IPv4 | Non | - |
--ipv6-output <attr> | Personnalisé : attribut de sortie pour l'adresse IPv6 | Non | - |
--ssh-key-attr <attr> | Personnalisé : nom d'attribut pour les clés SSH | Non | - |
--ssh-key-format <format> | Personnalisé : format de clé SSH (inline_list ou resource_id) | Non | - |
--ssh-key-resource <type> | Personnalisé : type de ressource OpenTofu pour les clés SSH | Non | - |
list
Lister les fournisseurs cloud configurés
rdc machine provider list
remove
Supprimer la configuration d'un fournisseur cloud
rdc machine provider remove <name>
3.10 remove
Supprimer une machine de la configuration actuelle
rdc machine remove <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--force | Supprimer la machine même si des dépôts y sont placés ou si des stratégies de sauvegarde y sont liées, laissant ces références orphelines. | Non | - |
3.11 restart-services
Redémarre un par un les démons renet qui exécutent encore un binaire remplacé pour qu'ils passent au binaire installé, en vérifiant que chaque unité est active sur le nouveau binaire avant de passer à la suivante. Avec --include-docker, les superviseurs rediacc-docker-N de chaque dépôt redémarrent aussi, un dépôt à la fois, ce qui redémarre les conteneurs de ce dépôt.
rdc machine restart-services <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--include-docker | Redémarrer aussi le superviseur rediacc-docker-N de chaque dépôt (redémarre ses conteneurs) | Non | - |
--json | Afficher le rapport en JSON | Non | - |
3.12 scan-keys
Scanner les clés d'hôte SSH pour les machines de la configuration actuelle
rdc machine scan-keys [name]
3.13 setup
Provisionner une machine distante pour les dépôts (installe renet, configure Docker, datastore BTRFS). Idempotent. Requis après config machine add et avant repo create
rdc machine setup <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--datastore-path <path> | Chemin du datastore sur la machine distante | Non | /mnt/rediacc |
--datastore-size <size> | Taille du datastore (ex. : 95%, 100G) | Non | 95% |
--no-converge | Ne pas redémarrer les daemons de dépôt encore sur une ancienne disposition du runtime (équivaut à REDIACC_SKIP_RUNTIME_CONVERGE=1) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.14 status
Afficher l'état complet de la machine (système, dépôts, conteneurs, services). En lecture seule : ne met jamais à jour renet sur la machine et avertit si sa version diffère.
rdc machine status [name] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
--system | Inclure uniquement les informations système | Non | - |
--repositories | Inclure uniquement les dépôts | Non | - |
--containers | Inclure uniquement les conteneurs | Non | - |
--services | Inclure uniquement les services | Non | - |
--network | Inclure uniquement les interfaces réseau | Non | - |
--block-devices | Inclure uniquement les périphériques de bloc | Non | - |
--licenses | Inclure les statuts de licences des dépôts | Non | - |
--storage-health | Afficher la fragmentation BTRFS et les économies reflink par dépôt | Non | - |
--datastores | Afficher les datastores attachés (montage, attachement, utilisation) | Non | - |
--health-check | Mode de vérification de santé - sort avec le code 2 si des conteneurs ne sont pas sains | Non | - |
--stability-check | Mode de vérification de stabilité - sort avec le code 2 si des services échouent/redémarrent | Non | - |
--search <text> | Filtrer les dépôts par nom | Non | - |
--sync-certs | Récupère aussi le cache de certificats ACME de la machine après la requête | Non | - |
--strict | Sortir avec un code non nul (code 2) si un conteneur a dépassé le seuil de dérive de santé | Non | - |
3.15 gpu
Affiche les GPU qu'une machine peut confier aux dépôts, les périphériques CDI qu'elle propose et le dépôt qui détient chacun.
list
Liste les GPU détectés sur une machine, les noms de périphériques CDI définis par ses specs et les dépôts auxquels chaque périphérique est accordé. Pour en accorder un, utilisez 'rdc repo gpu grant'.
rdc machine gpu list <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
3.16 access
Lier les clés d'accès de la configuration à une machine et les écrire dans son authorized_keys, chacune restreinte à ses plages source
set
Lier une clé d'accès à une machine. Les plages indiquées ici remplacent celles de la clé sur cette machine uniquement. À appliquer avec 'machine access push'
rdc machine access set <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <key> | Nom de la clé d'accès (voir 'config access list') | Oui | - |
--ipv4 <cidrs> | Plages IPv4 en notation CIDR (séparées par des virgules, p. ex. 203.0.113.0/24) | Non | - |
--ipv6 <cidrs> | Plages IPv6 en notation CIDR (séparées par des virgules, p. ex. 2001:db8::/32) | Non | - |
--clear-ranges | Abandonner les plages propres à cette machine, pour que celles de la clé ou de la configuration s'appliquent | Non | - |
remove
Délier une clé d'accès d'une machine. Le prochain 'machine access push' supprime sa ligne
rdc machine access remove <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <key> | Nom de la clé d'accès (voir 'config access list') | Oui | - |
show
Afficher les clés d'accès liées à une machine et les plages auxquelles chacune correspond sur place
rdc machine access show <machine>
push
Écrire dans le authorized_keys d'une machine les clés d'accès qui lui sont liées, en reprenant une ligne existante portant la même clé, et supprimer les lignes de cette configuration pour les clés qui ne sont plus liées. Refuse une modification qui verrouillerait la propre session de rdc, et n'écrit rien si le fichier a changé pendant le push
rdc machine access push <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Afficher les modifications sans écrire | Non | - |
4. Gestion des clusters
Provisionner et gérer des clusters : des ensembles nommés de pools de nœuds (ceph, k8s-server, k8s-agent, hyperconverged) sur un réseau privé. Les membres d'un pool deviennent des machines à part entière, si bien que toutes les commandes -m fonctionnent sur eux.
4.1 create
Déclarer et provisionner un cluster : machines, pools Ceph et Kubernetes. Passez --provider et --pool pour déclarer en une étape ; un create seul provisionne un cluster déjà déclaré.
rdc cluster create <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--provider <provider> | Fournisseur : une clé cloudProviders, ou 'kvm' | Non | - |
--pool <spec...> | Spécification de pool name:role:count[:size] (role : ceph|k8s-server|k8s-agent|hyperconverged) | Non | - |
--declare-only | Enregistrer le cluster dans la configuration sans le provisionner | Non | - |
--network-cidr <cidr> | CIDR du réseau privé (ex. 10.0.0.0/24) | Non | - |
--network-primitive <primitive> | Primitive réseau (ex. vlan, vpc, network) | Non | - |
--control-node <machine> | Machine explicite pour le nœud de contrôle (par défaut : premier membre k8s-server) | Non | - |
--net-name <name> | KVM : réseau libvirt pour ce cluster (ex. renet12) | Non | - |
--net-base <prefix> | KVM : préfixe réseau, les trois premiers octets (ex. 192.168.112) | Non | - |
--net-offset <n> | KVM : décalage ajouté à l'id de chaque VM lors du calcul de son adresse | Non | - |
--control-id <n> | KVM : id de VM du nœud de contrôle et de registre (par défaut : 1) | Non | - |
--docker-registry <endpoint> | KVM : point de terminaison du registre Docker dans la VM pour ce cluster | Non | - |
--ssh-user <user> | Utilisateur SSH pour les membres provisionnés | Non | - |
--base-domain <domain> | Domaine de base pour le DNS public du cluster (hérité d'une machine voisine à défaut) | Non | - |
--control-ds-size <size> | Taille du datastore de contrôle d'ancrage (par défaut : 10G) | Non | - |
--control-ds-backend <backend> | Backend du datastore de contrôle d'ancrage : local | ceph (par défaut : ceph si le cluster a Ceph, sinon local) | Non | - |
--control-ds-pool <pool> | Pool RBD Ceph pour le datastore de contrôle d'ancrage (backend ceph) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.2 status
Liste tous les clusters, ou affiche la configuration complète d'un cluster dont le nom est donné.
rdc cluster status [cluster]
4.3 scale
Modifie le nombre de membres d'un pool (ajoute/retire des machines et fait rejoindre/évacuer des nœuds). Les pools k8s-agent sont redimensionnés sur place ; la croissance du pool ceph se fait directement via cephadm.
rdc cluster scale <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--pool <pool> | Nom du pool | Oui | - |
--count <n> | Nombre de membres souhaité | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.4 destroy
Détruit les membres provisionnés et retire le cluster ainsi que ses machines de la configuration.
rdc cluster destroy <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Ignorer la confirmation et poursuivre malgré les erreurs de destruction | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.5 kubeconfig
Récupère le kubeconfig depuis le nœud de contrôle du cluster via SSH et le met en cache localement (0600) pour kubectl.
rdc cluster kubeconfig <cluster>
4.6 fork
Clone un cluster entier, données de ses dépôts incluses, dans un nouveau cluster : copy-on-write coordonné des images du cluster et des PV, puis réécriture de l'identité des nœuds pour que le fork démarre avec de nouvelles adresses. Le cluster parent continue de tourner.
rdc cluster fork <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--tag <tag> | Tag du fork | Oui | - |
--to <dest-cluster> | Cluster de destination dont les nœuds hébergent le fork (son nœud de contrôle et ses agents ; un cluster ne peut pas forker sur ses propres machines, car deux k3s ne peuvent pas partager un namespace réseau hôte) | Oui | - |
--writes <disposition> | Mode d'écriture du fork : local (overlay dm-COW éphémère, aucune empreinte Ceph) | ceph (clone durable). Défaut : local | Non | - |
--up | Démarrer les dépôts forkés et bloquer sur l'état de santé du cluster une fois le fork démarré | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.7 migrate
Déplace un cluster entier, données de ses dépôts incluses, vers une autre machine ou un autre datacenter avec une bascule courte (pré-copie à chaud, puis arrêt-redémarrage sur la destination).
rdc cluster migrate <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <dest-cluster> | Cible | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.8 join
Adopter une machine déjà enregistrée comme nœud agent Kubernetes d'un cluster, en utilisant le même jeton de connexion dérivé de la CA que lors de l'ancrage initial et d'un nouveau rattachement.
rdc cluster join <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--cluster <name> | Cluster à rejoindre | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.9 evict
Drainer le nœud, supprimer son objet Node et effacer son appartenance au cluster. Le cluster est déduit de la machine ; une machine qui monte encore un datastore est refusée.
rdc cluster evict <machine> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Ignorer le drainage lorsque le nœud est déjà hors service | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.10 rehearse
Répéter une release ou une mise à niveau : forker le cluster vers une destination comme fork éphémère et jetable (writes=local, role=rehearsal, sans secrets), le démarrer, bloquer sur son état de santé, puis le jeter. Le cluster parent n'est jamais touché.
rdc cluster rehearse <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--on <dest-cluster> | Cluster de destination sur lequel démarrer la répétition jetable | Oui | - |
--tag <tag> | Tag optionnel pour le fork de répétition (par défaut : horodaté) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
4.11 snapshot
Snapshots à un instant T de tout le cluster. Un instant cohérent au crash près sur chaque datastore adossé à rbd que possède le cluster, pris via le group snapshot de Ceph : rien ne s'arrête et le cluster ne le remarque jamais. Les datastores à backend local n'ont pas de primitive de groupe au niveau bloc, ils tombent donc hors de cet instant et sont signalés comme tels. L'instant est cohérent au crash près, pas cohérent au niveau applicatif : si vous avez besoin qu'une écriture précise soit DANS le snapshot, synchronisez-la d'abord.
create
Prend un snapshot de chaque datastore adossé à rbd dans le cluster à UN seul instant. Rien n'est arrêté. Tout datastore à backend local dans le cluster est signalé comme hors de cet instant : il ne fait pas partie du snapshot. L'instant est cohérent au crash près, pas cohérent au niveau applicatif : si vous avez besoin qu'une écriture précise soit DANS le snapshot, synchronisez-la d'abord.
rdc cluster snapshot create <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--snapshot <label> | Libellé du snapshot (par défaut : un horodatage UTC) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
list
Lister les group snapshots du cluster.
rdc cluster snapshot list <cluster> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
5. Serveur MCP
Serveur Model Context Protocol pour les agents IA
5.1 serve
Démarrer le serveur MCP (transport stdio)
rdc mcp serve [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--config <name> | Nom de la configuration à utiliser pour toutes les commandes | Non | - |
--timeout <ms> | Délai d'expiration par défaut des commandes en millisecondes | Non | 120000 |
6. Cycle de vie des dépôts
Déployer et gérer des dépôts chiffrés sur les machines. Sous-commandes clés : create, up (déployer), down (arrêter), fork (clone CoW instantané), delete, push/pull (sauvegarde), sync (transfert de fichiers). Cycle de vie : repo create → repo up → repo down. Consultez Concepts clés dans rdc --help pour l'architecture, le routage et le détail des variables d'environnement.
6.1 up
Déployer ou mettre à jour un dépôt (montage, exécution de Rediaccfile up qui appelle renet compose). La machine est dérivée du placement de la réf. Les routes du proxy prennent ~3s pour devenir actives après le déploiement. Affiche le motif d'URL pour les services exposés en HTTP (label rediacc.service_port) à la fin. Le premier déploiement et les forks sont montés automatiquement. La restauration du checkpoint CRIU est détectée automatiquement ; utilisez --skip-checkpoint pour forcer un démarrage propre. Utilisez --all --machine <m> pour déployer tous les dépôts d'une machine.
rdc repo up [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--no-start | Monter et préparer le dépôt sans exécuter ses étapes up() (fusionne l'ancien 'repo mount' ; ouverture LUKS et, pour les dépôts de cluster, génération des PV). | Non | - |
--skip-checkpoint | Ignorer la restauration du checkpoint CRIU même si des données de checkpoint existent (forcer un démarrage propre) | Non | - |
--tls | Demander un certificat TLS dédié pour ce dépôt (les forks utilisent le certificat partagé de la machine par défaut) | Non | - |
--no-wait | Rendre la main dès que les conteneurs sont démarrés ; les healthchecks continuent en arrière-plan | Non | - |
--all | Déployer tous les dépôts dont la machine d'origine est --machine (forme par lots) | Non | - |
-m, --machine <name> | Avec --all : la machine dont les dépôts sont concernés par l'opération par lots | Non | - |
--include-forks | Également monter/démarrer les dépôts forkés | Non | - |
--parallel | Démarrer les dépôts simultanément | Non | - |
--concurrency <n> | Nombre maximum de dépôts simultanés (par défaut : 3) | Non | 3 |
-y, --yes | Passer la confirmation pour les opérations par lots | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
6.2 down
Arrêter les conteneurs Docker du dépôt (exécute Rediaccfile down via renet compose). La machine est dérivée du placement de la réf. Ne démonte PAS le volume chiffré : le dépôt reste monté et peut être redémarré avec 'repo up'. Utilisez --unmount pour aussi fermer le conteneur LUKS après l'arrêt (fusionne l'ancien 'repo unmount'). Utilisez --checkpoint pour sauvegarder l'état du processus CRIU avant l'arrêt (le prochain 'repo up' le restaure automatiquement). Utilisez --all --machine <m> pour arrêter tous les dépôts d'une machine.
rdc repo down [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--unmount | Aussi démonter (fermer le conteneur LUKS) après l'arrêt. Requis avant 'repo resize' ou pour sécuriser complètement le volume | Non | - |
--checkpoint | Créer un checkpoint CRIU avant l'arrêt (sauvegarder l'état mémoire des processus pour restauration ultérieure via 'repo up') | Non | - |
--all | Arrêter tous les dépôts dont la machine d'origine est --machine (forme par lots) | Non | - |
-m, --machine <name> | Avec --all : la machine dont les dépôts sont concernés par l'opération par lots | Non | - |
--parallel | Démarrer les dépôts simultanément | Non | - |
--concurrency <n> | Nombre maximum de dépôts simultanés (par défaut : 3) | Non | 3 |
-y, --yes | Passer la confirmation pour les opérations par lots | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
6.3 status
Obtenir le statut du dépôt
rdc repo status <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.4 cat
Lire une fenêtre bornée d'un fichier dans un dépôt et l'écrire sur stdout (borné côté serveur ; les diagnostics vont sur stderr)
rdc repo cat <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--remote-file <path> | Chemin du fichier à lire, relatif à la racine de montage du dépôt | Oui | - |
--max-bytes <n> | Nombre maximum d'octets à lire et afficher (défaut 1 MiB, plafond absolu 50 MiB) | Non | - |
--offset <n> | Décalage en octets à partir duquel commencer la lecture | Non | - |
--head <lines> | N'afficher que les N premières lignes (incompatible avec une plage d'octets) | Non | - |
--tail <lines> | N'afficher que les N dernières lignes (incompatible avec une plage d'octets) | Non | - |
--stat | N'afficher que la taille, le type et la date de modification ; ne pas lire le contenu | Non | - |
--force-binary | Autoriser la lecture de contenu binaire (contenant NUL) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.5 diff
Diff fichier-par-fichier façon git entre deux dépôts forkés en copy-on-write. Signale les fichiers ajoutés, modifiés, supprimés et renommés. Compare le dépôt donné par le <ref> positionnel (côté cible/nouveau) à son parent, résolu depuis la configuration locale, ou à un dépôt --base explicite (côté base/ancien). Métadonnées uniquement et indépendant de la taille : compare les images LUKS chiffrées au niveau bloc sans les déchiffrer, donc un dépôt de 1 Go et un de 100 Go sont comparés en les mêmes millisecondes.
rdc repo diff <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--base <ref> | Dépôt avec lequel comparer (côté base/ancien) ; par défaut le parent de <ref> | Non | - |
--name-only | Afficher uniquement les chemins de fichiers modifiés, un par ligne (sans lettres de statut) | Non | - |
--stat | Afficher la magnitude de changement par fichier (deltas en octets et blocs) et les totaux | Non | - |
--content [path] | Afficher un diff textuel unifié pour un seul fichier (nécessite un chemin de fichier) | Non | - |
--fast | Faire confiance au filtre de blocs ; sauter la confirmation par hash de contenu (peut sur-signaler Modifié) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.6 list
Lister les dépôts sur une machine
rdc repo list [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Non | - |
--datastore <name> | Lister les dépôts de ce datastore (résolu vers la machine qui le détient actuellement) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.7 create
Créer un nouveau dépôt. Indiquez sa machine d'origine une fois : une machine ou un datastore.
rdc repo create <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Non | - |
--datastore <name> | Datastore nommé qui héberge le dépôt (répartition docker, ou la forme cluster) | Non | - |
--size <size> | Taille du dépôt (ex. 10G, 100G, 1T) | Non | - |
--no-docker | Ne pas démarrer le démon Docker après la création | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.8 delete
Supprimer un dépôt et ses données. L'entrée de configuration d'un fork est déplacée vers deletedRepositories, ce qui libère le nom et garde le GUID récupérable via 'repo admin archive restore' ; celle d'un dépôt grand ou d'un dépôt poussé vers d'autres machines est conservée, sauf si --archive-config est passé. Prend une <ref> positionnelle ; un nom seul se résout vers la ligne grand et est refusé quand plusieurs dépôts partagent le même nom de base : passez name:tag pour cibler un fork.
rdc repo delete <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--archive-config | Déplacer l'entrée de configuration vers deletedRepositories pour récupération ultérieure | Non | - |
--purge-backups | Supprimer aussi maintenant les sauvegardes cloud du dépôt, au lieu de les laisser expirer | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
6.9 commit
Fige l'état actuel d'un fork de travail monté dans un nouveau commit immuable (à la manière de git). Le commit enregistre son message, son auteur, son horodatage et son parent dans le volume (afin qu'il voyage lors du push) et il est marqué en lecture seule, il refuse donc d'être monté. Le fork de travail reste inchangé, comme git qui laisse l'arbre de travail intact. Récupérez une copie modifiable d'un commit avec 'rdc repo checkout'.
rdc repo commit <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--message <msg> | Message du commit | Oui | - |
--author <author> | Auteur du commit | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.10 branch
Crée une réf de branch nommée pointant sur le commit actuel du fork de travail (son sommet). Les réfs de branch sont stockées dans la configuration CLI (machine = magasin d'objets, config = magasin de réfs).
rdc repo branch <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--branch <branch> | Nom de la nouvelle branche | Oui | - |
6.11 checkout
Clone par reflink un commit immuable (ou le sommet d'une branch) dans un nouveau fork de travail modifiable et fait pointer HEAD dessus. Quasi instantané et en temps constant (reflink BTRFS).
rdc repo checkout <commit-or-branch-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--tag <name> | Nom du nouveau fork de travail modifiable | Oui | - |
--from <workingFork> | Résoudre le paramètre positionnel <commit-or-branch-ref> comme nom de branche sur ce working fork | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.12 log
Affiche l'historique des commits accessibles depuis le commit actuel d'un fork de travail (ou une référence de commit), en parcourant la chaîne de parents enregistrée par 'rdc repo commit'. Lit le miroir hors volume, donc aucun commit n'est déverrouillé.
rdc repo log <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.13 merge
Fusionne (merge) un commit source ou un fork dans un fork de travail cible. La cible active n'est jamais modifiée sur place : le résultat est construit dans un clone reflink puis permuté de manière atomique. Une cible montée ou en cours d'exécution est refusée, sauf avec --force, qui la met d'abord proprement au repos. Sans --resolve, il s'agit d'un take-theirs sur l'image entière (la cible devient la source) ; avec --resolve ours|theirs, il s'agit d'une fusion à trois sources (three-way) par fichier face à l'ancêtre commun, prenant les modifications uniques de chaque côté et résolvant les conflits bilatéraux selon le drapeau.
rdc repo merge <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--from <source> | Commit ou fork source à partir duquel fusionner (merge) | Oui | - |
--force | Mettre d'abord au repos une cible montée/en cours d'exécution, puis fusionner (merge) (ne modifie jamais un montage actif) | Non | - |
| `—resolve <ours | theirs>` | Résolution de conflit par fichier pour une fusion à trois sources : 'ours' conserve la version de la cible, 'theirs' prend celle de la source. Omettez pour un fast-forward sur l'image entière (take-theirs). | Non |
--base <guid> | GUID du commit ancêtre commun pour une fusion à trois sources (utilisé avec --resolve). Par défaut, le parent du commit source ou le commit actuel de la cible. | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.14 gc
Supprime les objets de commit immuables d'une machine qu'aucune branche ni HEAD n'atteint (GC par accessibilité). La machine est le magasin d'objets ; la configuration CLI est le magasin de références. À blanc par défaut : passez --apply pour supprimer. Ne touche jamais à un objet monté ni à un fork de travail.
rdc repo gc [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
--apply | Supprimer réellement les commits inaccessibles (aperçu à blanc par défaut) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.15 fork
Créer un fork CoW (Copy-on-Write) d'un dépôt. LE FORK EST QUASI INSTANTANÉ ET EN TEMPS CONSTANT quelle que soit la taille du dépôt, le reflink BTRFS clone l'image sous-jacente, si bien qu'un dépôt de 100 Go et un dépôt de 1 Go forkent dans les mêmes ~secondes. Le fork obtient un NOUVEAU GUID, networkId, une nouvelle plage IP et un domaine auto-route ({service}-fork-{tag}.{repo}.{machine}.{baseDomain}), et constitue une copie totalement indépendante. Le fork en ligne est pris en charge, le parent peut continuer de tourner. Le fork hérite automatiquement des identifiants de chiffrement du parent. Utilisez --checkpoint pour capturer l'état du processus CRIU avant le fork ; le fork se restaure automatiquement au premier 'repo up' (l'état en mémoire est préservé). FORK INTER-MACHINES : forkez d'abord localement, puis transférez : (1) rdc repo fork <parent-ref> --tag <name>, (2) rdc repo push <fork-ref> --to <target-machine>, (3) rdc backup restore <fork-ref> --as <fork-name> -m <target-machine> --up. ATTENTION : n'utilisez PAS "repo push" seul pour forker, cela crée une copie brute avec le MÊME GUID (pas un fork indépendant). Forkez toujours d'abord pour obtenir une nouvelle identité. Les auto-routes utilisent le nom du dépôt, chaque fork obtient donc automatiquement un domaine unique.
rdc repo fork <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--tag <name> | Tag pour le fork (crée nom:tag) | Oui | - |
--checkpoint | Créer un checkpoint CRIU sur la source avant le fork (capturer l'état mémoire des processus pour restauration sur le fork) | Non | - |
--immutable | Marque le fork en lecture seule : il refuse le montage et conserve son image stable au niveau des octets pour toujours (un commit/une base figé pour le push delta entre machines) | Non | - |
--up | Monter et démarrer les services après le fork (fork + mount + up en une seule commande) | Non | - |
--no-wait | Avec --up : rend la main dès que les conteneurs sont démarrés ; les healthchecks continuent en arrière-plan (idéal pour les forks jetables) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.16 replicate
Crée N répliques de lecture d'un dépôt en quelques secondes, quelle que soit la taille de la base de données. Prend UN snapshot de datastore, puis effectue N fork-attaches en temps constant (copy-on-write, écritures locales jetables) répartis sur les nœuds du cluster, et applique un overlay généré : un PersistentVolume épinglé par réplique, un StatefulSet, et deux Services ({repo}-rw vers le primaire, {repo}-ro sur l'ensemble des répliques). Les répliques sont des copies à un instant T : aucun flux de réplication, aucune lecture de ses propres écritures ; chaque réplique effectue une passe de récupération après incident avant de servir. Actualisez-les avec 'repo replicate refresh'. Les ensembles de répliques sont un état géré : voir 'repo replicate status' et supprimez avec 'repo replicate remove'.
status
Afficher les ensembles de répliques gérés : répliques, nœuds d'hébergement, datastores de fork, snapshot et horodatages de rafraîchissement.
rdc repo replicate status <ref>
remove
Supprimer un ensemble de répliques : supprimer ses objets k8s générés (limité par labels), abandonner ses datastores de fork, supprimer son snapshot et oublier l'état. Les étapes d'infra sont best-effort, de sorte que la suppression converge même sur un cluster partiellement disparu.
rdc repo replicate remove <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
refresh
Faire basculer chaque réplique, UNE à la fois, vers un nouveau snapshot à un instant T : redémarrer le pod de la réplique, abandonner puis reforker son datastore sous le même chemin, et laisser la vérification de disponibilité (readiness) la réadmettre. N-1 répliques continuent de servir pendant ce temps.
rdc repo replicate refresh <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.17 canary
Faire tourner une NOUVELLE image à côté de la stable et répartir le trafic en direct entre les deux selon un pourcentage (échelon 2 de l'échelle de release). Crée un Deployment + Service canary sur les MÊMES données en production (pas de fork : les utilisateurs du canary sur des données forkées liraient des données obsolètes et écriraient dans une copie vouée à l'échec) et indique au proxy Rediacc de router le pourcentage donné du trafic du nom d'hôte stable vers lui. Un poids de 0 laisse le canary invisible ; un poids de 100 correspond au basculement blue/green. Avant chaque changement de canary, un snapshot de groupe automatique des datastores du cluster est pris (échelon 0 de l'échelle de release) comme annulation universelle. La compatibilité de schéma entre les deux versions (expand-contract) relève de la responsabilité de l'application. Pour les releases qui CASSENT le schéma, utilisez plutôt le blue/green : forkez le dépôt (instantané, données incluses), pointez le Service du fork ici avec un poids de 100, puis effectuez un rollback en redémarrant le parent intact ; les écritures effectuées après le basculement n'existent que dans la nouvelle copie, la fenêtre de rollback est donc une décision de politique.
status
Afficher les ensembles canary gérés : poids, images, Service stable et le dernier snapshot d'annulation de release.
rdc repo canary status <ref>
weight
Modifier le pourcentage de trafic routé vers un canary. Prend d'abord un nouveau snapshot de groupe d'annulation de release, puis réapplique l'overlay ; le proxy prend en compte la nouvelle répartition à son prochain cycle de rafraîchissement. Un poids de 100 envoie tout le trafic vers la nouvelle version (le basculement blue/green).
rdc repo canary weight <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--weight <percent> | Pourcentage de trafic routé vers le canary (entier 0-100 ; 0 = invisible, 100 = bascule complète) | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
remove
Supprimer le Deployment et le Service d'un canary (limité par labels) ; le Service stable sert à nouveau 100 %. Les snapshots d'annulation de release sont conservés ; nettoyez-les avec les commandes de snapshot du datastore.
rdc repo canary remove <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
create
Faire tourner une NOUVELLE image à côté de la stable et lui envoyer un pourcentage du trafic en direct. Le canary partage les données en production du dépôt (pas de fork), la compatibilité de schéma entre les deux versions relève donc de la responsabilité de l'application. Un snapshot de groupe des datastores du cluster est pris d'abord, comme annulation.
rdc repo canary create <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--image <image> | Nouvelle image exécutée par le Deployment du canary (sur les données de production partagées) | Oui | - |
--port <port> | Port sur lequel l'application écoute (doit correspondre au Service stable) | Oui | - |
--weight <percent> | Pourcentage de trafic routé vers le canary (entier 0-100 ; 0 = invisible, 100 = bascule complète) | Oui | - |
--service <name> | Service stable avec lequel répartir le trafic (par défaut : le nom du dépôt) | Non | - |
--replicas <n> | Nombre de répliques du Deployment canary (par défaut : 1) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.18 resize
Redimensionner un dépôt hors ligne (supporte l'expansion et la réduction)
rdc repo resize <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--size <size> | Nouvelle taille du dépôt (ex. 10G, 100G, 1T) | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.19 expand
Étendre un dépôt monté en ligne (sans interruption)
rdc repo expand <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--size <size> | Nouvelle taille du dépôt (ex. 10G, 100G, 1T) | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.20 trim
Récupère l'espace du pool de datastore depuis les dépôts montés (en ligne, sans interruption). Les blocs supprimés dans les dépôts sont rendus au pool via fstrim. Sans réf, traite tous les dépôts montés sur -m ainsi que le datastore lui-même. fstrim est ignoré pour les dépôts en cours de sauvegarde ; la récupération --docker s'exécute quand même
rdc repo trim [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--docker | Libérer l'espace Docker (conteneurs arrêtés, images orphelines, cache de build) ; s'exécute même pendant un instantané de sauvegarde actif | Non | - |
--docker-volumes | Supprimer également les volumes Docker inutilisés | Non | - |
--report-only | Afficher l'état des discards et l'estimation récupérable sans rien modifier | Non | - |
-m, --machine <name> | Nom de la machine cible | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.21 prune
Classe le stockage Docker d'un dépôt et le récupère : images inutilisées, cache de build, conteneurs arrêtés et répertoires overlay2 que ni image ni conteneur ne référence. Simulation sans --apply. --apply récupère l'espace par l'API Docker, dépôt en ligne ; --apply --offline arrête en plus le démon Docker du dépôt pendant l'exécution et met les répertoires orphelins en quarantaine. Sans réf, analyse tous les dépôts montés sur -m (simulation uniquement)
rdc repo prune [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--apply | Récupérer l'espace ; sans cette option, l'exécution se limite au rapport | Non | - |
--offline | Arrêter le démon Docker du dépôt et mettre les répertoires orphelins en quarantaine (nécessite --apply) | Non | - |
--all-images | Supprimer aussi les images étiquetées qu'aucun conteneur n'utilise | Non | - |
--no-trim | Ignorer le fstrim après la récupération | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
-m, --machine <name> | Nom de la machine cible | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.22 policy
Gère la politique de taille automatique appliquée par le mainteneur de stockage de la machine : agrandit le quota d'un dépôt en ligne quand il se remplit (jamais au-delà de max-quota, jamais quand le pool est bas) et lance des trims planifiés. Il n'y a pas de réduction automatique ; utilisez 'repo resize' pour cela. Sans réf, la politique par défaut à l'échelle de la machine sur -m est visée
set
Définit des champs de la politique de taille. Seuls les drapeaux passés sont modifiés ; les autres champs conservent leurs valeurs. Activer l'auto-agrandissement exige --max-quota : le plafond est votre consentement explicite au surprovisionnement du pool
rdc repo policy set [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--auto-grow <bool> | Activer l'agrandissement automatique du quota en ligne (true/false) | Non | - |
--max-quota <size> | Plafond de l'auto-agrandissement (ex. 200G) ; requis pour l'auto-agrandissement | Non | - |
--grow-threshold <percent> | % d'occupation du système de fichiers déclenchant un agrandissement (défaut 85) | Non | - |
--grow-step <step> | Croissance par étape : absolue (10G) ou pourcentage du quota (20%) | Non | - |
--auto-trim <bool> | Activer le trim planifié (true/false) | Non | - |
--trim-interval <hours> | Heures minimales entre trims automatiques (défaut 24) | Non | - |
-m, --machine <name> | Nom de la machine cible | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
get
Affiche le défaut machine enregistré, la surcharge du dépôt (avec une réf), et la politique effective fusionnée appliquée par le mainteneur
rdc repo policy get [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.23 push
Pousser un dépôt vers une autre machine. Les destinations de stockage sont retirées ; utilisez `rdc backup snapshot` pour une sauvegarde ponctuelle. Pour un transfert machine à machine, l'image chiffrée du dépôt est copiée avec le MÊME GUID : c'est une sauvegarde ou une migration, pas un fork. Pour créer un fork indépendant, utilisez d'abord 'repo fork', puis push. Une copie poussée atterrit comme un ARTEFACT de sauvegarde : démarrez-le sur la cible avec 'backup restore <ref> --as <name> -m <target> --up'
rdc repo push <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <remote> | Nom de la machine de destination (détecté automatiquement depuis la configuration) | Non | - |
--to-machine <machine> | — | Non | - |
--provision <provider> | Provisionner automatiquement la machine cible via le fournisseur cloud si elle n'existe pas | Non | - |
--checkpoint | Créer un checkpoint CRIU avant la sauvegarde (capture l'état de la mémoire des processus pour la migration à chaud) | Non | - |
--force | Forcer l'écrasement de la sauvegarde existante | Non | - |
--bwlimit <limit> | Plafond de transfert : octets par seconde, unités décimales (12.5M = 12,5 Mo/s), binaires (12Mi) ou bits (100Mbps). Sans valeur, aucun plafond | Non | - |
--delta-base <guid> | GUID de base immuable présent à l'identique sur les deux machines ; ne transférer que les blocs modifiés (cible machine). Omettre pour une base automatique sans intervention | Non | - |
--strategy <strategy> | Stratégie de delta par blocs lors de l'utilisation d'une base de delta : auto, physical ou shared | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.24 pull
Tirer un dépôt depuis une autre machine. Les sources de stockage sont retirées ; utilisez `rdc backup restore` pour une restauration ponctuelle. Le type de source est détecté automatiquement depuis la configuration. Utilisez --up pour déployer après le pull
rdc repo pull <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--from <remote> | Nom de la machine source (détecté automatiquement depuis la configuration) | Non | - |
--from-machine <machine> | — | Non | - |
--force | Forcer l'écrasement du dépôt existant | Non | - |
--up | Après le pull, monter et déployer le dépôt sur cette machine | Non | - |
--bwlimit <limit> | Plafond de transfert : octets par seconde, unités décimales (12.5M = 12,5 Mo/s), binaires (12Mi) ou bits (100Mbps). Sans valeur, aucun plafond | Non | - |
--delta-base <guid> | GUID de base immuable présent à l'identique sur les deux machines ; ne recevoir que les blocs modifiés (source machine) | Non | - |
--strategy <strategy> | Stratégie de delta par blocs lors de l'utilisation d'une base de delta : auto, physical ou shared | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.25 migrate
Migrer à chaud un dépôt d'une machine à une autre avec un temps d'arrêt minimal. rsync en deux phases : transfert en masse pendant le fonctionnement, puis brève pause pour la synchronisation delta. Déplace tout le dépôt (le routage est repointé vers le nouvel emplacement) et, une fois le déplacement réussi, supprime les images source (utilisez --keep-source pour les conserver). Prend en charge le checkpoint CRIU pour la migration de l'état mémoire des processus et l'auto-provisionnement des machines cibles
rdc repo migrate <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <place> | Machine ou cluster de destination | Oui | - |
--provision <provider> | Provisionnement automatique de la cible via un fournisseur cloud (ex : hetzner, linode) | Non | - |
--bwlimit <limit> | Plafond de transfert : octets par seconde, unités décimales (12.5M = 12,5 Mo/s), binaires (12Mi) ou bits (100Mbps). Sans valeur, aucun plafond | Non | - |
--checkpoint | Migration en direct CRIU : capturer et restaurer l'état de la mémoire des processus | Non | - |
--delta-base <guid> | GUID de base immuable pour le delta de bascule (avancé ; par défaut, la base de la phase 1) | Non | - |
--strategy <strategy> | Stratégie de delta par blocs pour la bascule : auto, physical ou shared | Non | - |
--skip-dns | Ignorer le changement des enregistrements DNS après la migration | Non | - |
--keep-source | Conserver les images source après un déplacement réussi (elles sont supprimées par défaut ; les copies restantes ne sont adressables par aucun enregistrement de configuration et reconcile les signale comme égarées) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.26 sync
Synchroniser les dépôts et fichiers (push/pull en masse, transfert de fichiers)
upload
Envoyer des fichiers vers un dépôt
rdc repo sync upload <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--local <paths...> | Un ou plusieurs chemins locaux de fichier ou de répertoire (par défaut : répertoire actuel) | Non | - |
--remote <path> | Chemin du sous-répertoire distant dans le dépôt | Non | - |
--remote-file <path> | Chemin unique d'un fichier distant (relatif à la racine du dépôt) comme cible du téléversement. Mutuellement exclusif avec --remote. | Non | - |
--mirror | Mode miroir - supprimer les fichiers distants non présents localement | Non | - |
--verify | Vérifier les fichiers à l'aide de sommes de contrôle après synchronisation | Non | - |
--confirm | Aperçu des modifications et demande de confirmation avant synchronisation | Non | - |
--exclude <patterns...> | Motifs à exclure de la synchronisation | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
download
Télécharger des fichiers depuis un dépôt
rdc repo sync download <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--local <path> | Chemin du répertoire local (par défaut : répertoire actuel) | Non | - |
--remote <path> | Chemin du sous-répertoire distant dans le dépôt | Non | - |
--remote-file <path> | Chemin d'un fichier distant dans le dépôt (alternative à --remote pour les transferts de fichier unique) | Non | - |
--mirror | Mode miroir - supprimer les fichiers locaux non présents à distance | Non | - |
--verify | Vérifier les fichiers à l'aide de sommes de contrôle après synchronisation | Non | - |
--confirm | Aperçu des modifications et demande de confirmation avant synchronisation | Non | - |
--exclude <patterns...> | Motifs à exclure de la synchronisation | Non | - |
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
status
Vérifier l'état de synchronisation et comparer les fichiers locaux/distants
rdc repo sync status <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--local <path> | Chemin du répertoire local (par défaut : répertoire actuel) | Non | - |
--remote <path> | Chemin du sous-répertoire distant dans le dépôt | Non | - |
--remote-file <path> | Chemin d'un fichier distant dans le dépôt (alternative à --remote pour les transferts de fichier unique) | Non | - |
6.27 tunnel
Créer un tunnel SSH de redirection de port vers le port d'un conteneur sur une machine distante. Détecte automatiquement le conteneur et le port lorsqu'il n'y a pas d'ambiguïté. Le tunnel reste ouvert jusqu'à ce que vous appuyiez sur Ctrl+C
rdc repo tunnel <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-c, --container <name> | Nom du conteneur (détecté automatiquement s'il n'y en a qu'un en cours d'exécution) | Non | - |
--port <port> | Port du conteneur distant à rediriger | Non | - |
--local <port> | Port local (par défaut identique au port distant) | Non | - |
--url-only | Afficher uniquement l'URL locale lorsque le tunnel est prêt (lisible par les scripts) | Non | - |
6.28 secret
Gérer les secrets par dépôt injectés au déploiement. Écriture seule : get ne renvoie que le digest (jamais la valeur en clair), set/unset exigent une correspondance de digest --current ou --rotate-secret. Deux modes de livraison : env (REDIACC_SECRET_<KEY>) et file (tmpfs à /var/run/rediacc/net-<networkId>/secrets/<KEY> via `secrets:` du compose). Les secrets n'entrent jamais dans l'image LUKS chiffrée ; les forks n'en héritent aucun.
get
Afficher le digest SHA-256 d'un secret. La valeur en clair n'est jamais renvoyée, par conception (écriture seule). Utilisez --current lors d'un set/unset ultérieur pour vérifier une valeur que vous connaissez déjà, ou effectuez une rotation via `set --rotate-secret`.
rdc repo secret get <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <KEY> | Clé secrète en UPPER_SNAKE_CASE (max 64 caractères). Sera exposée comme REDIACC_SECRET_<KEY> pour le mode env ou /run/secrets/<key> dans les conteneurs pour le mode file. | Oui | - |
list
Liste les clés et modes de secret (jamais les valeurs, jamais les digests).
rdc repo secret list <ref>
set
Définir ou écraser un secret. Les forks n'héritent pas ; définissez explicitement sur le fork. Dans un contexte d'agent, nécessite une correspondance de digest --current (style passwd).
rdc repo secret set <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <KEY> | Clé secrète en UPPER_SNAKE_CASE (max 64 caractères). Sera exposée comme REDIACC_SECRET_<KEY> pour le mode env ou /run/secrets/<key> dans les conteneurs pour le mode file. | Oui | - |
--value <value> | Valeur du secret. Passez `-` pour lire depuis stdin (évite l'exposition dans l'historique du shell). | Oui | - |
--mode <mode> | Mode de livraison : 'env' (visible dans l'environnement du conteneur, docker inspect) ou 'file' (fichier tmpfs, jamais dans env). Défaut : file. | Non | file |
--current <value> | Valeur en clair précédente (précondition de type passwd). Requise pour l'écrasement/la suppression ; mutuellement exclusive avec --rotate-secret. | Non | - |
--rotate-secret | Reconnaître la rotation ; ignorer la précondition --current (audité comme rotation). À utiliser lors d'une rotation intentionnelle sans vérifier la valeur précédente. | Non | - |
unset
Supprime un secret. Dans un contexte d'agent, nécessite une correspondance de digest --current.
rdc repo secret unset <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--key <KEY> | Clé secrète en UPPER_SNAKE_CASE (max 64 caractères). Sera exposée comme REDIACC_SECRET_<KEY> pour le mode env ou /run/secrets/<key> dans les conteneurs pour le mode file. | Oui | - |
--current <value> | Valeur en clair précédente (précondition de type passwd). Requise pour l'écrasement/la suppression ; mutuellement exclusive avec --rotate-secret. | Non | - |
--rotate-secret | Reconnaître la rotation ; ignorer la précondition --current (audité comme rotation). À utiliser lors d'une rotation intentionnelle sans vérifier la valeur précédente. | Non | - |
6.29 admin
Commandes d'administration et de maintenance des dépôts.
archive
Gestion comptable des enregistrements de dépôts archivés.
Lister les identifiants de dépôts archivés
rdc repo admin archive list
Supprimer définitivement tous les identifiants archivés
rdc repo admin archive purge [name] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
Restaurer un identifiant de dépôt archivé
rdc repo admin archive restore <name> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--new-name <name> | Nouveau nom de la ressource | Non | - |
validate
Valider l'intégrité du dépôt
rdc repo admin validate <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
fsck
Valide les références (branches, HEAD) de la configuration CLI par rapport aux objets réellement présents sur une machine. Signale les références cassées (une référence pointant vers un objet manquant) et les commits orphelins (un commit immuable qu'aucune référence n'atteint). Lecture seule.
rdc repo admin fsck [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
ownership
Changer la propriété du répertoire du dépôt
rdc repo admin ownership <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--uid <uid> | UID du propriétaire (par défaut : 7111) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
autostart
Gérer le démarrage automatique des dépôts au démarrage
Activer le démarrage automatique pour un dépôt
rdc repo admin autostart enable [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
Désactiver le démarrage automatique pour un dépôt
rdc repo admin autostart disable [ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
Lister les dépôts avec le démarrage automatique activé
rdc repo admin autostart list [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
template
Appliquer un modèle à un dépôt
Lister tous les modèles de déploiement intégrés à la CLI
rdc repo admin template list
Applique un modèle à un dépôt. Utilisez un nom de modèle intégré (par ex. app-postgres) ou --file pour un modèle JSON personnalisé. Cycle de vie du Rediaccfile : up() démarre les conteneurs (pull des images, génération des configurations ici), down() les arrête. Rediaccfile minimal : up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. IMPORTANT : le Rediaccfile DOIT utiliser 'renet compose' : 'docker compose' est rejeté. VARIABLES D'ENVIRONNEMENT : deux niveaux : (a) shell du Rediaccfile : ${SVCNAME_IP} (par ex. APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) à l'intérieur des conteneurs : renet injecte automatiquement les variables d'environnement SERVICE_IP et REDIACC_NETWORK_ID. La réécriture bind eBPF gère l'isolation IP de façon transparente, les applications peuvent donc se lier à 0.0.0.0 et le noyau la réécrit vers la bonne IP loopback. Les health checks peuvent utiliser localhost. network_mode:host est injecté et ports: est ignoré. STOCKAGE : les bind-mounts ${REDIACC_WORKING_DIR}/... et les volumes Docker nommés sont tous deux sûrs : la racine des données Docker se trouve dans le montage LUKS chiffré. POLITIQUE DE REDÉMARRAGE : les politiques de redémarrage sont sûres : renet les retire automatiquement pour la compatibilité CRIU et le watchdog gère la récupération. Compose : n'ajoutez PAS de network_mode ni de labels rediacc.* (renet les injecte). Multi-projet : placez chaque sous-projet dans son propre sous-répertoire avec son propre Rediaccfile : renet les découvre et les exécute automatiquement dans l'ordre. Routage HTTPS : (A) Auto-route (compatible fork, recommandé) : n'ajoutez PAS traefik.enable. Renet génère automatiquement https://{serviceName}.{repoName}.{machineName}.{baseDomain}. Ajoutez le label rediacc.service_port=<port> pour les ports différents de 80. Chaque fork obtient un domaine unique. (B) Labels Traefik (domaine personnalisé, PAS compatible fork) : traefik.enable=true, traefik.http.routers.<n>.rule=Host(`domain`), traefik.http.routers.<n>.entrypoints=websecure,websecure-v6, traefik.http.routers.<n>.tls.certresolver=letsencrypt, traefik.http.services.<n>.loadbalancer.server.port=<port>. Pour TCP/UDP : rediacc.tcp_ports=3306 / rediacc.udp_ports=53
rdc repo admin template apply <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--template <name> | Modèle à appliquer | Oui | - |
--file <path> | Chemin vers un fichier JSON de modèle personnalisé ({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}) : remplace le nom du modèle intégré | Non | - |
--grand <name> | Nom du grand dépôt (résolution automatique vers le GUID) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.30 promote
Remplacer les données du dépôt principal par les données d'un fork. Le principal conserve son identité (GUID, networkId, domaines, démarrage automatique, chaîne de sauvegardes) mais obtient les données mises à jour du fork. Les anciennes données de production sont conservées comme fork de sauvegarde. Utilisation : tester la mise à niveau sur le fork → vérifier → prise de contrôle en production.
rdc repo promote <fork-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
--skip-router-restart | Ne pas redémarrer le serveur de routes après la mise à jour du binaire | Non | - |
6.31 logs
Afficher les journaux applicatifs des conteneurs d'un dépôt. Les dépôts docker lisent depuis le démon Docker propre au dépôt ; les dépôts kubernetes lisent les journaux des pods dans le namespace du dépôt. Si le dépôt fait tourner plusieurs conteneurs, nommez celui voulu avec --container.
rdc repo logs <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-c, --container <name> | Conteneur à lire (nécessaire seulement si le dépôt en fait tourner plusieurs) | Non | - |
-f, --follow | Continuer à diffuser les nouvelles lignes jusqu'à interruption | Non | - |
--lines <n> | Nombre de lignes d'historique à afficher (par défaut : 100) | Non | 100 |
--timestamps | Préfixer chaque ligne de son horodatage | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.32 exec
Exécuter une commande à l'intérieur d'un conteneur de dépôt. Le code de sortie propre de la commande est transmis tel quel, ce qui fonctionne donc dans les scripts et les conditions. Les dépôts docker l'exécutent via le démon Docker du dépôt ; les dépôts kubernetes l'exécutent dans le namespace du dépôt.
rdc repo exec <ref> <cmd...> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-c, --container <name> | Conteneur dans lequel exécuter (nécessaire seulement si le dépôt en fait tourner plusieurs) | Non | - |
-i, --interactive | Allouer un terminal (pour une commande qui en attend un) | Non | - |
-u, --user <user> | Utilisateur sous lequel exécuter la commande | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
6.33 gpu
Accorde à un dépôt un périphérique CDI (par exemple nvidia.com/gpu=all) pour que ses conteneurs puissent le demander, ou le retire à nouveau. La machine applique l'autorisation ; une autorisation exclusive réserve le périphérique à un seul dépôt.
grant
Autorise les conteneurs du dépôt à demander un périphérique CDI. Les noms viennent de 'rdc machine gpu list'.
rdc repo gpu grant <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--device <cdi-name> | Nom CDI complet du périphérique (p. ex. nvidia.com/gpu=all) | Oui | - |
--exclusive | Réserver le périphérique à ce dépôt : aucun autre dépôt ne peut l'obtenir entre-temps | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
revoke
Retire un périphérique CDI aux conteneurs du dépôt. Les conteneurs qui le détiennent déjà le gardent jusqu'à leur redémarrage.
rdc repo gpu revoke <ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--device <cdi-name> | Nom CDI complet du périphérique (p. ex. nvidia.com/gpu=all) | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
7. Jobs détachés
Gérer les jobs détachés sur une machine : les lister, vérifier leur statut, rejouer ou suivre leurs journaux d'événements, en annuler un, ou nettoyer ceux qui sont terminés. Un job détaché s'exécute sous systemd sur la machine : il survit donc à une perte de connexion et peut être réattaché plus tard.
7.1 list
Lister les jobs détachés sur une machine, du plus récent au plus ancien
rdc job list [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible (à omettre pour lister les tickets de jobs en attente de cette configuration) | Non | - |
7.2 status
Afficher le statut d'un job détaché
rdc job status <job-id> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible (facultatif quand cette configuration détient un ticket pour le job) | Non | - |
7.3 logs
Rejouer ou suivre le journal d'événements d'un job détaché
rdc job logs <job-id> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible (facultatif quand cette configuration détient un ticket pour le job) | Non | - |
-f, --follow | Suivre le flux jusqu'à la fin du job | Non | - |
--since-line <n> | Reprendre après ce nombre de lignes (le nombre déjà reçu) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
7.4 cancel
Annuler un job détaché en cours d'exécution
rdc job cancel <job-id> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible (facultatif quand cette configuration détient un ticket pour le job) | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
7.5 gc
Supprimer les jobs terminés et leurs journaux
rdc job gc [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
--older-than <duration> | Nettoyer les jobs terminés il y a plus longtemps que cette valeur, en heures (par défaut : 168) | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
7.6 wait
Reprendre le suivi d'un job à partir de son ticket, puis l'acquitter et quitter avec le code de sortie du job
rdc job wait <job-id> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible (facultatif quand cette configuration détient un ticket pour le job) | Non | - |
--timeout <duration> | Cesser d'attendre après cette durée (30s, 5m, 2h ; un nombre seul compte en secondes). Le job continue de s'exécuter. | Non | - |
8. Sauvegarde et restauration
Gérer les stratégies de sauvegarde, leurs exécutions planifiées et les artefacts qu'elles produisent : déclarez une stratégie pour un dépôt, exécutez-la ou restaurez-la à la demande, et inspectez les archives qu'elle a écrites sur un point de terminaison de stockage.
8.1 browse
Liste les fichiers d'un dépôt. Par défaut, il s'agit d'un parcours local en lecture seule de l'image du dépôt : sans serveur de compte ni réseau. Un dépôt chiffré doit être monté, ou avoir son fichier de clé déployé, avant de pouvoir être ouvert ; browse le signale au lieu de ne rien lister. Avec --at <date|instantané>, il liste à la place la liste de fichiers enregistrée avec un instantané du magasin de blocs, sans le restaurer.
rdc backup browse <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--path <subdir> | Limiter le listage à ce sous-arbre | Non | - |
--depth <n> | Limiter la descente à N niveaux (0 pour illimité) | Non | - |
--limit <n> | Nombre maximal d'entrées à renvoyer (0 pour illimité) | Non | - |
| `—at <time | snapshot>` | Lister l'instantané pris à cette date ou avant, ou cet identifiant d'instantané (lit le magasin de blocs) | Non |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.2 cancel
Annuler une sauvegarde en cours sur une machine distante
rdc backup cancel [strategy] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.3 list
Lister les artefacts de sauvegarde sur une machine.
rdc backup list [artifact-ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Non | - |
--path <subdir> | Limiter le listage à un sous-répertoire ; omettre pour lister tout le datastore | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.4 manifests
Lister les manifestes d'instantanés de sauvegarde enregistrés sur le serveur
rdc backup manifests [repo-ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--limit <n> | Lignes par page (500 par défaut et au maximum) | Non | - |
--before <cursor> | Curseur de page d'une liste précédente (nextBefore) | Non | - |
--include-deleted | Inclure les instantanés dont la suppression différée est en attente | Non | - |
8.5 restore
Transformer un artefact de sauvegarde en dépôt actif. Le placement est indiqué ici.
rdc backup restore <artifact-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--as <name> | Nom du dépôt restauré (par défaut : le nom de l'artefact) | Non | - |
-m, --machine <name> | Nom de la machine | Non | - |
--datastore <name> | Restaurer dans ce datastore nommé (sa machine attachée l'héberge) | Non | - |
--at <time> | Restaurer à un instant donné : un identifiant d'instantané ou une heure RFC3339 (restauration depuis le stockage fragmenté) | Non | - |
--any-stream | Avec --at, tient aussi compte des instantanés écrits par d'autres machines et des forks de cette lignée (par défaut : seulement ce dépôt sur sa machine source) | Non | - |
--no-seed | Récupérer chaque fragment depuis le magasin au lieu de réutiliser les ancres locales ou les images du dépôt (prouve que le magasin est lisible) | Non | - |
--allow-unopenable | Placer l'image même si la phrase secrète du dépôt ne l'ouvre pas (snapshot antérieur à un changement de phrase secrète) | Non | - |
--salvage | Continuer malgré les chunks perdus ou corrompus et laisser leurs cellules comme des trous (nécessite --as) | Non | - |
--path <file-or-dir> | Restaurer uniquement ce fichier ou ce dossier depuis l'instantané, sans restaurer tout le dépôt (nécessite --at) | Non | - |
--to <dir> | Dossier dans lequel placer le chemin restauré (par défaut : le dossier de restauration de la machine pour cet instantané) | Non | - |
--up | Déployer le dépôt restauré après le transfert | Non | - |
--health-window <seconds> | Fenêtre totale du health-gate en secondes (par défaut 300) | Non | - |
--health-timeout <seconds> | Délai d'expiration par tentative de healthcheck en secondes (par défaut 30) | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.6 retention
Afficher la politique de rétention des instantanés appliquée par le serveur.
clear
Supprimer la politique déclarée, afin que la valeur par défaut du forfait ou du serveur s'applique de nouveau.
rdc backup retention clear <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--stream <id> | Appliquer à ce seul flux de sauvegarde (un identifiant de flux) ; sans lui, la valeur par défaut de tout le dépôt s'applique | Non | - |
set
Indiquez le nombre d'instantanés à conserver. Chaque paramètre est remplacé, jamais fusionné.
rdc backup retention set <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--keep-last <n> | Conserver ce nombre des instantanés les plus récents | Non | - |
--keep-hourly <n> | Conserver l'instantané le plus récent de chacune de ces heures | Non | - |
--keep-daily <n> | Conserver l'instantané le plus récent de chacun de ces jours | Non | - |
--keep-weekly <n> | Conserver l'instantané le plus récent de chacune de ces semaines | Non | - |
--keep-monthly <n> | Conserver l'instantané le plus récent de chacun de ces mois | Non | - |
--keep-yearly <n> | Conserver l'instantané le plus récent de chacune de ces années | Non | - |
--keep-within <duration> | Conserver chaque instantané dans cette durée avant le plus récent, p. ex. 24h | Non | - |
--stream <id> | Appliquer à ce seul flux de sauvegarde (un identifiant de flux) ; sans lui, la valeur par défaut de tout le dépôt s'applique | Non | - |
preview
Affiche les instantanés que le prochain nettoyage supprimerait et l'espace libéré.
rdc backup retention preview <repo-ref>
8.7 run
Déclencher une sauvegarde immédiatement sur une machine distante
rdc backup run [strategy] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.8 schedule
Déployer la planification de sauvegarde sur une machine distante (minuteries systemd)
rdc backup schedule [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Oui | - |
--dry-run | Prévisualiser les unités générées sans déployer | Non | - |
--force | Continuer même si une sauvegarde est en cours (la nouvelle unité s'applique au prochain tick du minuteur ; l'invocation en cours conserve son ancienne unité) | Non | - |
--reset-failed | Effacer l'état d'échec des services modifiés après un déploiement réussi (désactivé par défaut, préserve le signal d'échec) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.9 snapshot
Envoyer un instantané vers le stockage fragmenté : inventaire complet d'abord, cellules modifiées ensuite
rdc backup snapshot <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--reseed | Ne pas faire confiance à l'ancre locale et renvoyer un inventaire complet (renvoie tout et recharge le quota) | Non | - |
--dry-run | Planifier seulement : aucun envoi. Indique ce qui serait déplacé | Non | - |
--cold | Arrête les conteneurs, fige, redémarre, puis téléverse. Coûte une brève coupure réelle en échange d'un instantané cohérent au niveau applicatif ; incompatible avec --dry-run | Non | - |
--accept-identity-change | Prendre cette image comme nouvelle référence quand son identité LUKS a changé ou qu'elle a rétréci ; envoie un snapshot complet | Non | - |
--bwlimit <rate> | Plafond d'envoi : octets par seconde, unités décimales (12.5M = 12,5 Mo/s), binaires (12Mi) ou bits (100Mbps). Sans valeur, aucun plafond | Non | - |
--parallelism <n> | Nombre de blocs envoyés en parallèle (4 par défaut) | Non | - |
--read-bwlimit <rate> | Plafond de lecture pour le hachage et la lecture des cellules : mêmes unités que --bwlimit ; 50M par défaut, 0 = illimité | Non | - |
--hash-parallelism <n> | Nombre de cellules hachées en parallèle (1 par défaut ; 0 = une par CPU, jusqu'à 16) | Non | - |
--cpu-limit <percent> | Plafond CPU de ce snapshot : pourcentage de l'ensemble des cœurs, 1-100 (50 par défaut ; 100 = aucun plafond) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.10 status
Afficher l'état de sauvegarde et l'état du minuteur sur une machine distante
rdc backup status [strategy] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Oui | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.11 strategy
Gérer les stratégies de sauvegarde nommées (modes chaud/froid, destinations, planification)
set
Créer ou mettre à jour une stratégie de sauvegarde
rdc backup strategy set <strategy> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--destination <name> | Nom de la destination au sein de la stratégie. Crée une destination de stockage fragmenté Rediacc | Non | - |
--cron <expression> | Planification cron (ex. "0 * * * *" pour toutes les heures) | Non | - |
--mode <mode> | Mode de sauvegarde : "hot" prend le snapshot pendant que tout continue de tourner, "cold" arrête les conteneurs le temps de prendre le snapshot | Non | - |
--bwlimit <limit> | Limite de bande passante en envoi, en octets par seconde, avec un suffixe K/M/G facultatif (ex. "6M", "500K") | Non | - |
--read-bwlimit <limit> | Plafond de lecture pour les snapshots de cette stratégie : mêmes unités que --bwlimit ; none le supprime | Non | - |
--cpu-limit <percent> | Plafond CPU des snapshots de cette stratégie : pourcentage de l'ensemble des cœurs, 1-100 (50 par défaut) ; none le supprime | Non | - |
--include <repos> | Sauvegarder uniquement ces repos (noms séparés par des virgules) | Non | - |
--exclude <repos> | Exclure ces repos de la sauvegarde (noms séparés par des virgules) | Non | - |
--retention <spec> | Rétention des instantanés, par exemple last=7,daily=7,weekly=4,monthly=6 (« none » la retire) | Non | - |
--rpo <duration> | Objectif de protection déclaré, par exemple 15m (au moins 5m ; none le retire) | Non | - |
--repo-rpo <ref=duration> | Objectif par dépôt sous la forme <ref>=<durée>, répétable (none le retire) ; name:* désigne la famille | Non | - |
--repo-cell-size <ref=size> | Taille de cellule par dépôt sous la forme <ref>=<taille>, répétable. Un changement réinitialise le dépôt | Non | - |
--no-estimate | Ignorer l'estimation de variation et de coût | Non | - |
--dry-run | Afficher ce qui changerait sans rien écrire | Non | - |
--enable | Activer la stratégie ou la destination | Non | - |
--disable | Désactiver la stratégie ou la destination | Non | - |
bind
Associer une stratégie de sauvegarde à une machine pour y déployer sa planification
rdc backup strategy bind <strategy> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
unbind
Dissocier une stratégie de sauvegarde d'une machine
rdc backup strategy unbind <strategy> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine cible | Oui | - |
remove
Supprimer une stratégie de sauvegarde ou une destination
rdc backup strategy remove <strategy> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--destination <name> | Supprimer uniquement cette destination (conserve les autres destinations) | Non | - |
--unbind | Retirer aussi la stratégie de chaque machine qui la lie | Non | - |
list
Lister toutes les stratégies de sauvegarde
rdc backup strategy list
show
Afficher les détails de la stratégie de sauvegarde
rdc backup strategy show [strategy]
8.12 reconcile
Remet le registre des octets stockés d'un dépôt à ce que le magasin contient réellement (ne supprime jamais un fragment)
rdc backup reconcile [repo-ref] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Afficher les chiffres sans modifier le registre | Non | - |
--check | Simulation qui se termine par le code 1 si le registre diffère du magasin | Non | - |
8.13 usage
Afficher le quota de stockage des sauvegardes, les octets stockés et l'usage par dépôt
rdc backup usage
8.14 verify
Vérifier l'ancre de sauvegarde d'un dépôt par rapport au stockage fragmenté
rdc backup verify <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--deep | Recalculer le hachage de chaque cellule enregistrée (vérification complète) plutôt qu'un contrôle par échantillonnage | Non | - |
--store | Faire recalculer par le serveur le hachage de chaque bloc stocké de ce dépôt et signaler les blocs manquants ou corrompus | Non | - |
--restore-test | Restaurer le snapshot de l'ancre sous un nom jetable directement depuis le stockage, le comparer à l'ancre, enregistrer le résultat et supprimer la copie | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.15 snapshots
Gérer les instantanés stockés
delete
Supprime un instantané stocké. Ses données exclusives sont libérées au prochain ramasse-miettes.
rdc backup snapshots delete <repo-ref> <snapshot-id>
8.16 download
Copie des images de dépôt d'une machine vers un répertoire local ou un disque externe. Chaque exécution prend un instantané neuf, conservé uniquement le temps de la session, met la copie locale à jour sur place par delta rsync, reprend après une interruption et vérifie le résultat par sha256.
rdc backup download [refs...] [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <dir> | Répertoire existant et accessible en écriture qui reçoit <machine>/<name>.<tag>.img (jamais créé) | Oui | - |
--all | Copier tous les dépôts grand de la machine indiquée par -m | Non | - |
-m, --machine <name> | Nom de la machine | Non | - |
--include-forks | Avec --all, copier aussi les forks | Non | - |
--bwlimit <rate> | Plafond de bande passante réseau, par exemple 100Mbps ou 12.5M (par défaut : illimité) | Non | - |
--checkpoint | Faire un checkpoint et geler le dépôt avant l'instantané (sauvegarde à chaud) | Non | - |
--retries <n> | Nouvelles tentatives pendant l'exécution après une panne réseau (par défaut : 3) | Non | - |
--skip-verify | Ignorer la comparaison sha256 après rsync ; la somme de contrôle propre à rsync s'exécute toujours | Non | - |
--skip-space-check | Avertir au lieu de refuser quand la cible n'a peut-être pas assez d'espace libre | Non | - |
--store | Reconstruit l'image chiffrée directement depuis le magasin de sauvegardes, sans machine. Requiert un jeton d'API avec la portée backup:read + backup:restore dans REDIACC_TOKEN | Non | - |
| `—at <time | snapshot>` | Avec --store, l'instantané à récupérer : une date (ISO 8601) ou un id d'instantané (par défaut, le plus récent) | Non |
8.17 upload
Envoie à une machine une image de dépôt locale, créée par 'rdc backup download', et l'enregistre comme nouveau dépôt. Le transfert reprend après une interruption, et la machine vérifie le sha256 et l'en-tête LUKS avant de placer l'image.
rdc backup upload <image-file> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--to <machine> | Machine qui reçoit l'image | Oui | - |
--as <name> | Nom du nouveau dépôt (par défaut : le nom de dépôt de l'image) | Non | - |
--datastore <name> | Placer l'image sur ce datastore nommé plutôt que sur celui par défaut de la machine | Non | - |
--from-repo <name> | Dépôt de la configuration qui fournit les identifiants et la filiation quand le fichier d'état est perdu ou désigne un dépôt inconnu | Non | - |
--bwlimit <rate> | Plafond de bande passante réseau, par exemple 100Mbps ou 12.5M (par défaut : illimité) | Non | - |
--retries <n> | Nouvelles tentatives pendant l'exécution après une panne réseau (par défaut : 3) | Non | - |
--up | Démarrer le dépôt une fois enregistré | Non | - |
--skip-verify | Ignorer la comparaison de l'image locale avec le sha256 enregistré lors du téléchargement | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.18 purge
Supprime d'un coup tous les instantanés de sauvegarde stockés d'un dépôt dans le magasin de blocs. Le dépôt lui-même est conservé.
rdc backup purge <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Afficher les actions prévues sans effectuer de modifications | Non | - |
-y, --yes | Ignorer l'invite de confirmation | Non | - |
--cancel | Annuler une purge différée avant son effet | Non | - |
8.19 check
Prouve qu'un snapshot s'ouvre avec la phrase secrète en restaurant un fichier
rdc backup check <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--path <file> | Le fichier à restaurer et comparer (par défaut : le plus petit fichier non vide) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.20 repair
Renvoyer depuis l'ancre de cette machine les chunks perdus ou erronés du stockage
rdc backup repair <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--dry-run | Indique ce qui serait supprimé et renvoyé ; ne modifie rien | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.21 toc-key
Gérer la clé de listing de navigation d'un dépôt
rdc backup toc-key
8.22 churn
Mesure la part de l'image d'un dépôt qui change entre deux exécutions, projette l'envoi par taille de cellule et en recommande une. Une base reflink reste sur la machine pendant l'opération et est toujours supprimée.
rdc backup churn <repo-ref> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--samples <n> | Nombre d'échantillons mesurés (3 par défaut) | Non | - |
--interval <duration> | Attente entre les sondes, par exemple 10m (10m par défaut) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
8.23 immutability
Afficher ou définir la fenêtre de suppression différée des sauvegardes stockées
show
Afficher la fenêtre de suppression différée en vigueur
rdc backup immutability show
set
Définir la fenêtre de suppression différée en jours (0 à 30)
rdc backup immutability set <days>
8.24 undelete
Annuler la suppression différée d'un instantané avant son effet
rdc backup undelete <snapshot-id>
9. Intégration VS Code
Ouvrir VS Code Remote SSH vers une machine ou un dépôt
9.1 connect
Ouvrir VS Code sur une machine ou à l'intérieur d'un dépôt.
rdc vscode connect <target> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-f, --folder <path> | Chemin du dossier distant à ouvrir | Non | - |
--url-only | Afficher l'URI VS Code au lieu de le lancer | Non | - |
-n, --new-window | Ouvrir dans une nouvelle fenêtre VS Code | Non | - |
--skip-env-setup | Ignorer la configuration de l'environnement distant | Non | - |
--insiders | Utiliser les paramètres VS Code Insiders | Non | - |
--browser | Servir VS Code navigateur depuis le sandbox du dépôt (aucun VS Code local nécessaire) | Non | - |
--no-open | Afficher l'URL sans ouvrir le navigateur local | Non | - |
--local <port> | Port local (par défaut identique au port distant) | Non | - |
--server-provider <id> | Implémentation du serveur VS Code navigateur (openvscode, code-server) | Non | - |
--server-archive <file> | Chemin de l'archive du serveur pré-installée sur la machine (installations hors ligne) | Non | - |
9.2 list
Lister les connexions SSH VS Code configurées
rdc vscode list
9.3 cleanup
Supprimer les configurations SSH VS Code
rdc vscode cleanup [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--all | Supprimer toutes les configurations SSH rediacc | Non | - |
-c, --connection <name> | Supprimer une connexion spécifique | Non | - |
9.4 check
Vérifier l'installation et la configuration de VS Code
rdc vscode check [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--insiders | Utiliser les paramètres VS Code Insiders | Non | - |
9.5 serve
Gérer le serveur VS Code navigateur dans le sandbox
status
Afficher si le serveur VS Code navigateur est en cours d'exécution
rdc vscode serve status <target> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--server-provider <id> | Implémentation du serveur VS Code navigateur (openvscode, code-server) | Non | - |
stop
Arrêter le serveur VS Code navigateur
rdc vscode serve stop <target> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--server-provider <id> | Implémentation du serveur VS Code navigateur (openvscode, code-server) | Non | - |
10. Accès Terminal SSH
Ouvrir un terminal SSH vers une machine ou un dépôt. La cible est un nom de machine ou une réf de dépôt, et le contexte du dépôt (DOCKER_HOST, répertoire de travail, environnement) est configuré automatiquement. Utilisez `-c` pour exécuter une commande unique de façon non interactive. Pour les journaux de conteneur ou une commande ponctuelle dans un conteneur, utilisez `repo logs` et `repo exec`. Pour VS Code, utilisez `vscode`.
10.1 connect
Ouvrir un shell sur une machine, ou à l'intérieur d'un dépôt avec son Docker configuré.
rdc term connect <target> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-c, --command <cmd> | Exécuter une commande au lieu d'un shell interactif | Non | - |
--external | Forcer le lancement dans une fenêtre de terminal externe | Non | - |
--reset-home | Réinitialiser la couche de répertoire personnel par dépôt pour un nouveau départ | Non | - |
11. Commandes Rapides (Raccourcis)
11.1 run
ATTENTION : commande de bas niveau réservée au débogage et à l'expérimentation, à ne pas utiliser en production. Les commandes de plus haut niveau (repo up, repo down, etc.) sont faites pour l'usage courant. Exécute une fonction renet brute sur une machine.
rdc run
11.2 trace
Tracer une tâche (raccourci pour : queue trace)
rdc trace
11.3 cancel
Annuler une tâche (raccourci pour : queue cancel)
rdc cancel
11.4 retry
Réessayer une tâche échouée (raccourci pour : queue retry)
rdc retry
12. Gestion des Abonnements
Gérer les licences et les jetons d'abonnement. Connectez-vous avec login, inspectez avec status, réémettez les licences avec refresh.
12.1 login
S’authentifier avec un jeton API du portail web
rdc subscription login [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-t, --token <token> | Jeton API (rdt_...). Passez `-` pour le lire depuis stdin (il reste alors hors de la liste des processus). | Non | - |
--password-stdin | Se connecter sans navigateur avec le mot de passe du compte lu sur stdin (REDIACC_LOGIN_EMAIL requis) | Non | - |
--server <url> | URL du serveur de compte | Non | - |
12.2 logout
Supprimer le jeton d'abonnement stocké
rdc subscription logout
12.3 proxy-token
Émettre un jeton proxy:exec de courte durée à partir de la connexion de cet appareil, pour --proxy
rdc subscription proxy-token [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--json | Afficher en JSON le jeton et son expiresAt | Non | - |
12.4 status
Afficher l'abonnement et l'état des licences pour une machine.
rdc subscription status [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Non | - |
12.5 refresh
Actualiser les licences depuis le serveur de compte.
rdc subscription refresh [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-m, --machine <name> | Nom de la machine | Non | - |
--repo <ref> | Réf de dépôt : nom, ou nom:tag, éventuellement avec @machine (par exemple shop ou shop:test) | Non | - |
13. Mises à jour CLI
Vérifier et appliquer les mises à jour du CLI
rdc update [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Forcer la mise à jour même si déjà à jour | Non | - |
--check-only | Vérifier les mises à jour sans télécharger | Non | - |
--rollback | Revenir à la version précédente | Non | - |
--status | Afficher l'état et les diagnostics de la mise à jour automatique | Non | - |
--channel <channel> | Définir le canal de publication (stable ou edge) | Non | - |
14. Crédits tiers
Affiche les composants tiers embarqués avec rdc : les binaires que renet intègre et redistribue (CRIU, rsync), le runtime Node.js embarqué, et les dépendances npm embarquées. Indique les versions, les identifiants de licence SPDX, et les URLs d'archives sources à version exacte requises pour la conformité GPL. Utilisez --licenses pour afficher le texte complet THIRD_PARTY_LICENSES fourni avec les builds de release.
rdc credits [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--licenses | Afficher le texte complet THIRD_PARTY_LICENSES fourni avec les builds de release | Non | - |
15. Diagnostics système
Diagnostiquer l'environnement CLI et l'intégration renet
rdc doctor
16. Outils locaux
Gère les outils locaux que rdc exécute sur cette machine. `rdc tools install tofu` télécharge la version épinglée d'OpenTofu, vérifie son SHA-256 par rapport à l'empreinte intégrée à rdc avant toute extraction, puis place le binaire dans le répertoire d'outils de rdc. `rdc tools list` affiche chaque outil avec sa version et l'endroit où il a été trouvé.
16.1 install
Télécharge la version d'OpenTofu épinglée dans cette CLI, vérifie son empreinte SHA-256 et l'installe dans le répertoire d'outils de rdc. En cas d'empreinte différente, le téléchargement est supprimé et rien n'est installé. Terraform n'est jamais installé ; s'il est déjà dans le PATH, il est utilisé tel quel.
rdc tools install <tool> [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Réinstaller même si la version épinglée est déjà présente | Non | - |
16.2 list
Liste le moteur de provisionnement que rdc exécuterait (OpenTofu ou Terraform) et chaque version d'OpenTofu présente dans le répertoire d'outils de rdc, avec sa version, sa provenance et son chemin.
rdc tools list
17. Opérations VM Locales
Provisionnement et gestion de VM locales via KVM/QEMU/Hyper-V (plateforme détectée automatiquement). Pas pour les machines distantes. Utilisez `machine` pour celles-ci. Sous-commandes clés : up (démarrer les VM), down (arrêter), status (lister les VM en cours), ssh (se connecter à une VM), setup (installer les prérequis), check (vérifier que l'hôte est prêt).
17.1 up
Provisionner un cluster VM localement
rdc ops up [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--force | Forcer le redémarrage de toutes les VM | Non | - |
--parallel | Créer les VM en parallèle | Non | - |
--basic | Cluster minimal (pont + 1 worker) | Non | - |
--lite | Ignorer le provisionnement des VM (statut uniquement) | Non | - |
--skip-orchestration | Ignorer l'orchestration du cluster | Non | - |
--backend <backend> | Backend de virtualisation (kvm|qemu, détection automatique) | Non | - |
--os <name> | Système d'exploitation de la VM (ex. ubuntu-24.04, debian-12) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
17.2 down
Détruire le cluster VM
rdc ops down [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--backend <backend> | Backend de virtualisation (kvm|qemu, détection automatique) | Non | - |
--debug | Activer la sortie de débogage (mode local) | Non | - |
17.3 status
Afficher l'état du cluster VM
rdc ops status [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--backend <backend> | Backend de virtualisation (kvm|qemu, détection automatique) | Non | - |
17.4 ssh
Se connecter en SSH à une VM
rdc ops ssh [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--vm-id <id> | ID de la machine virtuelle | Oui | - |
-c, --command <cmd> | Exécuter une commande au lieu d'un shell interactif | Non | - |
--backend <backend> | Backend de virtualisation (kvm|qemu, détection automatique) | Non | - |
--user <user> | Nom d'utilisateur SSH pour la connexion à la VM | Non | - |
17.5 setup
Installer les prérequis de virtualisation
rdc ops setup [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
--debug | Activer la sortie de débogage (mode local) | Non | - |
17.6 check
Vérifier les prérequis de virtualisation
rdc ops check
18. Service exécuteur
Exécute ce processus en tant qu'exécuteur afin que les clients puissent lancer des commandes via lui au lieu de se connecter eux-mêmes en SSH
rdc serve [options]
| Option | Libellé | Requis | Défaut |
|---|---|---|---|
-p, --port <port> | Port sur lequel écouter | Non | 8080 |
--host <host> | Adresse à laquelle se lier | Non | 0.0.0.0 |
--mode <mode> | Emplacement : daemon (hôte du client) ou container | Non | daemon |
Messages d'Erreur Courants
Lorsque quelque chose ne va pas, la CLI fournit des messages d'erreur clairs :
| Erreur | Signification |
|---|---|
| L'authentification est requise. Exécutez : rdc subscription login | Vous devez d'abord vous connecter |
| Aucune configuration active. Créez-en une avec : rdc config init <name> | Aucune configuration active. Créez-en une avec `rdc config init` |
| Permission refusée | Votre compte ne dispose pas des permissions requises |
| Le nom de la machine est requis. Utilisez --machine <name> | Spécifiez une machine avec `--machine` ou définissez un défaut de contexte |
| Le nom de l'équipe est requis. Utilisez --team ou définissez une valeur par défaut avec : rdc config set team <name> | Spécifiez une équipe avec `--team` ou définissez un défaut de contexte |
| Le nom de la région est requis. Utilisez --region ou définissez une valeur par défaut avec : rdc config set region <name> | Spécifiez une région avec `--region` ou définissez un défaut de contexte |
Formats de Sortie
Toutes les commandes list/get prennent en charge plusieurs formats de sortie via `--output` :
rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table # default
Cela facilite l'intégration de la CLI Rediacc dans les scripts, les pipelines CI/CD et les workflows d'automatisation.