Rediacc CLI-Referenz
Überblick
Die **Rediacc CLI** (`rdc`) ist eine Befehlszeilenschnittstelle zur Verwaltung aller Aspekte der Rediacc-Plattform — Authentifizierung, Infrastruktur, Repositories, Warteschlangen, Speicher und mehr.
Installationsanleitung
Laden Sie die neueste Version für Ihre Plattform von der [Rediacc-Releases-Seite](https://www.rediacc.com) herunter oder installieren Sie über Ihren Paketmanager:
# macOS / Linux
curl -fsSL https://www.rediacc.com | sh
# Or use the packaged binary directly
./rdc --help
Globale Optionen
Jeder Befehl unterstützt diese globalen Flags:
| Option | Beschreibung |
|---|---|
--output | Ausgabeformat (table|json|yaml|csv). Standard mit REDIACC_DEFAULT_OUTPUT überschreiben. |
--config | Bestimmte Konfiguration für diesen Befehl verwenden |
--lang | Sprache überschreiben ({{languages}}) |
--force | Bestätigungsaufforderungen überspringen |
1. Agent-Hilfsprogramme
Agent-freundliche Hilfsprogramme für KI-Programmierassistenten
1.1 capabilities
Alle verfügbaren Befehle mit Argumenten und Optionen auflisten
rdc agent capabilities
1.2 schema
Detailliertes Schema für einen bestimmten Befehl anzeigen
rdc agent schema [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--command <path> | Ausführen eines Befehls statt interaktiver Shell | Ja | - |
1.3 exec
Befehl mit JSON-Eingabe von stdin ausführen
rdc agent exec [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--command <path> | Ausführen eines Befehls statt interaktiver Shell | Ja | - |
1.4 generate-reference
Befehlsreferenz-Markdown für Claude Skills generieren
rdc agent generate-reference
2. Konfigurationsverwaltung
Konfigurationsdateien, Maschinen und SSH-Verbindungen verwalten
Konfigurationsdateien speichern Verbindungsdetails (API-URL, Anmeldedaten, Standard-Team/Region/Bridge), damit Sie schnell zwischen Umgebungen wechseln können.
2.1 prune
Entfernt überflüssigen Ballast aus der lokalen Konfigurationsdatei unter ~/.config/rediacc/<config>.json. Drei Bereiche werden bereinigt, alle rein lokal (keine SSH/renet-Aufrufe): (1) ACME-Zertifikat-Cache-Einträge, deren Anker GUID/Repo/Maschine nicht mehr in der aktiven Konfiguration steht; (2) archivierte Repositories, deren Schonfrist abgelaufen ist (Standard 7 Tage, siehe defaults.pruneGraceDays); (3) verwaiste Querverweise (machine→strategy, strategy→repo). Aktive Ressourcen, Anmeldedaten, Speicher-Tokens und Known-Hosts werden niemals angerührt. Standardverhalten ist Änderungen anwenden; mit --dry-run nur eine Vorschau anzeigen.
rdc config prune [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--dry-run | Vorschau dessen, was entfernt würde, ohne die Konfigurationsdatei zu ändern. Spiegelt die Standard-Aus-Semantik der anderen prune-Befehle. | Nein | - |
--certs-only | Auf den ACME-Zertifikat-Cache-Bereich beschränken. Überspringt Archivbereinigung und Querverweis-Bereinigung. Schließt sich gegenseitig mit --archives-only und --refs-only aus. | Nein | - |
--archives-only | Auf das Bereinigen abgelaufener Archive beschränken. Überspringt Zertifikat-Cache und Querverweis-Bereinigung. Schließt sich mit --certs-only und --refs-only aus. | Nein | - |
--refs-only | Auf verwaiste Querverweise (machine→strategy, strategy→repo excludes/includes) beschränken. Überspringt Zertifikat-Cache und Archive. Schließt sich mit --certs-only und --archives-only aus. | Nein | - |
--purge-archived | ALLE archivierten Repositories unabhängig vom Alter verwerfen, nicht nur die nach Schonfrist. Äquivalent zum Ausführen von 'rdc config repository purge-archived'. Nur verwenden, wenn Sie sicher sind, dass keine der gespeicherten Anmeldedaten zur Wiederherstellung benötigt werden. | Nein | - |
--grace-days <days> | Überschreibt das Archiv-Schonfristfenster (in Tagen) für diesen Aufruf. Greift auf defaults.pruneGraceDays in der Konfiguration zurück, dann auf 7, wenn keines gesetzt ist. | Nein | - |
2.2 init
Eine neue benannte Konfigurationsdatei erstellen
Im lokalen Modus können Sie Machines direkt hinzufügen:
rdc config init [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
--ssh-key <path> | Pfad zum SSH-Private-Key (z. B. ~/.ssh/id_rsa) | Nein | - |
--renet-path <path> | Pfad zur renet-Binärdatei (Standard: renet in PATH) | Nein | - |
--master-password <password> | Ressourcen mit einem Master-Passwort verschlüsseln | Nein | - |
-u, --api-url <url> | API-URL | Nein | - |
--server <url> | Account-Server-URL | Nein | - |
2.3 list
Alle Konfigurationsdateien auflisten
rdc config list
2.4 show
Aktuelle Konfigurationsdetails anzeigen
rdc config show [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--reveal | Klartext für sensible Werte anzeigen (nur interaktiv) | Nein | - |
2.5 delete
Eine Konfigurationsdatei löschen
rdc config delete [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
2.6 set
Einen Standardwert setzen (Team, Region, Bridge)
rdc config set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--key <key> | Konfigurationsschlüssel | Ja | - |
--value <value> | Konfigurationswert | Ja | - |
Tipp: Standardwerte zu setzen bedeutet, dass Sie nicht bei jedem Befehl `--team`, `--region` oder `--bridge` angeben müssen.
2.7 clear
Standardwerte löschen (alle oder einen bestimmten Schlüssel)
rdc config clear [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--key <key> | Konfigurationsschlüssel | Nein | - |
2.8 recover
Konfiguration aus Sicherungsdatei (.bak) wiederherstellen
rdc config recover [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-y, --yes | Bestätigungsaufforderung überspringen | Nein | - |
2.9 ssh
SSH-Schlüsselkonfiguration verwalten
set
SSH-Schlüssel für die aktuelle Konfiguration festlegen
rdc config ssh set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--key <path> | Pfad zur privaten SSH-Schlüsseldatei | Ja | - |
--embed | Schlüsselinhalt in der Konfiguration einbetten statt Pfad zu speichern | Nein | - |
show
Aktuelle SSH-Schlüsselkonfiguration anzeigen
rdc config ssh show
remove
SSH-Schlüssel aus der aktuellen Konfiguration entfernen
rdc config ssh remove
2.10 remote
Remote-Konfigurationsspeicher-Verbindung verwalten
enable
Diese Konfiguration mit verschlüsseltem Remote-Speicher verknüpfen
rdc config remote enable [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--headless | Gerätecode-Authentifizierung verwenden (für Server ohne GUI) | Nein | - |
--api-url <url> | Account-Server-URL | Nein | - |
disable
Verbindung zum Remote-Speicher trennen und Konfiguration lokal speichern
rdc config remote disable
status
Remote-Verbindungsstatus anzeigen
rdc config remote status
refresh
Konfiguration erneut vom Remote-Speicher abrufen
rdc config remote refresh
2.11 machine
Maschinen in der aktuellen Konfiguration verwalten
add
Maschine zur aktuellen Konfiguration hinzufügen
rdc config machine add [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--ip <address> | Machine-IP-Adresse oder Hostname | Ja | - |
--user <username> | SSH-Benutzername | Ja | - |
--port <port> | SSH-Port | Nein | 22 |
--datastore <path> | Datastore-Pfad auf Machine | Nein | /mnt/rediacc |
remove
Maschine aus der aktuellen Konfiguration entfernen
rdc config machine remove [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
list
Maschinen in der aktuellen Konfiguration auflisten
rdc config machine list
scan-keys
SSH-Hostschlüssel für Maschinen in der aktuellen Konfiguration scannen
rdc config machine scan-keys [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Nein | - |
setup
Remote-Maschine für Repositories einrichten (installiert renet, konfiguriert Docker, BTRFS-Datenspeicher). Idempotent. Erforderlich nach config machine add und vor repo create
rdc config machine setup [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--datastore <path> | Datenspeicherpfad auf Remote-Maschine | Nein | /mnt/rediacc |
--datastore-size <size> | Datenspeichergröße (z.B. 95%, 100G) | Nein | 95% |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
set-ceph
Ceph RBD-Konfiguration für eine Maschine festlegen
rdc config machine set-ceph [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--pool <name> | Ceph-Poolname (z.B. rbd) | Ja | - |
--image <name> | RBD-Imagename (z.B. datastore-prod1) | Ja | - |
--cluster <name> | Ceph-Cluster-Name | Nein | ceph |
2.12 repository
Repository-Zuordnungen in der aktuellen Konfiguration verwalten
add
Repository-GUID-Zuordnung zur aktuellen Konfiguration hinzufügen
rdc config repository add [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--guid <guid> | Repository-GUID (UUID aus Backup-Dateinamen) | Ja | - |
--tag <tag> | Repository-Tag | Nein | latest |
--credential <credential> | Repository-Anmeldedaten (Verschlüsselungspassphrase) | Nein | - |
--network-id <id> | Netzwerk-ID für Docker-Isolierung (2816, 2880, ...). Wird automatisch zugewiesen, wenn nicht angegeben | Nein | - |
remove
Repository-Zuordnung aus der aktuellen Konfiguration entfernen
rdc config repository remove [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
list
Repository-GUID-Zuordnungen in der aktuellen Konfiguration auflisten
rdc config repository list
list-archived
Archivierte Repository-Anmeldedaten auflisten
rdc config repository list-archived
restore-archived
Archivierte Repository-Anmeldedaten wiederherstellen
rdc config repository restore-archived [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--new-name <name> | Neuer Ressourcenname | Nein | - |
purge-archived
Alle archivierten Anmeldedaten dauerhaft löschen
rdc config repository purge-archived
2.13 provider
Cloud-Provider für automatische Maschinenbereitstellung verwalten
add
Cloud-Provider hinzufügen
rdc config provider add [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--provider <source> | Bekannte Anbieterquelle (z.B. linode/linode, hetznercloud/hcloud) | Nein | - |
--source <source> | Benutzerdefinierte OpenTofu-Anbieterquelle (z.B. vultr/vultr) | Nein | - |
--token <token> | API-Token für den Cloud-Provider | Ja | - |
--region <region> | Standardregion für neue Maschinen | Nein | - |
--type <type> | Standard-Instanztyp/-größe | Nein | - |
--image <image> | Standard-Betriebssystem-Image | Nein | - |
--ssh-user <user> | SSH-Benutzername für neue VMs (Standard: root) | Nein | - |
--resource <type> | Benutzerdefiniert: OpenTofu-Ressourcentyp für VMs | Nein | - |
--label-attr <attr> | Benutzerdefiniert: Attributname für VM-Bezeichnung | Nein | - |
--region-attr <attr> | Benutzerdefiniert: Attributname für Region | Nein | - |
--size-attr <attr> | Benutzerdefiniert: Attributname für Instanztyp | Nein | - |
--image-attr <attr> | Benutzerdefiniert: Attributname für Betriebssystem-Image | Nein | - |
--ipv4-output <attr> | Benutzerdefiniert: Ausgabeattribut für IPv4-Adresse | Nein | - |
--ipv6-output <attr> | Benutzerdefiniert: Ausgabeattribut für IPv6-Adresse | Nein | - |
--ssh-key-attr <attr> | Benutzerdefiniert: Attributname für SSH-Schlüssel | Nein | - |
--ssh-key-format <format> | Benutzerdefiniert: SSH-Schlüsselformat (inline_list oder resource_id) | Nein | - |
--ssh-key-resource <type> | Benutzerdefiniert: OpenTofu-Ressourcentyp für SSH-Schlüssel | Nein | - |
remove
Cloud-Provider-Konfiguration entfernen
rdc config provider remove [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
list
Konfigurierte Cloud-Provider auflisten
rdc config provider list
2.14 storage
Speicher-Backends in der aktuellen Konfiguration verwalten
import
Speicher aus einer rclone-Konfigurationsdatei importieren
rdc config storage import [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--file <path> | Pfad zur Datei | Ja | - |
--name <name> | Nur diesen benannten Abschnitt importieren | Nein | - |
remove
Speicher aus der aktuellen Konfiguration entfernen
rdc config storage remove [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
list
Speicher in der aktuellen Konfiguration auflisten
rdc config storage list
2.15 infra
Infrastrukturkonfiguration verwalten (Proxy, DNS, Zertifikate)
set
Infrastrukturkonfiguration für eine Maschine festlegen (maschinenspezifisch: IPs, Domain, Ports; gemeinsam: Zertifikats-E-Mail, Cloudflare DNS-Token)
rdc config infra set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--public-ipv4 <ip> | Öffentliche IPv4-Adresse (pro Maschine) | Nein | - |
--public-ipv6 <ip> | Öffentliche IPv6-Adresse (pro Maschine) | Nein | - |
--base-domain <domain> | Basisdomain für Anwendungen (pro Maschine) | Nein | - |
--cert-email <email> | E-Mail für TLS-Zertifikatsbenachrichtigungen (maschinenübergreifend) | Nein | - |
--cf-dns-token <token> | Cloudflare DNS API-Token für ACME DNS-01-Challenge (maschinenübergreifend) | Nein | - |
--tcp-ports <ports> | Weiterzuleitende TCP-Ports (kommagetrennt, z.B. 25,143,465) | Nein | - |
--udp-ports <ports> | Weiterzuleitende UDP-Ports (kommagetrennt, z.B. 53) | Nein | - |
show
Infrastrukturkonfiguration für eine Maschine anzeigen
rdc config infra show [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
push
Infrastrukturkonfiguration auf Maschine übertragen (Traefik-Proxy, Router, Cloudflare DNS). Führen Sie zuerst 'config infra set <machine>' aus
rdc config infra push [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
2.16 cert-cache
Zwischengespeicherte TLS-Zertifikate verwalten
pull
TLS-Zertifikate von einer Maschine herunterladen und zwischenspeichern
rdc config cert-cache pull [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--no-prune | Bereinigung veralteter Netzwerk-ID-Zertifikate überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
push
Zwischengespeicherte TLS-Zertifikate auf eine Maschine hochladen
rdc config cert-cache push [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
status
Zwischengespeicherten Zertifikatsbestand anzeigen
rdc config cert-cache status
clear
Zertifikats-Cache entfernen
rdc config cert-cache clear
2.17 field
Feldoperationen der Konfiguration mit Pointer-Adressierung (get/set/unset/rotate/list). JSON-Pointer (RFC 6901), z. B. /credentials/cfDnsApiToken.
get
Einzelnen Konfigurationswert per JSON-Pointer lesen. Sensible Felder werden zensiert, außer mit --reveal (nur interaktiv).
rdc config field get [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--pointer <pointer> | JSON-Pointer zum Feld (z. B. /credentials/cfDnsApiToken) | Ja | - |
--reveal | Klartext für sensible Werte anzeigen (nur interaktives TTY; Audit-Log) | Nein | - |
--digest | SHA-256-Prüfsumme statt des Werts ausgeben (ist für KI-Agenten freigegeben) | Nein | - |
set
Konfigurationswert an einem JSON-Pointer schreiben. Sensible Pfade erfordern --current (Wissensnachweis).
rdc config field set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--pointer <pointer> | JSON-Pointer zum Feld (z. B. /credentials/cfDnsApiToken) | Ja | - |
--new <value> | Neuer Wert (als JSON interpretiert, falls er mit {, [, ", true, false, null oder einer Zahl beginnt) | Ja | - |
--current <value> | Aktueller Klartextwert — für Änderungen sensibler Pfade erforderlich (Wissensnachweis) | Nein | - |
unset
Konfigurationswert an einem JSON-Pointer löschen. Sensible Pfade erfordern --current.
rdc config field unset [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--pointer <pointer> | JSON-Pointer zum Feld (z. B. /credentials/cfDnsApiToken) | Ja | - |
--current <value> | Aktueller Klartextwert — für Löschungen sensibler Pfade erforderlich | Nein | - |
rotate
Einen sensiblen Wert ohne --current rotieren. Nur interaktives TTY; laut geloggt.
rdc config field rotate [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--pointer <pointer> | JSON-Pointer zum sensiblen Feld (z. B. /credentials/cfDnsApiToken) | Ja | - |
--new <value> | Neuer Wert | Ja | - |
list
Alle registrierten Pointer-Vorlagen mit Art und Commit/Verschlüsselungs-Policy auflisten.
rdc config field list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--sensitive | Nur sensible (nicht-öffentliche) Vorlagen anzeigen | Nein | - |
2.18 edit
Aktive Konfiguration in $EDITOR als zensiertes JSONC öffnen. Nur für Menschen; Agenten werden abgelehnt.
rdc config edit [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--reveal | Klartext für sensible Werte anzeigen (nur interaktives TTY; Audit-Log) | Nein | - |
--dump | Aktuelle Konfiguration als JSONC an stdout ausgeben, statt den Editor zu öffnen (schreibgeschützt; für Agenten sicher, wenn zensiert) | Nein | - |
--apply <file> | Eine bearbeitete JSONC-Datei anwenden (überspringt das Öffnen von $EDITOR) | Nein | - |
--current-secrets <file> | JSON-Datei mit Pointer→alter-Klartext-Zuordnung für den Wissensnachweis bei --apply | Nein | - |
--editor <cmd> | Editor-Befehl (folgt git-Reihenfolge: --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR) | Nein | - |
2.19 audit
Konfigurations-Audit-Log inspizieren (hash-verkettete JSONL in ~/.config/rediacc/audit.log.jsonl)
log
Kürzliche Audit-Einträge als JSON ausgeben
rdc config audit log [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--since <spec> | Nur Einträge nach (z. B. '24h', '7d', ISO-Zeitstempel) | Nein | - |
--path <glob> | Nach JSON-Pointer-Glob filtern (z. B. /credentials/*) | Nein | - |
--actor <kind> | Nach Akteur-Typ filtern (human|agent) | Nein | - |
tail
Neue Audit-Einträge live streamen (Ctrl+C zum Beenden)
rdc config audit tail
verify
Integrität der SHA-256-Hash-Kette über alle Audit-Einträge prüfen
rdc config audit verify
2.20 backup-strategy
Benannte Backup-Strategien verwalten (Hot/Cold-Modi, Ziele, Zeitplanung)
set
Backup-Strategie erstellen oder aktualisieren
rdc config backup-strategy set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Strategiename (erforderlich) | Ja | - |
--destination <name> | Zielname innerhalb der Strategie | Nein | - |
--storage <name> | Speicherkonfigurationsname (rclone-Zugangsdaten) | Nein | - |
--cron <expression> | Cron-Zeitplan (z.B. "0 * * * *" für stündlich) | Nein | - |
--mode <mode> | Backup-Modus: "hot" (ohne Ausfallzeit) oder "cold" (Stoppen, Snapshot, Neustart) | Nein | - |
--bwlimit <limit> | Rclone-Bandbreitenlimit (z.B. "6M", "10M:off", "08:00,3M;22:00,10M") | Nein | - |
--include <repos> | Nur diese Repos sichern (kommagetrennte Namen) | Nein | - |
--exclude <repos> | Diese Repos vom Backup ausschließen (kommagetrennte Namen) | Nein | - |
--folder <path> | Unterordner im Storage-Bucket für dieses Ziel (z. B. hot, cold) | Nein | - |
--enable | Strategie oder Ziel aktivieren | Nein | - |
--disable | Strategie oder Ziel deaktivieren | Nein | - |
remove
Backup-Strategie oder Ziel entfernen
rdc config backup-strategy remove [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Strategiename (erforderlich) | Ja | - |
--destination <name> | Nur dieses Ziel entfernen (andere Ziele bleiben erhalten) | Nein | - |
list
Alle Backup-Strategien auflisten
rdc config backup-strategy list
show
Backup-Strategie-Details anzeigen
rdc config backup-strategy show [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Strategiename (zeigt alle wenn weggelassen) | Nein | - |
3. Datenspeicherverwaltung
Ceph RBD-Datenspeicher-Lebenszyklus verwalten (init, fork, unfork, status)
3.1 resize
Datenspeicher-Pool einer Maschine offline verkleinern oder vergrößern. Alle Repositories müssen zuvor ausgehängt werden.
rdc datastore resize [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Maschinenname (wo der Ceph-Datenspeicher gehostet wird) | Ja | - |
--size <size> | Neue Datenspeichergröße (z. B. 100G, 95%) | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
3.2 init
Datenspeicher auf einer Maschine initialisieren (lokal oder Ceph RBD)
rdc datastore init [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Maschinenname (wo der Ceph-Datenspeicher gehostet wird) | Ja | - |
--size <size> | Datenspeichergröße (z.B. 5G, 50G, 100G) | Ja | - |
--backend <type> | Backend-Typ: local (Standard) oder ceph | Nein | local |
--pool <name> | Ceph-Pool-Name (Standard: aus Maschinenkonfiguration oder rbd) | Nein | rbd |
--image <name> | Ceph RBD-Image-Name (Standard: aus Maschinenkonfiguration über set-ceph) | Nein | - |
--cluster <name> | Ceph-Cluster-Name (Standard: ceph) | Nein | ceph |
--force | Initialisierung erzwingen, auch wenn der Datenspeicher bereits existiert (WARNUNG: formatiert den Speicher neu) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
3.3 fork
Lokale COW-Kopie eines Ceph-Datenspeichers via RBD-Snapshot + Clone erstellen (< 2s). Snapshot-/Clone-Namen aus der Ausgabe für unfork merken. Nur ein Fork pro Zielname; vor erneutem Forken unfork ausführen
rdc datastore fork [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Maschinenname (wo der Ceph-Datenspeicher gehostet wird) | Ja | - |
--to <name> | Clone-Suffix (erstellt Clone mit dem Namen <image>-fork-<name>). Der Fork bleibt auf der Quellmaschine | Ja | - |
--cow-size <size> | COW-Sicherungsdateigröße (Standard: auto, wächst bei Bedarf) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
3.4 unfork
Fork bereinigen: COW aushängen, Clone entfernen, Snapshot entfernen
rdc datastore unfork [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Maschinenname (wo der Ceph-Datenspeicher gehostet wird) | Ja | - |
--source <image> | Originales RBD-Image, das geforkt wurde (von config set-ceph --image, z.B. ds-prod) | Ja | - |
--snapshot <name> | Zu entfernender Snapshot (der "Snapshot:"-Wert aus der Fork-Ausgabe, z.B. fork-<timestamp>) | Ja | - |
--dest <image> | Zu entfernendes Clone-Image (der "Clone:"-Wert aus der Fork-Ausgabe, z.B. ds-prod-fork-<machine>) | Ja | - |
--pool <name> | Ceph-Pool-Name (Standard: aus Maschinenkonfiguration) | Nein | - |
--mount-point <path> | Fork-Einhängepunkt zum Aushängen (Standard: /mnt/rediacc) | Nein | - |
--force | Bereinigung fortsetzen, auch wenn einzelne Schritte fehlschlagen (z.B. Aushängen, Snapshot-Entfernung) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
3.5 status
Datenspeicher-Backend, Größe, Nutzung, Mount-Status und cow_mode (falls geforkt) anzeigen
rdc datastore status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Maschinenname (wo der Ceph-Datenspeicher gehostet wird) | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
4. Maschinenverwaltung
Remote-Maschinen verwalten (Status, Container, Dienste, Health)
4.1 list
Machines auflisten
rdc machine list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
--search <text> | Suchen in {{field}} | Nein | - |
--sort <field> | Sortieren nach Feld | Nein | - |
--desc | Absteigend sortieren | Nein | - |
4.2 create
Eine neue Machine erstellen
rdc machine create [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
-b, --bridge <name> | Bridge-Name | Nein | - |
--vault <json> | Machine-Vault-Daten als JSON-String | Nein | - |
4.3 rename
Eine Maschine umbenennen
rdc machine rename [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--current-name <name> | Aktueller Ressourcenname | Ja | - |
--new-name <name> | Neuer Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
4.4 delete
Eine Machine löschen
rdc machine delete [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
-f, --force | Bestätigungsaufforderungen überspringen | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
4.5 vault
Maschinen-Tresor-Verwaltung (nur Cloud-Adapter)
rdc machine vault
4.6 vault-status
{{t:cli.commands.machine.vault-status.description}}
rdc machine vault-status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
4.7 health
Machine-Zustand für CI/CD-Pipelines prüfen
Der Health-Befehl gibt Systemmetriken, Container-Status, Dienststabilität und Speicherinformationen aus — nützlich für CI/CD-Pipeline-Prüfungen.
rdc machine health [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
4.8 containers
Laufende Container auf einer Maschine auflisten
rdc machine containers [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
--health-check | Zustandsprüfungsmodus - beendet mit Code 2 bei ungesunden Containern | Nein | - |
4.9 services
systemd-Dienste auf einer Machine auflisten
rdc machine services [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
--stability-check | Stabilitätsprüfungsmodus - beendet mit Code 2 bei fehlgeschlagenen/neu startenden Diensten | Nein | - |
4.10 query
Vollständigen Maschinenstatus anzeigen (System, Repos, Container, Dienste)
rdc machine query [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--system | Nur Systeminformationen einbeziehen | Nein | - |
--repositories | Nur Repositories einbeziehen | Nein | - |
--containers | Nur Container einbeziehen | Nein | - |
--services | Nur Dienste einbeziehen | Nein | - |
--network | Nur Netzwerkschnittstellen einbeziehen | Nein | - |
--block-devices | Nur Blockgeräte einbeziehen | Nein | - |
--licenses | Lizenzstatus der Repositorys einbeziehen | Nein | - |
--storage-health | BTRFS-Fragmentierung und reflink-Einsparungen pro Repository anzeigen | Nein | - |
--sync-certs | Auch den ACME-Zertifikats-Cache nach einer Abfrage von der Maschine abrufen | Nein | - |
--strict | Mit Nicht-Null-Code (Code 2) beenden, wenn ein Container den Health-Drift-Schwellenwert überschritten hat | Nein | - |
4.11 vault-status
Parsed-Vault-Status für eine Machine anzeigen
rdc machine vault-status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
4.12 repos
Auf einer Machine bereitgestellte Repositories auflisten
rdc machine repos [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
--search <text> | Repositories nach Name filtern | Nein | - |
4.13 test-connection
SSH-Verbindung zu einer Machine testen und Host-Schlüssel erfassen
rdc machine test-connection [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--ip <address> | Machine-IP-Adresse oder Hostname | Ja | - |
--user <name> | SSH-Benutzername | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
-b, --bridge <name> | Bridge-Name | Nein | - |
--port <number> | SSH-Port | Nein | 22 |
--password <pwd> | SSH-Passwort für erste Authentifizierung | Nein | - |
--datastore <path> | Datastore-Pfad auf Machine | Nein | /mnt/rediacc |
-m, --machine <name> | Machine-Name (zum Aktualisieren des Vault nach Test) | Nein | - |
--save | known_hosts nach erfolgreichem Test im Machine-Vault speichern | Nein | - |
Tipp: Verwenden Sie `--save`, um den Host-Schlüssel nach einem erfolgreichen Test automatisch im Maschinen-Vault zu speichern.
4.14 provision
Neue Maschine bei einem Cloud-Anbieter mit OpenTofu bereitstellen
rdc machine provision [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--provider <name> | Name des Cloud-Anbieters (aus config provider add) | Ja | - |
--region <region> | Standard-Region überschreiben | Nein | - |
--type <type> | Standard-Instanztyp überschreiben | Nein | - |
--image <image> | Standard-Betriebssystem-Image überschreiben | Nein | - |
--ssh-user <user> | SSH-Benutzername für die neue VM (Standard: root) | Nein | - |
--base-domain <domain> | Basisdomain für Infrastruktur (z.B. example.com). Impliziert --infra | Nein | - |
--no-infra | Infrastrukturkonfiguration überspringen (Proxy + DNS) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
4.15 deprovision
Cloud-bereitgestellte Maschine zerstören und aus Konfiguration entfernen
rdc machine deprovision [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--force | Bestätigungsaufforderung überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
4.16 backup
Maschinen-Backup-Verwaltung
list
Backup-Strategien aller Maschinen auflisten
rdc machine backup list
schedule
Backup-Zeitplan auf einem Remote-Rechner deployen (systemd-Timer)
rdc machine backup schedule [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--dry-run | Generierte Units anzeigen ohne zu deployen | Nein | - |
--force | Auch fortfahren, wenn gerade ein Backup läuft (neue Unit greift beim nächsten Timer-Tick; laufender Vorgang behält seine alte Unit) | Nein | - |
--reset-failed | Fehlerstatus berührter Dienste nach erfolgreichem Deploy zurücksetzen (standardmäßig aus, bewahrt das Fehlersignal) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
now
Backup sofort auf einem Remote-Rechner auslösen
rdc machine backup now [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--strategy <name> | Strategiename (löst alle aus wenn weggelassen) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
status
Backup-Status und Timer-Zustand auf einem Remote-Rechner anzeigen
rdc machine backup status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--strategy <name> | Details für eine bestimmte Strategie anzeigen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
cancel
Laufendes Backup auf einem Remote-Rechner abbrechen
rdc machine backup cancel [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
--strategy <name> | Strategiename (bricht alle ab wenn weggelassen) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
4.17 prune
Verwaiste Datenspeicher-Ressourcen und veraltete Snapshots von einer Maschine entfernen
rdc machine prune [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--dry-run | Anzeigen, was entfernt würde, ohne Änderungen vorzunehmen | Nein | - |
--orphaned-repos | Auch Repo-Images bereinigen, die in keiner Konfiguration enthalten sind | Nein | - |
--prune-unknown | Löscht nur Repos, die der renet .interim/state Mirror nicht klassifizieren kann (nicht in lokaler Konfiguration UND kein fork-markierter Mirror). Strikt enger als --orphaned-repos: Forks ohne Konfiguration werden bewahrt, wenn der Mirror sie identifiziert. Pre-mirror Legacy-Waisen und veraltete Grands mit gelöschtem Konfigurationseintrag fallen beide in diesen Bereich. | Nein | - |
--force-delete-mounted | Setzt die Mount-Sicherheitsprüfung außer Kraft und löscht Repos, auch wenn sie aktuell gemountet sind oder laufende Docker-Container haben. Unterscheidet sich von --force (das nur die Archiv-Schonfrist überschreibt). Gilt sowohl für --orphaned-repos als auch für --prune-unknown. | Nein | - |
--force | Bestätigungsaufforderungen überspringen | Nein | - |
--grace-days <days> | Schonfrist in Tagen für kürzlich archivierte Repos (Standard: 7) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
5. MCP-Server
Model Context Protocol Server für KI-Agenten
5.1 serve
MCP-Server starten (stdio-Transport)
rdc mcp serve [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--config <name> | Konfigurationsname für alle Befehle | Nein | - |
--timeout <ms> | Standard-Befehls-Timeout in Millisekunden | Nein | 120000 |
6. Repository-Lebenszyklus
Verschlüsselte Repositories auf Maschinen deployen und verwalten
6.1 mount
Repository mounten (LUKS-Container öffnen)
rdc repo mount [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--checkpoint | Nach dem Mounten von Checkpoint wiederherstellen | Nein | - |
--no-docker | Docker-Daemon nach dem Mounten nicht starten | Nein | - |
--parallel | Repositories parallel starten | Nein | - |
--concurrency <n> | Maximale gleichzeitige Repositories (Standard: 3) | Nein | 3 |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.2 unmount
Repository unmounten
rdc repo unmount [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--checkpoint | Checkpoint vor dem Unmounten erstellen | Nein | - |
--parallel | Repositories parallel starten | Nein | - |
--concurrency <n> | Maximale gleichzeitige Repositories (Standard: 3) | Nein | 3 |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.3 up
Repository deployen oder aktualisieren (Mount, Dienste starten)
rdc repo up [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--skip-checkpoint | CRIU checkpoint-Wiederherstellung überspringen, auch wenn checkpoint-Daten vorhanden sind (Neustart erzwingen) | Nein | - |
--tls | Dediziertes TLS-Zertifikat für dieses Repository anfordern (Forks verwenden standardmäßig das gemeinsame Maschinenzertifikat) | Nein | - |
--detach | Rückkehr, sobald Container gestartet sind; Healthchecks laufen im Hintergrund weiter | Nein | - |
--include-forks | Auch geforkte Repositories einbinden/starten | Nein | - |
--mount-only | Nur einbinden, keine Dienste starten | Nein | - |
--parallel | Repositories parallel starten | Nein | - |
--concurrency <n> | Maximale gleichzeitige Repositories (Standard: 3) | Nein | 3 |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
6.4 down
Repository-Dienste stoppen
rdc repo down [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--unmount | Repository nach dem Stoppen unmounten | Nein | - |
--checkpoint | CRIU checkpoint vor dem Stoppen erstellen (Prozessspeicherzustand für spätere Wiederherstellung via 'repo up' sichern) | Nein | - |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
6.5 status
Repository-Status abrufen
rdc repo status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.6 cat
Einen begrenzten Ausschnitt einer Datei innerhalb eines Repositories lesen und auf stdout ausgeben (serverseitig begrenzt; Diagnosemeldungen gehen an stderr)
rdc repo cat [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--remote-file <path> | Zu lesender Dateipfad, relativ zum Mount-Wurzelverzeichnis des Repositories | Ja | - |
--max-bytes <n> | Maximale Anzahl zu lesender und auszugebender Bytes (Standard 1 MiB, Obergrenze 50 MiB) | Nein | - |
--offset <n> | Byte-Offset, ab dem gelesen wird | Nein | - |
--head <lines> | Nur die ersten N Zeilen ausgeben (nicht kombinierbar mit Byte-Bereich) | Nein | - |
--tail <lines> | Nur die letzten N Zeilen ausgeben (nicht kombinierbar mit Byte-Bereich) | Nein | - |
--stat | Nur Größe, Typ und Änderungszeit ausgeben; keinen Inhalt lesen | Nein | - |
--force-binary | Lesen von Binärinhalten (mit NUL-Zeichen) erlauben | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.7 diff
Git-artiger Datei-Diff zwischen zwei Copy-on-Write-geforkten Repositories. Meldet hinzugefügte, geänderte, gelöschte und umbenannte Dateien. Vergleicht das per --name angegebene Repository (Ziel/Neuseite) mit seinem aus der lokalen Konfiguration aufgelösten Eltern-Repository oder mit einem explizit per --base angegebenen Repository (Basis/Altseite). Nur Metadaten und größenunabhängig: vergleicht die verschlüsselten LUKS-Images auf Blockebene ohne Entschlüsselung — ein 1-GB- und ein 100-GB-Repo werden in denselben Millisekunden gediff.
rdc repo diff [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Zu inspizierendes Repository (Ziel/Neuseite) | Ja | - |
--base <name> | Vergleichs-Repository (Basis/Altseite); standardmäßig das Eltern-Repository von --name | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--name-only | Nur geänderte Dateipfade ausgeben, einer pro Zeile (ohne Statusbuchstaben) | Nein | - |
--stat | Änderungsumfang pro Datei (Byte- und Block-Deltas) und Summen anzeigen | Nein | - |
--content [path] | Vereinheitlichten Text-Diff für eine einzelne Datei anzeigen (benötigt Dateipfad) | Nein | - |
--json | Strukturiertes Diff-Ergebnis im JSON-Envelope ausgeben | Nein | - |
--fast | Block-Filter vertrauen; Inhalts-Hash-Bestätigung überspringen (kann „Modified“ überschätzen) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.8 list
Repositories auf einer Maschine auflisten
rdc repo list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.9 create
Neues verschlüsseltes Repository erstellen
rdc repo create [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--size <size> | Repository-Größe (z.B. 10G, 100G, 1T) | Ja | - |
--no-docker | Docker-Daemon nach der Erstellung nicht starten | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.10 delete
Repository löschen (zerstört Container, Volumes und verschlüsseltes Image). Konfigurationseintrag bleibt erhalten. Verwenden Sie --archive-config, um Anmeldedaten nach deletedRepositories zu verschieben, zur Wiederherstellung über 'config restore-archived'
rdc repo delete [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--archive-config | Konfigurationseintrag nach deletedRepositories verschieben zur späteren Wiederherstellung | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
6.11 commit
Friert den aktuellen Zustand eines gemounteten Arbeits-Forks in einen neuen unveränderlichen commit ein (wie bei git). Der commit speichert seine Nachricht, den Autor, den Zeitstempel und den Parent im Volume (sodass diese Angaben beim push mitwandern) und wird schreibgeschützt markiert — er verweigert das Mounten. Der Arbeits-Fork bleibt unverändert, so wie git den Arbeitsbaum unangetastet lässt. Checke einen commit mit 'rdc repo checkout' aus, um eine beschreibbare Kopie zu erhalten.
rdc repo commit [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Arbeits-Fork, der committet werden soll (muss gemountet sein) | Ja | - |
--message <msg> | commit-Nachricht | Ja | - |
--author <author> | commit-Autor | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.12 branch
Erstellt eine benannte branch-Referenz, die auf den aktuellen commit (dessen Spitze) des Arbeits-Forks zeigt. branch-Referenzen liegen in der CLI-Konfiguration (Maschine = Objektspeicher, Konfiguration = Referenzspeicher).
rdc repo branch [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--branch <branch> | Name des neuen Branches | Ja | - |
--name <name> | Arbeits-Fork, auf dessen aktuellen commit die branch zeigt | Ja | - |
6.13 checkout
Klont einen unveränderlichen commit (oder eine branch-Spitze) per Reflink in einen frischen beschreibbaren Arbeits-Fork und richtet HEAD darauf aus. Nahezu sofort und von konstanter Dauer (BTRFS-Reflink).
rdc repo checkout [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
| `—ref <commit | branch>` | Commit-GUID (oder Branch-Name mit --from) zum Auschecken | Ja |
--tag <name> | Name für den neuen beschreibbaren Arbeits-Fork | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--from <workingFork> | --ref als Branch-Namen auf diesem Arbeits-Fork auflösen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.14 log
Gibt die commit-Historie aus, die vom aktuellen commit eines Arbeits-Forks (oder von einer commit-Referenz) aus erreichbar ist, und durchläuft dabei die von 'rdc repo commit' aufgezeichnete Parent-Kette. Liest den Spiegel außerhalb des Volumes, sodass kein commit entsperrt wird.
rdc repo log [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Arbeits-Fork oder commit, bei dem der Durchlauf der Historie beginnt | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--json | Die commit-Historie als JSON ausgeben | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.15 merge
Führt einen Quell-Commit oder -Fork in einen Ziel-Arbeits-Fork zusammen. Das aktive Ziel wird niemals direkt verändert: Das Ergebnis wird in einem Reflink-Klon erstellt und atomar eingewechselt. Ein eingehängtes oder laufendes Ziel wird abgelehnt, sofern nicht --force angegeben ist, das es zuvor sauber stilllegt. Ohne --resolve erfolgt eine bildweite Übernahme der Quelle (take-theirs; das Ziel wird zur Quelle); mit --resolve ours|theirs erfolgt eine dateiweise Drei-Wege-Zusammenführung gegen den gemeinsamen Vorfahren, wobei die jeweils einzigartigen Änderungen beider Seiten übernommen und beidseitige Konflikte gemäß dem Flag (ours oder theirs) aufgelöst werden.
rdc repo merge [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ziel-Arbeits-fork, in den zusammengeführt wird | Ja | - |
--from <source> | Quell-commit oder -fork, aus dem zusammengeführt wird | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--force | Ein eingehängtes/laufendes Ziel zuerst stilllegen, dann zusammenführen (verändert niemals einen aktiven Mount) | Nein | - |
| `—resolve <ours | theirs>` | Dateiweise Konfliktauflösung für einen Three-Way-Merge: 'ours' behält die Version des Ziels, 'theirs' übernimmt die der Quelle. Für ein Fast-Forward des gesamten Images (take-theirs) weglassen. | Nein |
--base <guid> | GUID des gemeinsamen Vorgänger-commits für einen three-way-merge (mit --resolve verwendet). Standardmäßig das Eltern-Element des Quell-commits oder der aktuelle commit des Ziels. | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.16 gc
Löscht unveränderliche Commit-Objekte auf einer Maschine, die kein Branch und kein HEAD erreicht (Erreichbarkeits-GC). Die Maschine ist der Objektspeicher; die CLI-Konfiguration ist der Referenzspeicher. Standardmäßig Probelauf: mit --apply löschen. Berührt niemals ein eingehängtes Objekt oder einen Arbeits-Fork.
rdc repo gc [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--apply | Die unerreichbaren Commits tatsächlich löschen (Standard ist eine Probelauf-Vorschau) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.17 fsck
Validiert die Referenzen der CLI-Konfiguration (Branches, HEAD) gegen die tatsächlich auf einer Maschine vorhandenen Objekte. Meldet hängende Referenzen (eine Referenz, die auf ein fehlendes Objekt zeigt) und verwaiste Commits (ein unveränderlicher Commit, den keine Referenz erreicht). Schreibgeschützt.
rdc repo fsck [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
6.18 fork
CoW-Fork (Copy-on-Write) eines Repositorys erstellen
rdc repo fork [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--parent <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--tag <name> | Tag für den Fork (erstellt Name:Tag) | Ja | - |
--checkpoint | CRIU checkpoint auf der Quelle vor dem fork erstellen (Prozessspeicherzustand für Wiederherstellung beim fork erfassen) | Nein | - |
--immutable | Markiert den Fork als schreibgeschützt: Er verweigert das Einhängen und hält sein Image dauerhaft byte-stabil (ein eingefrorener Commit/eine Basis für maschinenübergreifenden Delta-Push) | Nein | - |
--up | Nach dem Fork mounten und Dienste starten (Fork + Mount + Up in einem Befehl) | Nein | - |
--detach | Mit --up: Rückkehr, sobald Container gestartet sind; Healthchecks laufen im Hintergrund weiter (ideal für Wegwerf-Forks) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.19 takeover
Daten des Grand-Repositorys durch Daten eines Forks ersetzen. Das Grand-Repository behält seine Identität (GUID, networkId, Domains, Autostart, Backup-Kette), erhält aber die aktualisierten Daten des Forks. Die alten Produktionsdaten werden als Backup-Fork gespeichert. Verwendung: Upgrade im Fork testen → prüfen → Übernahme in die Produktion.
rdc repo takeover [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--force | Änderungswarnungen überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.20 resize
Repository offline skalieren (unterstützt Vergrößern und Verkleinern)
rdc repo resize [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--size <size> | Neue Repository-Größe (z.B. 10G, 100G, 1T) | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.21 expand
Eingehängtes Repository online erweitern (ohne Ausfallzeit)
rdc repo expand [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--size <size> | Neue Repository-Größe (z.B. 10G, 100G, 1T) | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.22 trim
Gibt Datastore-Poolspeicher aus gemounteten Repositories zurück (online, ohne Ausfallzeit). In Repositories gelöschte Blöcke werden per fstrim an den Pool zurückgegeben. Ohne --name werden alle gemounteten Repositories und der Datastore selbst getrimmt. Für Repositories mit laufendem Backup wird fstrim übersprungen; die Bereinigung über --docker läuft trotzdem
rdc repo trim [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--name <name> | Zu trimmendes Repository (Standard: alle gemounteten Repositories) | Nein | - |
--docker | Docker-Speicher freigeben (gestoppte Container, ungenutzte Images, Build-Cache); läuft auch bei einem aktiven Backup-Snapshot | Nein | - |
--docker-volumes | Zusätzlich ungenutzte Docker-Volumes entfernen | Nein | - |
--report-only | Discard-Status und rückgewinnbaren Speicher anzeigen, ohne zu trimmen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.23 policy
Verwaltet die automatische Größenrichtlinie des Speicher-Maintainers der Maschine: vergrößert das Kontingent eines Repositories online, wenn es voll läuft (nie über max-quota hinaus, nie bei knappem Pool), und führt geplante Trims aus. Automatisches Verkleinern gibt es nicht; dafür 'repo resize' verwenden. Ohne --name wird die maschinenweite Standardrichtlinie angesprochen
set
Setzt Felder der Größenrichtlinie. Nur übergebene Flags werden geändert; andere gespeicherte Felder behalten ihre Werte. Auto-Grow erfordert --max-quota: die Obergrenze ist die ausdrückliche Zustimmung zur Überprovisionierung des Pools
rdc repo policy set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--name <name> | Repository (Standard: maschinenweite Richtlinie) | Nein | - |
--auto-grow <bool> | Automatisches Online-Wachstum des Kontingents aktivieren (true/false) | Nein | - |
--max-quota <size> | Obergrenze für Auto-Grow (z. B. 200G); für Auto-Grow erforderlich | Nein | - |
--grow-threshold <percent> | Belegungs-% des Dateisystems, das ein Wachstum auslöst (Standard 85) | Nein | - |
--grow-step <step> | Wachstum pro Schritt: absolut (10G) oder Prozent des Kontingents (20%) | Nein | - |
--auto-trim <bool> | Geplanten Trim aktivieren (true/false) | Nein | - |
--trim-interval <hours> | Mindestabstand in Stunden zwischen automatischen Trims (Standard 24) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
get
Zeigt den gespeicherten Maschinenstandard, die Repository-Überschreibung (mit --name) und die effektive zusammengeführte Richtlinie, nach der der Maintainer handelt
rdc repo policy get [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--name <name> | Repository (Standard: maschinenweite Richtlinie) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.24 validate
Repository-Integrität überprüfen
rdc repo validate [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.25 autostart
Automatischen Repository-Start beim Hochfahren verwalten
enable
Autostart für ein Repository aktivieren
rdc repo autostart enable [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
disable
Autostart für ein Repository deaktivieren
rdc repo autostart disable [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
list
Repositories mit aktiviertem Autostart auflisten
rdc repo autostart list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.26 ownership
Repository-Verzeichnis-Besitz ändern
rdc repo ownership [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
--uid <uid> | Besitzer-UID (Standard: 7111) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.27 template
Vorlage auf ein Repository anwenden
list
Alle eingebetteten Bereitstellungsvorlagen der CLI auflisten
rdc repo template list
apply
Apply a template to a repository. Use a built-in template name (e.g. app-postgres) or --file for a custom JSON template. The template writes Rediaccfile, docker-compose.yml, and any additional files to the repository mount
rdc repo template apply [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Name der Zielmaschine | Ja | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Ja | - |
--file <path> | Pfad zur JSON-Vorlagendatei | Nein | - |
--grand <name> | Grand-Repository-Name (wird automatisch in GUID aufgelöst) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.28 push
Repository an ein Remote (Rechner oder Speicher) pushen. Namen weglassen, um alle Repos zu pushen. Der Zieltyp wird automatisch aus der Konfiguration erkannt. Bei Rechner-zu-Rechner-Transfer wird das verschlüsselte Repo-Image mit derselben GUID kopiert — dies ist ein Backup/Migration, kein Fork. Für einen unabhängigen Fork verwenden Sie zuerst 'repo fork', dann push. Verwenden Sie --up zum Bereitstellen nach dem Push
rdc repo push [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
--to <remote> | Name des Zielrechners oder Speichers (wird automatisch aus der Konfiguration erkannt) | Nein | - |
--to-machine <machine> | — | Nein | - |
--provision <provider> | Zielrechner automatisch über Cloud-Anbieter bereitstellen, wenn nicht vorhanden | Nein | - |
--checkpoint | CRIU-Checkpoint vor Backup erstellen (erfasst Prozessspeicherstatus für Live-Migration) | Nein | - |
--force | Vorhandenes Backup überschreiben erzwingen | Nein | - |
--up | Nach dem Push das Repository auf dem Zielrechner mounten und bereitstellen | Nein | - |
--tag <tag> | Deployment-Tag für Versionierung | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
-w, --watch | Auf Änderungen achten | Nein | - |
--parallel | Repositories parallel starten | Nein | - |
--concurrency <n> | Maximale gleichzeitige Repositories (Standard: 3) | Nein | 3 |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--bwlimit <limit> | Bandbreitenlimit für rsync-Transfer (z.B. "6M", "10M") | Nein | - |
--delta-base <guid> | Unveränderliche Basis-GUID, die auf beiden Rechnern byte-identisch vorliegt; nur geänderte Blöcke übertragen (Rechnerziel). Weglassen für automatische Basiswahl | Nein | - |
--strategy <strategy> | Block-Delta-Strategie bei Verwendung einer Delta-Basis: auto, physical oder shared | Nein | - |
--json | Übertragungsstatistik als JSON ausgeben | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.29 pull
Repository von einem Remote (Rechner oder Speicher) pullen. Namen weglassen, um alle Repos zu pullen. Der Quelltyp wird automatisch aus der Konfiguration erkannt. Verwenden Sie --up zum Bereitstellen nach dem Pull
rdc repo pull [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Nein | - |
--from <remote> | Name des Quellrechners oder Speichers (wird automatisch aus der Konfiguration erkannt) | Nein | - |
--from-machine <machine> | — | Nein | - |
--force | Vorhandenes Repository überschreiben erzwingen | Nein | - |
--up | Nach dem Pull das Repository auf diesem Rechner mounten und bereitstellen | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
-w, --watch | Auf Änderungen achten | Nein | - |
--parallel | Repositories parallel starten | Nein | - |
--concurrency <n> | Maximale gleichzeitige Repositories (Standard: 3) | Nein | 3 |
-y, --yes | Bestätigung für Stapeloperationen überspringen | Nein | - |
--bwlimit <limit> | Bandbreitenlimit für rsync-Transfer (z.B. "6M", "10M") | Nein | - |
--delta-base <guid> | Unveränderliche Basis-GUID, die auf beiden Rechnern byte-identisch vorliegt; nur geänderte Blöcke empfangen (Rechnerquelle) | Nein | - |
--strategy <strategy> | Block-Delta-Strategie bei Verwendung einer Delta-Basis: auto, physical oder shared | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.30 migrate
Live-Migration eines Repositorys von einer Maschine zur anderen mit minimaler Ausfallzeit. Zwei-Phasen-rsync: Massentransfer im Betrieb, dann kurzer Stopp für Delta-Sync. Unterstützt CRIU-Checkpoint für Prozessspeicher-Migration und automatische Bereitstellung von Zielmaschinen
rdc repo migrate [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--from <machine> | Name der Quellmaschine | Ja | - |
--to <machine> | Name der Zielmaschine | Ja | - |
--provision <provider> | Automatische Bereitstellung über Cloud-Anbieter (z.B. hetzner, linode) | Nein | - |
--bwlimit <limit> | Bandbreitenlimit für rsync-Transfer (z.B. 10M) | Nein | - |
--checkpoint | CRIU-Live-Migration: Prozessspeicherzustand erfassen und wiederherstellen | Nein | - |
--delta-base <guid> | Unveränderliche Basis-GUID für das Umschalt-Delta (erweitert; Standard ist die Phase-1-Basis) | Nein | - |
--strategy <strategy> | Block-Delta-Strategie für die Umschaltung: auto, physical oder shared | Nein | - |
--skip-dns | DNS-Umschaltung nach Migration überspringen | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
6.31 backup
Repository-Backups verwalten
list
Verfügbare Backups auf einem Remote (Rechner oder Speicher) auflisten
rdc repo backup list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--from <remote> | Name des Quellrechners oder Speichers (wird automatisch aus der Konfiguration erkannt) | Nein | - |
--from-machine <machine> | — | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
--path <subdir> | Unterverzeichnis innerhalb des Speicher-Roots. Bei Auslassung werden sowohl hot/ als auch cold/ aufgelistet und zusammengeführt. | Nein | - |
-w, --watch | Auf Änderungen achten | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
6.32 sync
Repositories und Dateien synchronisieren (Massen-Push/Pull, Dateitransfer)
upload
Dateien in ein Repository hochladen
rdc repo sync upload [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
--local <paths...> | Ein oder mehrere lokale Datei- oder Verzeichnispfade (Standard: aktuelles Verzeichnis) | Nein | - |
--remote <path> | Remote-Unterverzichnis-Pfad innerhalb des Repository | Nein | - |
--remote-file <path> | Einzelner entfernter Dateipfad (relativ zum Repository-Root) als Upload-Ziel. Schließt --remote aus. | Nein | - |
--mirror | Spiegelmodus - Remote-Dateien löschen, die nicht lokal vorhanden sind | Nein | - |
--verify | Dateien mit Prüfsummen nach der Synchronisierung überprüfen | Nein | - |
--confirm | Änderungen anzeigen und vor der Synchronisierung um Bestätigung bitten | Nein | - |
--exclude <patterns...> | Von der Synchronisierung auszuschließende Muster | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
download
Dateien aus einem Repository herunterladen
rdc repo sync download [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
--local <path> | Lokaler Verzeichnispfad (Standard: aktuelles Verzeichnis) | Nein | - |
--remote <path> | Remote-Unterverzichnis-Pfad innerhalb des Repository | Nein | - |
--remote-file <path> | Pfad einer entfernten Datei im Repository (Alternative zu --remote für Einzeldatei-Transfers) | Nein | - |
--mirror | Spiegelmodus - lokale Dateien löschen, die nicht auf Remote vorhanden sind | Nein | - |
--verify | Dateien mit Prüfsummen nach der Synchronisierung überprüfen | Nein | - |
--confirm | Änderungen anzeigen und vor der Synchronisierung um Bestätigung bitten | Nein | - |
--exclude <patterns...> | Von der Synchronisierung auszuschließende Muster | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
status
Synchronisierungsstatus prüfen und lokale/entfernte Dateien vergleichen
rdc repo sync status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Ja | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
--local <path> | Lokaler Verzeichnispfad (Standard: aktuelles Verzeichnis) | Nein | - |
--remote <path> | Remote-Unterverzichnis-Pfad innerhalb des Repository | Nein | - |
--remote-file <path> | Pfad einer entfernten Datei im Repository (Alternative zu --remote für Einzeldatei-Transfers) | Nein | - |
6.33 tunnel
Einen SSH-Port-Forward-Tunnel zum Port eines Containers auf einem Remote-Rechner erstellen. Container und Port werden automatisch erkannt, wenn eindeutig. Der Tunnel bleibt offen, bis Sie Strg+C drücken
rdc repo tunnel [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Nein | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
-c, --container <name> | Containername (automatisch erkannt, wenn nur einer läuft) | Nein | - |
--port <port> | Remote-Container-Port zum Weiterleiten | Nein | - |
--local <port> | Lokaler Port (Standard: gleich wie Remote-Port) | Nein | - |
--url-only | Gibt nur die lokale URL aus, sobald der Tunnel bereit ist (maschinenlesbar) | Nein | - |
6.34 secret
Manage per-repo secrets injected at deploy time. Two modes: env (REDIACC_SECRET_<KEY> via compose ${VAR} interpolation) and file (host tmpfs at /var/run/rediacc/secrets/<networkId>/<KEY>, mounted via Docker compose `secrets:` block). Secrets never enter the encrypted LUKS image, so forks inherit none — externals see the fork as a different principal.
get
Read a single secret. Returns a redacted stub (`<redacted:secret>:<digest8>`) under agent context regardless of policy.
rdc repo secret get [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <repository> | Repository-Name (z. B. mail, mail:staging). Ohne Tag wird :latest standardmäßig verwendet. | Ja | - |
--key <KEY> | Geheimnisschlüssel in UPPER_SNAKE_CASE (max. 64 Zeichen). Wird als REDIACC_SECRET_<KEY> für env-Modus oder /run/secrets/<key> in Containern für file-Modus bereitgestellt. | Ja | - |
list
Geheimnisschlüssel und -modi auflisten (niemals Werte, niemals Digests).
rdc repo secret list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <repository> | Repository-Name (z. B. mail, mail:staging). Ohne Tag wird :latest standardmäßig verwendet. | Ja | - |
set
Geheimnis setzen oder überschreiben. Forks erben nicht; auf dem Fork explizit setzen. Im Agent-Kontext ist eine Digest-Übereinstimmung mit --current erforderlich (passwd-Stil).
rdc repo secret set [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <repository> | Repository-Name (z. B. mail, mail:staging). Ohne Tag wird :latest standardmäßig verwendet. | Ja | - |
--key <KEY> | Geheimnisschlüssel in UPPER_SNAKE_CASE (max. 64 Zeichen). Wird als REDIACC_SECRET_<KEY> für env-Modus oder /run/secrets/<key> in Containern für file-Modus bereitgestellt. | Ja | - |
--value <value> | Geheimer Wert. `-` übergeben, um von stdin zu lesen (vermeidet Shell-Verlauf-Offenlegung). | Ja | - |
--mode <mode> | Lieferungsmodus: 'env' (sichtbar in Container-Umgebung, docker inspect) oder 'file' (tmpfs-Datei, niemals in env). Standard: file. | Nein | file |
--current <value> | SHA-256 digest of the previous value (passwd-style precondition). Required for overwrite under agent context; optional for first-write. | Nein | - |
--rotate-secret | Rotation bestätigen; die Vorbedingung von --current überspringen (als Rotation auditiert). Verwenden, wenn absichtlich rotiert wird, ohne den vorherigen Wert zu verifizieren. | Nein | - |
unset
Ein Geheimnis löschen. Im Agent-Kontext ist eine Digest-Übereinstimmung mit --current erforderlich.
rdc repo secret unset [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <repository> | Repository-Name (z. B. mail, mail:staging). Ohne Tag wird :latest standardmäßig verwendet. | Ja | - |
--key <KEY> | Geheimnisschlüssel in UPPER_SNAKE_CASE (max. 64 Zeichen). Wird als REDIACC_SECRET_<KEY> für env-Modus oder /run/secrets/<key> in Containern für file-Modus bereitgestellt. | Ja | - |
--current <value> | SHA-256 digest of the previous value (passwd-style precondition). Required for overwrite under agent context; optional for first-write. | Nein | - |
--rotate-secret | Rotation bestätigen; die Vorbedingung von --current überspringen (als Rotation auditiert). Verwenden, wenn absichtlich rotiert wird, ohne den vorherigen Wert zu verifizieren. | Nein | - |
7. Speicherverwaltung
Speicheranbieter verwalten und Remote-Dateien durchsuchen
7.1 list
Speicheranbieter auflisten
rdc storage list [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
--search <text> | Suchen in {{field}} | Nein | - |
--sort <field> | Sortieren nach Feld | Nein | - |
--desc | Absteigend sortieren | Nein | - |
7.2 create
Einen neuen Speicheranbieter erstellen
rdc storage create [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
7.3 rename
Einen Speicheranbieter umbenennen
rdc storage rename [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--current-name <name> | Aktueller Ressourcenname | Ja | - |
--new-name <name> | Neuer Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
7.4 delete
Einen Speicheranbieter löschen
rdc storage delete [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-t, --team <name> | Team-Name | Nein | - |
-f, --force | Bestätigungsaufforderungen überspringen | Nein | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
7.5 vault
Speicher-Tresor-Verwaltung (nur Cloud-Adapter)
rdc storage vault
7.6 browse
Dateien in einem Speichersystem durchsuchen
rdc storage browse [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
--path <subpath> | Unterverzeichnispfad zum Auflisten | Nein | “ |
7.7 prune
Verwaiste Backups aus dem Speicher löschen, die in keiner Konfiguration mehr vorhanden sind. Multi-Config-sicher mit Schonfrist-Schutz.
rdc storage prune [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Ausführungsmaschine: führt rclone list/delete-Aufrufe gegen den Speicher aus. Erforderlich, weil Clients rclone nicht lokal installiert haben sollen; Speicheranmeldedaten kommen weiterhin aus Ihrer lokalen Konfiguration. | Ja | - |
--dry-run | Zeigen, was ausgeführt würde, ohne Änderungen vorzunehmen | Nein | - |
--force | Bestätigungsaufforderungen überspringen | Nein | - |
--force-delete-mounted | Setzt die Mount-Sicherheitsprüfung außer Kraft und löscht Cloud-Backups, auch wenn die Quell-GUID aktuell gemountet ist oder einen laufenden Container auf der Ausführungsmaschine hat. Unterscheidet sich von --force (das nur die Schonfrist für archivierte Repos überschreibt). | Nein | - |
--grace-days <days> | Schonfrist in Tagen für kürzlich archivierte Repos (Standard: 7) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
--skip-router-restart | Neustart des Route-Servers nach Binary-Update überspringen | Nein | - |
8. VS Code-Integration
VS Code Remote SSH zu einer Maschine oder einem Repository öffnen
8.1 connect
Verbinden Sie sich mit einer Machine oder einem Repository in VS Code
rdc vscode connect [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Nein | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
-f, --folder <path> | Pfad zum Remote-Ordner zum Öffnen | Nein | - |
--url-only | Drucke die VS Code-URI statt sie zu starten | Nein | - |
-n, --new-window | In neuem VS Code-Fenster öffnen | Nein | - |
--skip-env-setup | Remote-Umgebungs-Setup überspringen | Nein | - |
--insiders | VS Code Insiders-Einstellungen verwenden | Nein | - |
--browser | Browser-VS Code innerhalb der Repository-Sandbox bereitstellen (kein lokales VS Code erforderlich) | Nein | - |
--no-open | URL ausgeben, ohne den lokalen Browser zu starten | Nein | - |
--local <port> | Lokaler Port (Standard: gleich wie Remote-Port) | Nein | - |
--server-provider <id> | Browser-VS-Code-Server-Implementierung (openvscode, code-server) | Nein | - |
--server-archive <file> | Vorinstallierter Server-Archivpfad auf der Maschine (für Offline-Installationen) | Nein | - |
8.2 list
Konfigurierte VS Code-SSH-Verbindungen auflisten
rdc vscode list
8.3 cleanup
Entfernen Sie VS Code-SSH-Konfigurationen
rdc vscode cleanup [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--all | Alle rediacc-SSH-Konfigurationen entfernen | Nein | - |
-c, --connection <name> | Spezifische Verbindung entfernen | Nein | - |
8.4 check
Überprüfen Sie die VS Code-Installation und Konfiguration
rdc vscode check [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--insiders | VS Code Insiders-Einstellungen verwenden | Nein | - |
8.5 serve
Browser-VS-Code-Server innerhalb der Sandbox verwalten
status
Anzeigen, ob der Browser-VS-Code-Server läuft
rdc vscode serve status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Nein | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
--server-provider <id> | Browser-VS-Code-Server-Implementierung (openvscode, code-server) | Nein | - |
stop
Browser-VS-Code-Server stoppen
rdc vscode serve stop [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Nein | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
--server-provider <id> | Browser-VS-Code-Server-Implementierung (openvscode, code-server) | Nein | - |
9. SSH-Terminalzugang
SSH-Terminal-Zugriff auf Machines und Repositories
9.1 connect
Verbinden Sie sich über SSH mit einer Machine oder einem Repository
rdc term connect [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --team <name> | Team-Name | Nein | - |
-m, --machine <name> | Machine-Name | Nein | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
-c, --command <cmd> | Ausführen eines Befehls statt interaktiver Shell | Nein | - |
--container <id> | Mit einem bestimmten Docker-Container verbinden | Nein | - |
--container-action <action> | Container-Aktion: Terminal, Logs, Stats, Exec | Nein | - |
--log-lines <lines> | Anzahl der angezeigten Log-Zeilen (Standard: 50) | Nein | - |
--follow | Logs-Ausgabe folgen | Nein | - |
--external | Erzwinge Start in externem Terminal-Fenster | Nein | - |
--reset-home | Per-Repo Home-Overlay für einen Neustart zurücksetzen | Nein | - |
10. Protokoll-Handler
{{scheme}}://-Protokoll-URLs registrieren und verarbeiten
10.1 register
Registrieren Sie den Protokollhandler systemweit
rdc protocol register [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--system | Systemweit registrieren (erfordert Admin-Rechte) | Nein | - |
--force | Neu-Registrierung erzwingen, auch wenn bereits registriert | Nein | - |
10.2 unregister
Deregistrieren Sie den Protokollhandler vom System
rdc protocol unregister [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--system | Systemweite Registrierung deregistrieren (erfordert Admin-Rechte) | Nein | - |
10.3 status
Registrierungsstatus des Protokollhandlers anzeigen
rdc protocol status
10.4 open
Öffnen Sie eine {{scheme}}://-URL und führen Sie die Aktion aus
rdc protocol open <url>
10.5 build
Erstellen Sie eine {{scheme}}://-URL aus Komponenten
rdc protocol build [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--token <token> | Authentifizierungs-Token | Ja | - |
-t, --team <name> | Team-Name | Ja | - |
-m, --machine <name> | Machine-Name | Ja | - |
-r, --repository <name> | Repository-Name (verbindet sich mit Repository-Umgebung) | Nein | - |
-a, --action <action> | Aktion ({{actions}}) | Nein | desktop |
-p, --params <key=value...> | Zusätzliche Parameter | Nein | - |
10.6 parse
Analysieren Sie eine {{scheme}}://-URL und zeigen Sie Komponenten
rdc protocol parse <url>
11. Schnellbefehle (Shortcuts)
11.1 run
Führen Sie eine Funktion aus (Kurzform: queue create)
rdc run
11.2 trace
Eine Aufgabe verfolgen (Kurzbefehl für: queue trace)
rdc trace
11.3 cancel
Eine Aufgabe abbrechen (Kurzbefehl für: queue cancel)
rdc cancel
11.4 retry
Eine fehlgeschlagene Aufgabe wiederholen (Kurzbefehl für: queue retry)
rdc retry
12. Abonnementverwaltung
Maschinenlizenzierung und Abonnement verwalten
12.1 login
Mit einem API-Token aus dem Webportal authentifizieren
rdc subscription login [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-t, --token <token> | API-Token (rdt_...) | Nein | - |
--server <url> | Account-Server-URL | Nein | - |
12.2 logout
Gespeichertes Abonnement-Token löschen
rdc subscription logout
12.3 status
Abonnement- und Lizenzstatus anzeigen
rdc subscription status
12.4 activation
Maschinenaktivierungsverwaltung
status
Maschinenaktivierungsstatus für eine Maschine anzeigen
rdc subscription activation status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
12.5 repo
Repository-Lizenzverwaltung
status
Installierte Repository-Lizenzen auf einer Maschine anzeigen
rdc subscription repo status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
12.6 refresh
Maschinenlizenz erneuern
activation
Maschinenaktivierung auf Remote-Maschine aktualisieren
rdc subscription refresh activation [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
repos
Repository-Lizenzen auf Remote-Maschine stapelweise aktualisieren
rdc subscription refresh repos [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
-m, --machine <name> | Machine-Name | Ja | - |
repo
Repository-Lizenz für ein bestimmtes Repository aktualisieren
rdc subscription refresh repo [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--name <name> | Ressourcenname | Ja | - |
-m, --machine <name> | Machine-Name | Ja | - |
13. CLI-Updates
CLI-Updates prüfen und anwenden
rdc update [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--force | Update erzwingen, auch wenn bereits aktuell | Nein | - |
--check-only | Nur auf Updates prüfen, ohne herunterzuladen | Nein | - |
--rollback | Auf die vorherige Version zurücksetzen | Nein | - |
--status | Auto-Update-Status und Diagnose anzeigen | Nein | - |
--channel <channel> | Release-Kanal festlegen (stable oder edge) | Nein | - |
14. Systemdiagnose
CLI-Umgebung und Renet-Integration diagnostizieren
rdc doctor
15. Experimentelle VM-Operationen
Experimentelle VM-Operationen (bereitstellen, verwalten, zerstören)
15.1 up
VM-Cluster lokal bereitstellen
rdc ops up [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--force | Neustart aller VMs erzwingen | Nein | - |
--parallel | VMs parallel erstellen | Nein | - |
--basic | Minimaler Cluster (Bridge + 1 Worker) | Nein | - |
--lite | VM-Bereitstellung überspringen (nur Status) | Nein | - |
--skip-orchestration | Cluster-Orchestrierung überspringen | Nein | - |
--backend <backend> | Virtualisierungs-Backend (kvm|qemu, automatisch erkannt) | Nein | - |
--os <name> | VM-Betriebssystem (z.B. ubuntu-24.04, debian-12) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
15.2 down
VM-Cluster zerstören
rdc ops down [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--backend <backend> | Virtualisierungs-Backend (kvm|qemu, automatisch erkannt) | Nein | - |
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
15.3 status
VM-Cluster-Status anzeigen
rdc ops status [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--backend <backend> | Virtualisierungs-Backend (kvm|qemu, automatisch erkannt) | Nein | - |
15.4 ssh
SSH-Verbindung zu einer VM
rdc ops ssh [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--vm-id <id> | ID der virtuellen Maschine | Ja | - |
-c, --command <cmd> | Ausführen eines Befehls statt interaktiver Shell | Nein | - |
--backend <backend> | Virtualisierungs-Backend (kvm|qemu, automatisch erkannt) | Nein | - |
--user <user> | SSH-Benutzername für VM-Verbindung | Nein | - |
15.5 setup
Virtualisierungsvoraussetzungen installieren
rdc ops setup [options]
| Option | Beschreibung | Erforderlich | Standard |
|---|---|---|---|
--debug | Debug-Ausgabe aktivieren (lokaler Modus) | Nein | - |
15.6 check
Virtualisierungsvoraussetzungen überprüfen
rdc ops check
Häufige Fehlermeldungen
Wenn etwas schiefgeht, liefert die CLI klare Fehlermeldungen:
| Fehler | Bedeutung |
|---|---|
| Authentifizierung erforderlich. Ausführen: rdc auth login | Sie müssen sich zuerst anmelden |
| Keine aktive Konfiguration. Erstellen Sie eine mit: rdc config init --name <name> | Keine Konfiguration aktiv — erstellen Sie eine mit `rdc config init` |
| Berechtigung verweigert | Ihr Konto verfügt nicht über die erforderlichen Berechtigungen |
| Machine-Name erforderlich. Verwenden Sie --machine <name> | Geben Sie eine Maschine mit `--machine` an oder setzen Sie einen Kontextstandard |
| Team-Name erforderlich. Verwenden Sie --team oder stellen Sie den Kontext ein. | Geben Sie ein Team mit `--team` an oder setzen Sie einen Kontextstandard |
| Regionsname erforderlich. Verwenden Sie --region oder stellen Sie den Kontext ein. | Geben Sie eine Region mit `--region` an oder setzen Sie einen Kontextstandard |
Ausgabeformate
Alle List/Get-Befehle unterstützen mehrere Ausgabeformate über `--output`:
rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table # default
Dies erleichtert die Integration der Rediacc CLI in Skripte, CI/CD-Pipelines und Automatisierungsworkflows.