Zum Hauptinhalt springen Zur Navigation springen Zur Fußzeile springen
Begrenzte Zeit: Design Partner Programm — BUSINESS Plan auf Lebenszeit

CLI-Anwendung

Vollständige Anleitung zur Verwendung der Rediacc-Befehlszeilenschnittstelle für die Plattformverwaltung

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:

OptionBeschreibung
--outputAusgabeformat (table|json|yaml|csv). Standard mit REDIACC_DEFAULT_OUTPUT überschreiben.
--configBestimmte Konfiguration für diesen Befehl verwenden
--langSprache überschreiben ({{languages}})
--forceBestä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]
OptionBeschreibungErforderlichStandard
--command <path>Ausführen eines Befehls statt interaktiver ShellJa-

1.3 exec

Befehl mit JSON-Eingabe von stdin ausführen

rdc agent exec [options]
OptionBeschreibungErforderlichStandard
--command <path>Ausführen eines Befehls statt interaktiver ShellJa-

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]
OptionBeschreibungErforderlichStandard
--dry-runVorschau dessen, was entfernt würde, ohne die Konfigurationsdatei zu ändern. Spiegelt die Standard-Aus-Semantik der anderen prune-Befehle.Nein-
--certs-onlyAuf 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-onlyAuf das Bereinigen abgelaufener Archive beschränken. Überspringt Zertifikat-Cache und Querverweis-Bereinigung. Schließt sich mit --certs-only und --refs-only aus.Nein-
--refs-onlyAuf 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-archivedALLE 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
--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üsselnNein-
-u, --api-url <url>API-URLNein-
--server <url>Account-Server-URLNein-

2.3 list

Alle Konfigurationsdateien auflisten

rdc config list

2.4 show

Aktuelle Konfigurationsdetails anzeigen

rdc config show [options]
OptionBeschreibungErforderlichStandard
--revealKlartext für sensible Werte anzeigen (nur interaktiv)Nein-

2.5 delete

Eine Konfigurationsdatei löschen

rdc config delete [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-

2.6 set

Einen Standardwert setzen (Team, Region, Bridge)

rdc config set [options]
OptionBeschreibungErforderlichStandard
--key <key>KonfigurationsschlüsselJa-
--value <value>KonfigurationswertJa-

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]
OptionBeschreibungErforderlichStandard
--key <key>KonfigurationsschlüsselNein-

2.8 recover

Konfiguration aus Sicherungsdatei (.bak) wiederherstellen

rdc config recover [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-y, --yesBestätigungsaufforderung überspringenNein-

2.9 set-ssh

SSH-Konfiguration für die aktuelle Konfiguration aktualisieren

rdc config set-ssh

2.10 set-renet

Pfad zur renet-Binärdatei für den lokalen Modus setzen

rdc config set-renet

2.11 ssh

SSH-Schlüsselkonfiguration verwalten

set

SSH-Schlüssel für die aktuelle Konfiguration festlegen

rdc config ssh set [options]
OptionBeschreibungErforderlichStandard
--key <path>Pfad zur privaten SSH-SchlüsseldateiJa-
--embedSchlüsselinhalt in der Konfiguration einbetten statt Pfad zu speichernNein-

show

Aktuelle SSH-Schlüsselkonfiguration anzeigen

rdc config ssh show

remove

SSH-Schlüssel aus der aktuellen Konfiguration entfernen

rdc config ssh remove

2.12 remote

Remote-Konfigurationsspeicher-Verbindung verwalten

enable

Diese Konfiguration mit verschlüsseltem Remote-Speicher verknüpfen

rdc config remote enable [options]
OptionBeschreibungErforderlichStandard
--headlessGerätecode-Authentifizierung verwenden (für Server ohne GUI)Nein-
--api-url <url>Account-Server-URLNein-

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.13 machine

Maschinen in der aktuellen Konfiguration verwalten

add

Maschine zur aktuellen Konfiguration hinzufügen

rdc config machine add [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--ip <address>Machine-IP-Adresse oder HostnameJa-
--user <username>SSH-BenutzernameJa-
--port <port>SSH-PortNein22
--datastore <path>Datastore-Pfad auf MachineNein/mnt/rediacc

remove

Maschine aus der aktuellen Konfiguration entfernen

rdc config machine remove [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-

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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameNein-

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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--datastore <path>Datenspeicherpfad auf Remote-MaschineNein/mnt/rediacc
--datastore-size <size>Datenspeichergröße (z.B. 95%, 100G)Nein95%
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

set-ceph

Ceph RBD-Konfiguration für eine Maschine festlegen

rdc config machine set-ceph [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--pool <name>Ceph-Poolname (z.B. rbd)Ja-
--image <name>RBD-Imagename (z.B. datastore-prod1)Ja-
--cluster <name>Ceph-Cluster-NameNeinceph

2.14 repository

Repository-Zuordnungen in der aktuellen Konfiguration verwalten

add

Repository-GUID-Zuordnung zur aktuellen Konfiguration hinzufügen

rdc config repository add [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--guid <guid>Repository-GUID (UUID aus Backup-Dateinamen)Ja-
--tag <tag>Repository-TagNeinlatest
--credential <credential>Repository-Anmeldedaten (Verschlüsselungspassphrase)Nein-
--network-id <id>Netzwerk-ID für Docker-Isolierung (2816, 2880, ...). Wird automatisch zugewiesen, wenn nicht angegebenNein-

remove

Repository-Zuordnung aus der aktuellen Konfiguration entfernen

rdc config repository remove [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-

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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--new-name <name>Neuer RessourcennameNein-

purge-archived

Alle archivierten Anmeldedaten dauerhaft löschen

rdc config repository purge-archived

2.15 provider

Cloud-Provider für automatische Maschinenbereitstellung verwalten

add

Cloud-Provider hinzufügen

rdc config provider add [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--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-ProviderJa-
--region <region>Standardregion für neue MaschinenNein-
--type <type>Standard-Instanztyp/-größeNein-
--image <image>Standard-Betriebssystem-ImageNein-
--ssh-user <user>SSH-Benutzername für neue VMs (Standard: root)Nein-
--resource <type>Benutzerdefiniert: OpenTofu-Ressourcentyp für VMsNein-
--label-attr <attr>Benutzerdefiniert: Attributname für VM-BezeichnungNein-
--region-attr <attr>Benutzerdefiniert: Attributname für RegionNein-
--size-attr <attr>Benutzerdefiniert: Attributname für InstanztypNein-
--image-attr <attr>Benutzerdefiniert: Attributname für Betriebssystem-ImageNein-
--ipv4-output <attr>Benutzerdefiniert: Ausgabeattribut für IPv4-AdresseNein-
--ipv6-output <attr>Benutzerdefiniert: Ausgabeattribut für IPv6-AdresseNein-
--ssh-key-attr <attr>Benutzerdefiniert: Attributname für SSH-SchlüsselNein-
--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üsselNein-

remove

Cloud-Provider-Konfiguration entfernen

rdc config provider remove [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-

list

Konfigurierte Cloud-Provider auflisten

rdc config provider list

2.16 storage

Speicher-Backends in der aktuellen Konfiguration verwalten

import

Speicher aus einer rclone-Konfigurationsdatei importieren

rdc config storage import [options]
OptionBeschreibungErforderlichStandard
--file <path>Pfad zur DateiJa-
--name <name>Nur diesen benannten Abschnitt importierenNein-

remove

Speicher aus der aktuellen Konfiguration entfernen

rdc config storage remove [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-

list

Speicher in der aktuellen Konfiguration auflisten

rdc config storage list

2.17 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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-

push

Infrastrukturkonfiguration auf Maschine übertragen (Traefik-Proxy, Router, Cloudflare DNS). Führen Sie zuerst 'config infra set <machine>' aus

rdc config infra push [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

2.18 cert-cache

Zwischengespeicherte TLS-Zertifikate verwalten

pull

TLS-Zertifikate von einer Maschine herunterladen und zwischenspeichern

rdc config cert-cache pull [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--no-pruneBereinigung veralteter Netzwerk-ID-Zertifikate überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

push

Zwischengespeicherte TLS-Zertifikate auf eine Maschine hochladen

rdc config cert-cache push [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

status

Zwischengespeicherten Zertifikatsbestand anzeigen

rdc config cert-cache status

clear

Zertifikats-Cache entfernen

rdc config cert-cache clear

2.19 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]
OptionBeschreibungErforderlichStandard
--pointer <pointer>JSON-Pointer zum Feld (z. B. /credentials/cfDnsApiToken)Ja-
--revealKlartext für sensible Werte anzeigen (nur interaktives TTY; Audit-Log)Nein-
--digestSHA-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]
OptionBeschreibungErforderlichStandard
--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]
OptionBeschreibungErforderlichStandard
--pointer <pointer>JSON-Pointer zum Feld (z. B. /credentials/cfDnsApiToken)Ja-
--current <value>Aktueller Klartextwert — für Löschungen sensibler Pfade erforderlichNein-

rotate

Einen sensiblen Wert ohne --current rotieren. Nur interaktives TTY; laut geloggt.

rdc config field rotate [options]
OptionBeschreibungErforderlichStandard
--pointer <pointer>JSON-Pointer zum sensiblen Feld (z. B. /credentials/cfDnsApiToken)Ja-
--new <value>Neuer WertJa-

list

Alle registrierten Pointer-Vorlagen mit Art und Commit/Verschlüsselungs-Policy auflisten.

rdc config field list [options]
OptionBeschreibungErforderlichStandard
--sensitiveNur sensible (nicht-öffentliche) Vorlagen anzeigenNein-

2.20 edit

Aktive Konfiguration in $EDITOR als zensiertes JSONC öffnen. Nur für Menschen; Agenten werden abgelehnt.

rdc config edit [options]
OptionBeschreibungErforderlichStandard
--revealKlartext für sensible Werte anzeigen (nur interaktives TTY; Audit-Log)Nein-
--dumpAktuelle 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 --applyNein-
--editor <cmd>Editor-Befehl (folgt git-Reihenfolge: --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR)Nein-

2.21 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]
OptionBeschreibungErforderlichStandard
--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.22 backup-strategy

Benannte Backup-Strategien verwalten (Hot/Cold-Modi, Ziele, Zeitplanung)

set

Backup-Strategie erstellen oder aktualisieren

rdc config backup-strategy set [options]
OptionBeschreibungErforderlichStandard
--name <name>Strategiename (erforderlich)Ja-
--destination <name>Zielname innerhalb der StrategieNein-
--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-
--enableStrategie oder Ziel aktivierenNein-
--disableStrategie oder Ziel deaktivierenNein-

remove

Backup-Strategie oder Ziel entfernen

rdc config backup-strategy remove [options]
OptionBeschreibungErforderlichStandard
--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]
OptionBeschreibungErforderlichStandard
--name <name>Strategiename (zeigt alle wenn weggelassen)Nein-

3. Datenspeicherverwaltung

Ceph RBD-Datenspeicher-Lebenszyklus verwalten (init, fork, unfork, status)

3.1 init

Datenspeicher auf einer Maschine initialisieren (lokal oder Ceph RBD)

rdc datastore init [options]
OptionBeschreibungErforderlichStandard
-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 cephNeinlocal
--pool <name>Ceph-Pool-Name (Standard: aus Maschinenkonfiguration oder rbd)Neinrbd
--image <name>Ceph RBD-Image-Name (Standard: aus Maschinenkonfiguration über set-ceph)Nein-
--cluster <name>Ceph-Cluster-Name (Standard: ceph)Neinceph
--forceInitialisierung erzwingen, auch wenn der Datenspeicher bereits existiert (WARNUNG: formatiert den Speicher neu)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

3.2 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]
OptionBeschreibungErforderlichStandard
-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 QuellmaschineJa-
--cow-size <size>COW-Sicherungsdateigröße (Standard: auto, wächst bei Bedarf)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

3.3 unfork

Fork bereinigen: COW aushängen, Clone entfernen, Snapshot entfernen

rdc datastore unfork [options]
OptionBeschreibungErforderlichStandard
-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-
--forceBereinigung fortsetzen, auch wenn einzelne Schritte fehlschlagen (z.B. Aushängen, Snapshot-Entfernung)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

3.4 status

Datenspeicher-Backend, Größe, Nutzung, Mount-Status und cow_mode (falls geforkt) anzeigen

rdc datastore status [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Maschinenname (wo der Ceph-Datenspeicher gehostet wird)Ja-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

4. Maschinenverwaltung

Remote-Maschinen verwalten (Status, Container, Dienste, Health)

4.1 list

Machines auflisten

rdc machine list [options]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
--search <text>Suchen in {{field}}Nein-
--sort <field>Sortieren nach FeldNein-
--descAbsteigend sortierenNein-

4.2 create

Eine neue Machine erstellen

rdc machine create [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
-b, --bridge <name>Bridge-NameNein-
--vault <json>Machine-Vault-Daten als JSON-StringNein-

4.3 rename

Eine Maschine umbenennen

rdc machine rename [options]
OptionBeschreibungErforderlichStandard
--current-name <name>Aktueller RessourcennameJa-
--new-name <name>Neuer RessourcennameJa-
-t, --team <name>Team-NameNein-

4.4 delete

Eine Machine löschen

rdc machine delete [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
-f, --forceBestätigungsaufforderungen überspringenNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-

4.7 update

Machine-Konfiguration aktualisieren

rdc machine update

4.8 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-

4.9 containers

Laufende Container auf einer Maschine auflisten

rdc machine containers [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
--health-checkZustandsprüfungsmodus - beendet mit Code 2 bei ungesunden ContainernNein-

4.10 services

systemd-Dienste auf einer Machine auflisten

rdc machine services [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
--stability-checkStabilitätsprüfungsmodus - beendet mit Code 2 bei fehlgeschlagenen/neu startenden DienstenNein-

4.11 query

Vollständigen Maschinenstatus anzeigen (System, Repos, Container, Dienste)

rdc machine query [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--systemNur Systeminformationen einbeziehenNein-
--repositoriesNur Repositories einbeziehenNein-
--containersNur Container einbeziehenNein-
--servicesNur Dienste einbeziehenNein-
--networkNur Netzwerkschnittstellen einbeziehenNein-
--block-devicesNur Blockgeräte einbeziehenNein-
--licensesLizenzstatus der Repositorys einbeziehenNein-
--storage-healthBTRFS-Fragmentierung und reflink-Einsparungen pro Repository anzeigenNein-
--sync-certsAuch den ACME-Zertifikats-Cache nach einer Abfrage von der Maschine abrufenNein-
--strictMit Nicht-Null-Code (Code 2) beenden, wenn ein Container den Health-Drift-Schwellenwert überschritten hatNein-

4.12 vault-status

Parsed-Vault-Status für eine Machine anzeigen

rdc machine vault-status [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-

4.13 repos

Auf einer Machine bereitgestellte Repositories auflisten

rdc machine repos [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
--search <text>Repositories nach Name filternNein-

4.14 test-connection

SSH-Verbindung zu einer Machine testen und Host-Schlüssel erfassen

rdc machine test-connection [options]
OptionBeschreibungErforderlichStandard
--ip <address>Machine-IP-Adresse oder HostnameJa-
--user <name>SSH-BenutzernameJa-
-t, --team <name>Team-NameNein-
-b, --bridge <name>Bridge-NameNein-
--port <number>SSH-PortNein22
--password <pwd>SSH-Passwort für erste AuthentifizierungNein-
--datastore <path>Datastore-Pfad auf MachineNein/mnt/rediacc
-m, --machine <name>Machine-Name (zum Aktualisieren des Vault nach Test)Nein-
--saveknown_hosts nach erfolgreichem Test im Machine-Vault speichernNein-

Tipp: Verwenden Sie `--save-known-hosts`, um den Host-Schlüssel nach einem erfolgreichen Test automatisch im Maschinen-Vault zu speichern.

4.15 provision

Neue Maschine bei einem Cloud-Anbieter mit OpenTofu bereitstellen

rdc machine provision [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--provider <name>Name des Cloud-Anbieters (aus config provider add)Ja-
--region <region>Standard-Region überschreibenNein-
--type <type>Standard-Instanztyp überschreibenNein-
--image <image>Standard-Betriebssystem-Image überschreibenNein-
--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 --infraNein-
--no-infraInfrastrukturkonfiguration überspringen (Proxy + DNS)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

4.16 deprovision

Cloud-bereitgestellte Maschine zerstören und aus Konfiguration entfernen

rdc machine deprovision [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--forceBestätigungsaufforderung überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

4.17 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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--dry-runGenerierte Units anzeigen ohne zu deployenNein-
--forceAuch fortfahren, wenn gerade ein Backup läuft (neue Unit greift beim nächsten Timer-Tick; laufender Vorgang behält seine alte Unit)Nein-
--reset-failedFehlerstatus berührter Dienste nach erfolgreichem Deploy zurücksetzen (standardmäßig aus, bewahrt das Fehlersignal)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

now

Backup sofort auf einem Remote-Rechner auslösen

rdc machine backup now [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--strategy <name>Strategiename (löst alle aus wenn weggelassen)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

status

Backup-Status und Timer-Zustand auf einem Remote-Rechner anzeigen

rdc machine backup status [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--strategy <name>Details für eine bestimmte Strategie anzeigenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

cancel

Laufendes Backup auf einem Remote-Rechner abbrechen

rdc machine backup cancel [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-
--strategy <name>Strategiename (bricht alle ab wenn weggelassen)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

4.18 prune

Verwaiste Datenspeicher-Ressourcen und veraltete Snapshots von einer Maschine entfernen

rdc machine prune [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--dry-runAnzeigen, was entfernt würde, ohne Änderungen vorzunehmenNein-
--orphaned-reposAuch Repo-Images bereinigen, die in keiner Konfiguration enthalten sindNein-
--prune-unknownLö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-mountedSetzt 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-
--forceBestätigungsaufforderungen überspringenNein-
--grace-days <days>Schonfrist in Tagen für kürzlich archivierte Repos (Standard: 7)Nein-
--debugDebug-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]
OptionBeschreibungErforderlichStandard
--config <name>Konfigurationsname für alle BefehleNein-
--timeout <ms>Standard-Befehls-Timeout in MillisekundenNein120000
--allow-grandDestruktive Operationen auf Grand-Repositories (nicht Fork) erlauben. Standard: Nur-Fork-ModusNein-

6. Repository-Lebenszyklus

Verschlüsselte Repositories auf Maschinen deployen und verwalten

6.1 mount

Repository mounten (LUKS-Container öffnen)

rdc repo mount [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--checkpointNach dem Mounten von Checkpoint wiederherstellenNein-
--no-dockerDocker-Daemon nach dem Mounten nicht startenNein-
--parallelRepositories parallel startenNein-
--concurrency <n>Maximale gleichzeitige Repositories (Standard: 3)Nein3
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.2 unmount

Repository unmounten

rdc repo unmount [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--checkpointCheckpoint vor dem Unmounten erstellenNein-
--parallelRepositories parallel startenNein-
--concurrency <n>Maximale gleichzeitige Repositories (Standard: 3)Nein3
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.3 up

Repository deployen oder aktualisieren (Mount, Dienste starten)

rdc repo up [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--skip-checkpointCRIU checkpoint-Wiederherstellung überspringen, auch wenn checkpoint-Daten vorhanden sind (Neustart erzwingen)Nein-
--tlsDediziertes TLS-Zertifikat für dieses Repository anfordern (Forks verwenden standardmäßig das gemeinsame Maschinenzertifikat)Nein-
--include-forksAuch geforkte Repositories einbinden/startenNein-
--mount-onlyNur einbinden, keine Dienste startenNein-
--parallelRepositories parallel startenNein-
--concurrency <n>Maximale gleichzeitige Repositories (Standard: 3)Nein3
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

6.4 up-all

Alle Repositories auf einer Maschine deployen

rdc repo up-all

6.5 down

Repository-Dienste stoppen

rdc repo down [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--unmountRepository nach dem Stoppen unmountenNein-
--checkpointCRIU checkpoint vor dem Stoppen erstellen (Prozessspeicherzustand für spätere Wiederherstellung via 'repo up' sichern)Nein-
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

6.6 status

Repository-Status abrufen

rdc repo status [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.7 list

Repositories auf einer Maschine auflisten

rdc repo list [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.8 create

Neues verschlüsseltes Repository erstellen

rdc repo create [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--size <size>Repository-Größe (z.B. 10G, 100G, 1T)Ja-
--no-dockerDocker-Daemon nach der Erstellung nicht startenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.9 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--archive-configKonfigurationseintrag nach deletedRepositories verschieben zur späteren WiederherstellungNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

6.10 fork

CoW-Fork (Copy-on-Write) eines Repositorys erstellen

rdc repo fork [options]
OptionBeschreibungErforderlichStandard
--parent <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--tag <name>Tag für den Fork (erstellt Name:Tag)Ja-
--checkpointCRIU checkpoint auf der Quelle vor dem fork erstellen (Prozessspeicherzustand für Wiederherstellung beim fork erfassen)Nein-
--upNach dem Fork mounten und Dienste starten (Fork + Mount + Up in einem Befehl)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.11 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--forceÄnderungswarnungen überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.12 resize

Repository offline skalieren (unterstützt Vergrößern und Verkleinern)

rdc repo resize [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--size <size>Neue Repository-Größe (z.B. 10G, 100G, 1T)Ja-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.13 expand

Eingehängtes Repository online erweitern (ohne Ausfallzeit)

rdc repo expand [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--size <size>Neue Repository-Größe (z.B. 10G, 100G, 1T)Ja-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.14 validate

Repository-Integrität überprüfen

rdc repo validate [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.15 autostart

Automatischen Repository-Start beim Hochfahren verwalten

enable

Autostart für ein Repository aktivieren

rdc repo autostart enable [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

disable

Autostart für ein Repository deaktivieren

rdc repo autostart disable [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

list

Repositories mit aktiviertem Autostart auflisten

rdc repo autostart list [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Name der ZielmaschineJa-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.16 ownership

Repository-Verzeichnis-Besitz ändern

rdc repo ownership [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
--uid <uid>Besitzer-UID (Standard: 7111)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.17 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Name der ZielmaschineJa-
-r, --repository <name>Repository-Name (verbindet sich mit Repository-Umgebung)Ja-
--file <path>Pfad zur JSON-VorlagendateiNein-
--grand <name>Grand-Repository-Name (wird automatisch in GUID aufgelöst)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.18 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
--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 vorhandenNein-
--checkpointCRIU-Checkpoint vor Backup erstellen (erfasst Prozessspeicherstatus für Live-Migration)Nein-
--forceVorhandenes Backup überschreiben erzwingenNein-
--upNach dem Push das Repository auf dem Zielrechner mounten und bereitstellenNein-
--tag <tag>Deployment-Tag für VersionierungNein-
-m, --machine <name>Machine-NameJa-
-w, --watchAuf Änderungen achtenNein-
--parallelRepositories parallel startenNein-
--concurrency <n>Maximale gleichzeitige Repositories (Standard: 3)Nein3
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--bwlimit <limit>Bandbreitenlimit für rsync-Transfer (z.B. "6M", "10M")Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.19 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameNein-
--from <remote>Name des Quellrechners oder Speichers (wird automatisch aus der Konfiguration erkannt)Nein-
--from-machine <machine>Nein-
--forceVorhandenes Repository überschreiben erzwingenNein-
--upNach dem Pull das Repository auf diesem Rechner mounten und bereitstellenNein-
-m, --machine <name>Machine-NameJa-
-w, --watchAuf Änderungen achtenNein-
--parallelRepositories parallel startenNein-
--concurrency <n>Maximale gleichzeitige Repositories (Standard: 3)Nein3
-y, --yesBestätigung für Stapeloperationen überspringenNein-
--bwlimit <limit>Bandbreitenlimit für rsync-Transfer (z.B. "6M", "10M")Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.20 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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--from <machine>Name der QuellmaschineJa-
--to <machine>Name der ZielmaschineJa-
--provision <provider>Automatische Bereitstellung über Cloud-Anbieter (z.B. hetzner, linode)Nein-
--bwlimit <limit>Bandbreitenlimit für rsync-Transfer (z.B. 10M)Nein-
--checkpointCRIU-Live-Migration: Prozessspeicherzustand erfassen und wiederherstellenNein-
--skip-dnsDNS-Umschaltung nach Migration überspringenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

6.21 backup

Repository-Backups verwalten

list

Verfügbare Backups auf einem Remote (Rechner oder Speicher) auflisten

rdc repo backup list [options]
OptionBeschreibungErforderlichStandard
--from <remote>Name des Quellrechners oder Speichers (wird automatisch aus der Konfiguration erkannt)Nein-
--from-machine <machine>Nein-
-m, --machine <name>Machine-NameJa-
--path <subdir>Unterverzeichnis innerhalb des Speicher-Roots. Bei Auslassung werden sowohl hot/ als auch cold/ aufgelistet und zusammengeführt.Nein-
-w, --watchAuf Änderungen achtenNein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

6.22 sync

Repositories und Dateien synchronisieren (Massen-Push/Pull, Dateitransfer)

push

Repositories in Cloud-Speicher übertragen (Name weglassen, um alle zu übertragen)

rdc repo sync push

pull

Repositories aus Cloud-Speicher abrufen (Name weglassen, um alle abzurufen)

rdc repo sync pull

upload

Dateien in ein Repository hochladen

rdc repo sync upload [options]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
-m, --machine <name>Machine-NameJa-
-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 RepositoryNein-
--remote-file <path>Einzelner entfernter Dateipfad (relativ zum Repository-Root) als Upload-Ziel. Schließt --remote aus.Nein-
--mirrorSpiegelmodus - Remote-Dateien löschen, die nicht lokal vorhanden sindNein-
--verifyDateien mit Prüfsummen nach der Synchronisierung überprüfenNein-
--confirmÄnderungen anzeigen und vor der Synchronisierung um Bestätigung bittenNein-
--exclude <patterns...>Von der Synchronisierung auszuschließende MusterNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

download

Dateien aus einem Repository herunterladen

rdc repo sync download [options]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
-m, --machine <name>Machine-NameJa-
-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 RepositoryNein-
--remote-file <path>Pfad einer entfernten Datei im Repository (Alternative zu --remote für Einzeldatei-Transfers)Nein-
--mirrorSpiegelmodus - lokale Dateien löschen, die nicht auf Remote vorhanden sindNein-
--verifyDateien mit Prüfsummen nach der Synchronisierung überprüfenNein-
--confirmÄnderungen anzeigen und vor der Synchronisierung um Bestätigung bittenNein-
--exclude <patterns...>Von der Synchronisierung auszuschließende MusterNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

status

Synchronisierungsstatus prüfen und lokale/entfernte Dateien vergleichen

rdc repo sync status [options]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
-m, --machine <name>Machine-NameJa-
-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 RepositoryNein-
--remote-file <path>Pfad einer entfernten Datei im Repository (Alternative zu --remote für Einzeldatei-Transfers)Nein-

6.23 snapshot

BTRFS-Snapshots auf Remote-Rechnern verwalten

create

BTRFS-Snapshot eines Repositorys erstellen

rdc repo snapshot create

list

Snapshots auf einem Remote-Rechner auflisten

rdc repo snapshot list

delete

Snapshot von einem Remote-Rechner löschen

rdc repo snapshot delete

6.24 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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameNein-
-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 WeiterleitenNein-
--local <port>Lokaler Port (Standard: gleich wie Remote-Port)Nein-

6.25 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]
OptionBeschreibungErforderlichStandard
--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]
OptionBeschreibungErforderlichStandard
--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 --current-Digest-Übereinstimmung erforderlich (passwd-Stil).

rdc repo secret set [options]
OptionBeschreibungErforderlichStandard
--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.Neinfile
--current <value>SHA-256 digest of the previous value (passwd-style precondition). Required for overwrite under agent context; optional for first-write.Nein-
--rotate-secretRotation bestätigen; --current-Vorbedingung ü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 --current-Digest-Übereinstimmung erforderlich.

rdc repo secret unset [options]
OptionBeschreibungErforderlichStandard
--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-secretRotation bestätigen; --current-Vorbedingung ü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]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
--search <text>Suchen in {{field}}Nein-
--sort <field>Sortieren nach FeldNein-
--descAbsteigend sortierenNein-

7.2 create

Einen neuen Speicheranbieter erstellen

rdc storage create [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-

7.3 rename

Einen Speicheranbieter umbenennen

rdc storage rename [options]
OptionBeschreibungErforderlichStandard
--current-name <name>Aktueller RessourcennameJa-
--new-name <name>Neuer RessourcennameJa-
-t, --team <name>Team-NameNein-

7.4 delete

Einen Speicheranbieter löschen

rdc storage delete [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-t, --team <name>Team-NameNein-
-f, --forceBestätigungsaufforderungen überspringenNein-
--dry-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-

7.5 vault

Speicher-Tresor-Verwaltung (nur Cloud-Adapter)

rdc storage vault

7.6 browse

Dateien in einem Speichersystem durchsuchen

rdc storage browse [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
--path <subpath>Unterverzeichnispfad zum AuflistenNein

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]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-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-runZeigen, was ausgeführt würde, ohne Änderungen vorzunehmenNein-
--forceBestätigungsaufforderungen überspringenNein-
--force-delete-mountedSetzt 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-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-
--skip-router-restartNeustart des Route-Servers nach Binary-Update überspringenNein-

7.8 pull

Ein Backup aus dem Cloud-Speicher auf eine Maschine herunterladen

rdc storage pull

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]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
-m, --machine <name>Machine-NameNein-
-r, --repository <name>Repository-Name (verbindet sich mit Repository-Umgebung)Nein-
-f, --folder <path>Pfad zum Remote-Ordner zum ÖffnenNein-
--url-onlyDrucke die VS Code-URI statt sie zu startenNein-
-n, --new-windowIn neuem VS Code-Fenster öffnenNein-
--skip-env-setupRemote-Umgebungs-Setup überspringenNein-
--insidersVS Code Insiders-Einstellungen verwendenNein-

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]
OptionBeschreibungErforderlichStandard
--allAlle rediacc-SSH-Konfigurationen entfernenNein-
-c, --connection <name>Spezifische Verbindung entfernenNein-

8.4 check

Überprüfen Sie die VS Code-Installation und Konfiguration

rdc vscode check [options]
OptionBeschreibungErforderlichStandard
--insidersVS Code Insiders-Einstellungen verwendenNein-

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]
OptionBeschreibungErforderlichStandard
-t, --team <name>Team-NameNein-
-m, --machine <name>Machine-NameNein-
-r, --repository <name>Repository-Name (verbindet sich mit Repository-Umgebung)Nein-
-c, --command <cmd>Ausführen eines Befehls statt interaktiver ShellNein-
--container <id>Mit einem bestimmten Docker-Container verbindenNein-
--container-action <action>Container-Aktion: Terminal, Logs, Stats, ExecNein-
--log-lines <lines>Anzahl der angezeigten Log-Zeilen (Standard: 50)Nein-
--followLogs-Ausgabe folgenNein-
--externalErzwinge Start in externem Terminal-FensterNein-
--reset-homePer-Repo Home-Overlay für einen Neustart zurücksetzenNein-

10. Protokoll-Handler

{{scheme}}://-Protokoll-URLs registrieren und verarbeiten

10.1 register

Registrieren Sie den Protokollhandler systemweit

rdc protocol register [options]
OptionBeschreibungErforderlichStandard
--systemSystemweit registrieren (erfordert Admin-Rechte)Nein-
--forceNeu-Registrierung erzwingen, auch wenn bereits registriertNein-

10.2 unregister

Deregistrieren Sie den Protokollhandler vom System

rdc protocol unregister [options]
OptionBeschreibungErforderlichStandard
--systemSystemweite 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]
OptionBeschreibungErforderlichStandard
--token <token>Authentifizierungs-TokenJa-
-t, --team <name>Team-NameJa-
-m, --machine <name>Machine-NameJa-
-r, --repository <name>Repository-Name (verbindet sich mit Repository-Umgebung)Nein-
-a, --action <action>Aktion ({{actions}})Neindesktop
-p, --params <key=value...>Zusätzliche ParameterNein-

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]
OptionBeschreibungErforderlichStandard
-t, --token <token>API-Token (rdt_...)Nein-
--server <url>Account-Server-URLNein-

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]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-

12.5 repo

Repository-Lizenzverwaltung

status

Installierte Repository-Lizenzen auf einer Maschine anzeigen

rdc subscription repo status [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-

12.6 refresh

Maschinenlizenz erneuern

activation

Maschinenaktivierung auf Remote-Maschine aktualisieren

rdc subscription refresh activation [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-

repos

Repository-Lizenzen auf Remote-Maschine stapelweise aktualisieren

rdc subscription refresh repos [options]
OptionBeschreibungErforderlichStandard
-m, --machine <name>Machine-NameJa-

repo

Repository-Lizenz für ein bestimmtes Repository aktualisieren

rdc subscription refresh repo [options]
OptionBeschreibungErforderlichStandard
--name <name>RessourcennameJa-
-m, --machine <name>Machine-NameJa-

13. CLI-Updates

CLI-Updates prüfen und anwenden

rdc update [options]
OptionBeschreibungErforderlichStandard
--forceUpdate erzwingen, auch wenn bereits aktuellNein-
--check-onlyNur auf Updates prüfen, ohne herunterzuladenNein-
--rollbackAuf die vorherige Version zurücksetzenNein-
--statusAuto-Update-Status und Diagnose anzeigenNein-
--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]
OptionBeschreibungErforderlichStandard
--forceNeustart aller VMs erzwingenNein-
--parallelVMs parallel erstellenNein-
--basicMinimaler Cluster (Bridge + 1 Worker)Nein-
--liteVM-Bereitstellung überspringen (nur Status)Nein-
--skip-orchestrationCluster-Orchestrierung überspringenNein-
--backend <backend>Virtualisierungs-Backend (kvm|qemu, automatisch erkannt)Nein-
--os <name>VM-Betriebssystem (z.B. ubuntu-24.04, debian-12)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

15.2 down

VM-Cluster zerstören

rdc ops down [options]
OptionBeschreibungErforderlichStandard
--backend <backend>Virtualisierungs-Backend (kvm|qemu, automatisch erkannt)Nein-
--debugDebug-Ausgabe aktivieren (lokaler Modus)Nein-

15.3 status

VM-Cluster-Status anzeigen

rdc ops status [options]
OptionBeschreibungErforderlichStandard
--backend <backend>Virtualisierungs-Backend (kvm|qemu, automatisch erkannt)Nein-

15.4 ssh

SSH-Verbindung zu einer VM

rdc ops ssh [options]
OptionBeschreibungErforderlichStandard
--vm-id <id>ID der virtuellen MaschineJa-
-c, --command <cmd>Ausführen eines Befehls statt interaktiver ShellNein-
--backend <backend>Virtualisierungs-Backend (kvm|qemu, automatisch erkannt)Nein-
--user <user>SSH-Benutzername für VM-VerbindungNein-

15.5 setup

Virtualisierungsvoraussetzungen installieren

rdc ops setup [options]
OptionBeschreibungErforderlichStandard
--debugDebug-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:

FehlerBedeutung
Authentifizierung erforderlich. Ausführen: rdc auth loginSie 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 verweigertIhr 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.