Referencia de la CLI de Rediacc
Descripción general
La **CLI de Rediacc** (`rdc`) es una interfaz de línea de comandos para gestionar infraestructura autoalojada — máquinas, repositorios, almacenamiento, copias de seguridad y más.
Instalación
Descargue el último binario para su plataforma desde la [página de versiones de Rediacc](https://www.rediacc.com) o instale a través de su gestor de paquetes:
# macOS / Linux
curl -fsSL https://www.rediacc.com | sh
# Or use the packaged binary directly
./rdc --help
Opciones Globales
Todos los comandos admiten estos flags globales:
| Opción | Descripción |
|---|---|
--output | Formato de salida (table|json|yaml|csv). Anular el valor por defecto con REDIACC_DEFAULT_OUTPUT. |
--config | Usar una configuración específica para este comando |
--lang | Anulación de idioma ({{languages}}) |
--force | Omitir indicadores de confirmación |
1. Gestión de Configuración
Gestiona archivos de configuración: crear, cambiar, editar, conciliar el estado y funciones transversales (campos, auditoría, claves SSH, sincronización remota).
Los archivos de configuración almacenan detalles de conexión (URL de API, credenciales, equipo/región/puente predeterminados) para que pueda cambiar entre entornos rápidamente.
1.1 prune
Elimina lastre del archivo de configuración local en ~/.config/rediacc/<config>.json. Se limpian tres categorías, todas puramente locales (sin llamadas SSH/renet): (1) entradas de caché de certificados ACME cuyo ancla GUID/repo/máquina ya no está en la configuración activa; (2) repositorios archivados cuyo período de gracia ha expirado (por defecto 7 días, ver defaults.pruneGraceDays); (3) referencias cruzadas colgantes (machine→strategy, strategy→repo). Los recursos en uso, credenciales, tokens de almacenamiento y known-hosts nunca se tocan. El comportamiento por defecto es aplicar cambios; usa --dry-run para previsualizar solo.
rdc config prune [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Previsualiza lo que se eliminaría sin modificar el archivo de configuración. Refleja la semántica por defecto desactivada de los demás comandos prune. | No | - |
--certs-only | Restringe al bucket de caché de certificados ACME. Omite la purga de archivos y la limpieza de referencias cruzadas. Mutuamente excluyente con --archives-only y --refs-only. | No | - |
--archives-only | Restringe a la purga de archivos expirados. Omite caché de certificados y limpieza de referencias cruzadas. Excluyente con --certs-only y --refs-only. | No | - |
--refs-only | Restringe a referencias cruzadas colgantes (machine→strategy, strategy→repo excluye/incluye). Omite caché de certificados y archivos. Excluyente con --certs-only y --archives-only. | No | - |
--purge-archived | Descarta TODOS los repositorios archivados sin importar su antigüedad, no solo los que superaron el período de gracia. Equivale a ejecutar 'rdc repo admin archive purge' para cada repositorio archivado. Úsalo solo cuando estés seguro de que no necesitas ninguna de las credenciales guardadas para restaurar. | No | - |
--orphan-repos | Elimina las entradas de repositorio que no están asignadas a ninguna máquina. Cada entrada contiene la credencial y la clave SSH de ese repositorio, por lo que esta acción es irreversible. Ejecuta primero 'rdc config reconcile' para que la asignación refleje las máquinas. | No | - |
--grace-days <days> | Anula la ventana de gracia del archivo (en días) para esta invocación. Recurre a defaults.pruneGraceDays en la configuración, luego a 7 si ninguno está establecido. | No | - |
1.2 init
Crear un nuevo archivo de configuración con nombre
En modo local puede agregar máquinas directamente:
rdc config init [name] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--ssh-key <path> | Ruta a clave privada SSH (p. ej., ~/.ssh/id_rsa) | No | - |
--renet-path <path> | Ruta al binario renet (predeterminado: renet en PATH) | No | - |
--master-password <password> | Cifrar recursos con una contraseña maestra | No | - |
--server <url> | URL del servidor de cuenta | No | - |
1.3 list
Listar todos los archivos de configuración
rdc config list
1.4 show
Mostrar detalles de la configuración actual
rdc config show [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--reveal | Mostrar texto plano para valores sensibles (solo interactivo) | No | - |
1.5 current
Muestra la configuración activa: nombre, archivo, servidor y canal resueltos, estado del token
rdc config current
1.6 delete
Eliminar un archivo de configuración
rdc config delete <name>
1.7 set
Establecer un valor predeterminado (equipo, región, puente)
rdc config set <key> <value>
1.8 clear
Borrar valores predeterminados (todos o uno específico)
rdc config clear [key]
1.9 recover
Restaurar configuración desde archivo de respaldo (.bak)
rdc config recover [name] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
1.10 ssh
Gestionar la configuración de clave SSH
set
Establecer clave SSH para la configuración actual
rdc config ssh set [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <path> | Ruta al archivo de clave SSH privada | Sí | - |
--embed | Incrustar el contenido de la clave en la configuración en lugar de almacenar la ruta | No | - |
show
Mostrar la configuración actual de clave SSH
rdc config ssh show
remove
Eliminar clave SSH de la configuración actual
rdc config ssh remove
1.11 remote
Gestionar conexión de almacenamiento remoto de configuración
enable
Vincular esta configuración al almacenamiento cifrado remoto
rdc config remote enable [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--headless | Usar flujo de código de dispositivo (para servidores sin interfaz) | No | - |
--password | Inscríbete sin interfaz con un password slot preaprovisionado (sin navegador) | No | - |
--api-url <url> | URL del servidor de cuenta | No | - |
--force | Reemplazar el contenido local diferente con la copia del servidor sin confirmación | No | - |
disable
Desconectar del almacenamiento remoto y guardar configuración localmente
rdc config remote disable
status
Mostrar estado de conexión remota
rdc config remote status
refresh
Forzar recarga de configuración desde almacenamiento remoto
rdc config remote refresh
1.12 field
Operaciones de campos de configuración direccionados por puntero (get/set/unset/rotate/list). Punteros JSON (RFC 6901) como /credentials/cfDnsApiToken.
get
Lee un único valor de configuración por puntero JSON. Los campos sensibles se redactan salvo con --reveal (solo humanos).
rdc config field get [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--pointer <pointer> | Puntero JSON al campo (p. ej. /credentials/cfDnsApiToken) | Sí | - |
--reveal | Mostrar texto en claro de valores sensibles (solo TTY interactivo; auditado) | No | - |
--digest | Imprimir el resumen SHA-256 en lugar del valor (seguro para compartir con agentes) | No | - |
set
Escribir un valor de configuración en un puntero JSON. Los caminos sensibles requieren --current (puerta de conocimiento).
rdc config field set [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--pointer <pointer> | Puntero JSON al campo (p. ej. /credentials/cfDnsApiToken) | Sí | - |
--new <value> | Valor nuevo (se interpreta como JSON si empieza con {, [, ", true, false, null o un número) | Sí | - |
--current <value> | Valor actual en claro — obligatorio para mutar caminos sensibles (prueba de conocimiento) | No | - |
unset
Eliminar un valor de configuración en un puntero JSON. Los caminos sensibles requieren --current.
rdc config field unset [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--pointer <pointer> | Puntero JSON al campo (p. ej. /credentials/cfDnsApiToken) | Sí | - |
--current <value> | Valor actual en claro — obligatorio para eliminar caminos sensibles | No | - |
rotate
Rotar un valor sensible sin --current. Solo TTY interactivo; auditado con énfasis.
rdc config field rotate [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--pointer <pointer> | Puntero JSON al campo sensible (p. ej. /credentials/cfDnsApiToken) | Sí | - |
--new <value> | Valor nuevo | Sí | - |
list
Listar cada plantilla de puntero registrada con su tipo y política de commit/encriptación.
rdc config field list [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--sensitive | Mostrar solo plantillas sensibles (no públicas) | No | - |
1.13 edit
Abre la configuración activa en $EDITOR como proyección JSONC redactada. Solo humanos; los agentes son rechazados.
rdc config edit [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--reveal | Mostrar texto en claro de valores sensibles (solo TTY interactivo; auditado) | No | - |
--dump | Imprimir la configuración actual como JSONC en stdout en lugar de abrir el editor (solo lectura; seguro para agentes cuando está redactado) | No | - |
--apply <file> | Aplicar un archivo JSONC editado (omite el lanzamiento de $EDITOR) | No | - |
--current-secrets <file> | Archivo JSON que mapea puntero→texto antiguo en claro para la puerta de conocimiento en --apply | No | - |
--editor <cmd> | Orden de editor (sigue la precedencia de git: --editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR) | No | - |
1.14 audit
Inspeccionar el registro de auditoría de configuración (JSONL encadenado por hash en ~/.config/rediacc/audit.log.jsonl)
log
Imprimir entradas de auditoría recientes como JSON
rdc config audit log [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--since <spec> | Mostrar solo entradas posteriores a (ej.: '24h', '7d', timestamp ISO) | No | - |
--path <glob> | Filtrar por patrón de puntero JSON (ej.: /credentials/*) | No | - |
--actor <kind> | Filtrar por tipo de actor (human|agent) | No | - |
tail
Transmitir nuevas entradas a medida que se escriben (Ctrl+C para detener)
rdc config audit tail
verify
Verificar la integridad de la cadena SHA-256 de todas las entradas de auditoría
rdc config audit verify
1.15 reconcile
Reconstruye el estado en tiempo de ejecución a partir del estado real de las máquinas. Corrige datos de acoplamiento y enrutamiento obsoletos.
rdc config reconcile [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--machine <m...> | Limitar la conciliación a estas máquinas | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
--accept-observed | Reescribe una ubicación declarada para que coincida con dónde está realmente la imagen, pero solo cuando eso es inequívoco (observada en exactamente una máquina). Los duplicados siguen siendo conflictos. | No | - |
1.16 rotate-cek
Rotar la clave de cifrado de configuración de la organización
rdc config rotate-cek [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--api-url <url> | URL del servidor de cuenta | No | - |
2. Gestión de almacenamiento de datos
Pools de almacenamiento con nombre que alojan repositorios. Un almacén de datos es móvil (acóplalo a una máquina, muévelo a otra) y de acoplamiento único (solo una máquina lo posee a la vez). El almacén de datos por defecto implícito de cada máquina no se gestiona aquí.
2.1 resize
Amplía o reduce un almacén de datos. Es una operación sin conexión: los repositorios que contiene deben estar detenidos.
rdc datastore resize <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--size <size> | Nuevo tamaño (por ejemplo 200G) | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
2.2 fork
Bifurca un almacén de datos mediante copy-on-write. El fork es instantáneo y su coste no crece con el tamaño del pool. Necesita el backend rbd: un almacén de datos local no tiene clonado a nivel de bloque, así que los repositorios que contiene se bifurcan uno a uno por reflink (rdc repo fork).
rdc datastore fork <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--tag <tag> | Etiqueta para el fork (el resultado es nombre:etiqueta) | Sí | - |
--attach-to <machine> | Acoplar el fork a esta máquina de inmediato (requiere --writes) | No | - |
--writes <disposition> | A dónde van las escrituras del fork: local (instantáneo, efímero) o ceph (clon duradero) | No | - |
--cow-size <size> | Tamaño del overlay para --writes local | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
2.3 status
Muestra un almacén de datos: su backend, acoplamiento, uso, repositorios e instantáneas. Un almacén de datos desacoplado igualmente reporta su registro.
rdc datastore status <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
2.4 create
Crea un almacén de datos adicional con nombre en una máquina. Un backend local es un pool respaldado por archivo en esa máquina y se queda ahí. Un backend rbd vive en Ceph, así que puede moverse a cualquier máquina que alcance el mismo clúster. Pasa --cluster para convertirlo en un almacén de datos del mundo Kubernetes; esa referencia queda fija en la creación.
rdc datastore create <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Máquina en la que crear el almacén de datos | Sí | - |
--size <size> | Tamaño del almacén de datos (por ejemplo 100G) | Sí | - |
--backend <type> | Backend de almacenamiento: local (respaldado por archivo, permanece en esta máquina) o rbd (Ceph, movible) | No | local |
--pool <name> | Pool de Ceph para el backend rbd (por defecto: rbd) | No | - |
--image <name> | Nombre de imagen RBD para el backend rbd (por defecto: el nombre del almacén de datos) | No | - |
--cluster <name> | Clúster de Kubernetes al que pertenece este almacén de datos. Si se establece, solo admite repositorios de Kubernetes; si no, solo repositorios docker. Se fija en la creación. | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
2.5 list
Listar los almacenes de datos con nombre, dónde están acoplados y qué contienen.
rdc datastore list [place]
2.6 attach
Acopla un almacén de datos a una máquina. Solo una máquina lo posee a la vez, así que acoplarlo en otro sitio lo mueve: la máquina anterior lo libera primero, y si el traspaso falla, el acoplamiento original queda intacto. Un fork debe indicar a dónde van sus escrituras.
rdc datastore attach <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <machine> | Máquina a la que acoplar el almacén de datos | Sí | - |
--writes <disposition> | A dónde van las escrituras de un fork: local (instantáneo, efímero, se pierde al desacoplar) o ceph (clon duradero en el pool). Obligatorio para un fork. | No | - |
--cow-size <size> | Tamaño del overlay para --writes local | No | - |
--no-auto | No volver a acoplar este almacén de datos automáticamente al arrancar | No | - |
--force | Forzar el desalojo de una máquina obsoleta que no liberó el almacén de datos correctamente | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
2.7 detach
Desacopla un almacén de datos de su máquina. Antes se detienen los repositorios que contiene. Un fork acoplado con --writes local no tiene dónde volcar su overlay, así que desacoplarlo descarta el overlay y requiere --discard.
rdc datastore detach <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--discard | Descartar un fork de escrituras locales y su overlay. Los datos no son recuperables. | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
2.8 snapshot
Toma y lista instantáneas puntuales de un almacén de datos. Una instantánea no cuesta nada en reposo y es de donde clona un fork.
create
Toma una instantánea puntual de un almacén de datos. Nada se detiene. El instante es consistente ante fallos, no consistente a nivel de aplicación: si necesitas que una escritura específica quede DENTRO de la instantánea, sincronízala antes.
rdc datastore snapshot create <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--snapshot <label> | Etiqueta de la instantánea (por defecto: una marca de tiempo UTC) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
list
Listar las instantáneas de un almacén de datos.
rdc datastore snapshot list <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
2.9 delete
Destruye un almacén de datos y todo su contenido. Primero se desacopla; si no puede desacoplarse limpiamente, la eliminación falla en lugar de dejar huérfano un pool montado.
rdc datastore delete <datastore> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
--force | Eliminar aunque aún haya repositorios que apunten a él. Sus datos se eliminan con él. | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3. Gestión de Máquinas
Inspeccionar el estado de máquinas remotas: recursos del sistema, contenedores en ejecución, servicios systemd, repositorios desplegados y diagnósticos de salud. Consultas de solo lectura; para modificar repos usa `repo`. Subcomandos clave: status (estado completo, acotable con --system, --containers, --repositories, --services), health, list, add, remove, setup, prune, provision, deprovision.
3.1 list
Listar máquinas
rdc machine list [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--search <text> | Buscar en {{field}} | No | - |
--sort <field> | Ordenar por campo | No | - |
--desc | Ordenar en orden descendente | No | - |
3.2 health
Verificar salud de la máquina para pipelines CI/CD
El comando health muestra métricas del sistema, estado de contenedores, estabilidad de servicios e información de almacenamiento — útil para verificaciones de pipelines CI/CD.
rdc machine health <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-t, --team <name> | Nombre de equipo | No | - |
3.3 provision
Aprovisionar una nueva máquina en un proveedor de nube usando OpenTofu
rdc machine provision <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--provider <name> | Nombre del proveedor de nube (de machine provider add) | Sí | - |
--region <region> | Anular región predeterminada | No | - |
--type <type> | Anular tipo de instancia predeterminado | No | - |
--image <image> | Anular imagen de SO predeterminada | No | - |
--ssh-user <user> | Nombre de usuario SSH para la nueva VM (predeterminado: root) | No | - |
--base-domain <domain> | Dominio base para infraestructura (ej. example.com). Implica --infra | No | - |
--no-infra | Omitir configuración de infraestructura (proxy + DNS) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.4 deprovision
Destruir una máquina aprovisionada en la nube y eliminar de la configuración
rdc machine deprovision <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Omitir indicador de confirmación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.5 prune
Eliminar recursos huérfanos del almacén de datos e instantáneas obsoletas de una máquina
rdc machine prune <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Mostrar lo que se eliminaría sin realizar cambios | No | - |
--orphaned-repos | Elimina todas las imágenes de repositorio en la máquina que no estén en tu configuración local de la CLI. Es un método poco fino: también elimina forks creados por otras herramientas que no tienen entrada en la configuración local, incluso cuando su espejo renet los identifica correctamente como forks. Usa --prune-unknown para el comportamiento más preciso que respeta el espejo. | No | - |
--prune-unknown | Elimina solo repos que el espejo renet .interim/state no puede clasificar (no en configuración local Y sin espejo marcado como fork). Estrictamente más estrecho que --orphaned-repos: los forks sin configuración se preservan cuando el espejo los identifica. Huérfanos heredados pre-espejo y grands obsoletos cuya entrada de configuración fue eliminada caen ambos en esta categoría. | No | - |
--force-delete-mounted | Anula la verificación de seguridad de montaje y elimina repos incluso si están actualmente montados o tienen contenedores Docker en ejecución. Distinto de --force (que solo anula el período de gracia del archivo). Aplica tanto a --orphaned-repos como a --prune-unknown. | No | - |
--force | Omitir indicadores de confirmación | No | - |
--grace-days <days> | Período de gracia en días para repositorios archivados recientemente (predeterminado: 7) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.6 add
Agregar una máquina a la configuración actual
rdc machine add <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--ip <address> | Dirección IP de máquina o nombre de host | Sí | - |
--user <username> | Nombre de usuario SSH | Sí | - |
--port <port> | Puerto SSH | No | 22 |
3.7 infra
Gestionar configuración de infraestructura (proxy, DNS, certificados)
cert
Gestionar certificados TLS en caché
Eliminar la caché de certificados
rdc machine infra cert clear
Descargar y almacenar en caché certificados TLS desde una máquina
rdc machine infra cert pull <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--no-prune | Omitir limpieza de certificados de ID de red obsoletos | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
Subir certificados TLS en caché a una máquina
rdc machine infra cert push <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
Mostrar inventario de certificados en caché
rdc machine infra cert status
push
Enviar configuración de infraestructura a la máquina (proxy Traefik, enrutador, Cloudflare DNS). Ejecuta primero 'machine infra set <machine>'
rdc machine infra push <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
set
Establecer configuración de infraestructura para una máquina (específico de máquina: IPs, dominio, puertos; compartido: email de certificado, token DNS de Cloudflare)
rdc machine infra set <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--public-ipv4 <ip> | Dirección IPv4 pública (por máquina) | No | - |
--public-ipv6 <ip> | Dirección IPv6 pública (por máquina) | No | - |
--base-domain <domain> | Dominio base para aplicaciones (por máquina) | No | - |
--cert-email <email> | Correo para notificaciones de certificados TLS (compartido entre máquinas) | No | - |
--cf-dns-token <token> | Token de Cloudflare DNS API para desafío ACME DNS-01 (compartido entre máquinas) | No | - |
--tcp-ports <ports> | Puertos TCP a reenviar (separados por comas, ej., 25,143,465) | No | - |
--udp-ports <ports> | Puertos UDP a reenviar (separados por comas, ej., 53) | No | - |
show
Mostrar configuración de infraestructura para una máquina
rdc machine infra show <machine>
3.8 provider
Gestionar proveedores de nube para aprovisionamiento automático de máquinas
add
Añadir un proveedor de nube
rdc machine provider add <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--provider <source> | Fuente de proveedor conocido (ej., linode/linode, hetznercloud/hcloud) | No | - |
--source <source> | Fuente personalizada de proveedor OpenTofu (ej., vultr/vultr) | No | - |
--token <token> | Token de API para el proveedor de nube | Sí | - |
--region <region> | Región predeterminada para nuevas máquinas | No | - |
--type <type> | Tipo/tamaño de instancia predeterminado | No | - |
--image <image> | Imagen de SO predeterminada | No | - |
--ssh-user <user> | Usuario SSH para nuevas VMs (por defecto: root) | No | - |
--resource <type> | Personalizado: tipo de recurso OpenTofu para VMs | No | - |
--label-attr <attr> | Personalizado: nombre del atributo para la etiqueta de la VM | No | - |
--region-attr <attr> | Personalizado: nombre del atributo para la región | No | - |
--size-attr <attr> | Personalizado: nombre del atributo para el tipo de instancia | No | - |
--image-attr <attr> | Personalizado: nombre del atributo para la imagen del SO | No | - |
--ipv4-output <attr> | Personalizado: atributo de salida para la dirección IPv4 | No | - |
--ipv6-output <attr> | Personalizado: atributo de salida para la dirección IPv6 | No | - |
--ssh-key-attr <attr> | Personalizado: nombre del atributo para claves SSH | No | - |
--ssh-key-format <format> | Personalizado: formato de clave SSH (inline_list o resource_id) | No | - |
--ssh-key-resource <type> | Personalizado: tipo de recurso OpenTofu para claves SSH | No | - |
list
Listar proveedores de nube configurados
rdc machine provider list
remove
Eliminar configuración de proveedor de nube
rdc machine provider remove <name>
3.9 remove
Eliminar una máquina de la configuración actual
rdc machine remove <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
--force | Eliminar la máquina aunque todavía tenga repositorios ubicados en ella, dejando esas ubicaciones colgantes. | No | - |
3.10 scan-keys
Escanear claves de host SSH para máquinas en la configuración actual
rdc machine scan-keys [name]
3.11 setup
Aprovisionar una máquina remota para repositorios (instala renet, configura Docker, almacén BTRFS). Idempotente. Requerido después de config machine add y antes de repo create
rdc machine setup <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--datastore-path <path> | Ruta del almacén de datos en la máquina remota | No | /mnt/rediacc |
--datastore-size <size> | Tamaño del almacén de datos (ej.: 95%, 100G) | No | 95% |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.12 status
Mostrar estado completo de la máquina (sistema, repos, contenedores, servicios)
rdc machine status [name] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
--system | Incluir solo información del sistema | No | - |
--repositories | Incluir solo repositorios | No | - |
--containers | Incluir solo contenedores | No | - |
--services | Incluir solo servicios | No | - |
--network | Incluir solo interfaces de red | No | - |
--block-devices | Incluir solo dispositivos de bloque | No | - |
--licenses | Incluir estados de licencias de repositorios | No | - |
--storage-health | Mostrar fragmentación BTRFS y ahorro reflink por repositorio | No | - |
--datastores | Mostrar almacenes de datos acoplados (montaje, acoplamiento, uso) | No | - |
--health-check | Modo de verificación de salud - sale con código 2 si hay algún no saludable | No | - |
--stability-check | Modo de verificación de estabilidad - sale con código 2 si hay algún fallido/reiniciando | No | - |
--search <text> | Filtrar repositorios por nombre | No | - |
--sync-certs | También descargar la caché de certificados ACME de la máquina tras consultar | No | - |
--strict | Salir con código distinto de cero (código 2) si algún contenedor ha superado el umbral de desviación de salud | No | - |
4. Gestión de Clústeres
Aprovisionar y gestionar clústeres: conjuntos con nombre de pools de nodos (ceph, k8s-server, k8s-agent, hyperconverged) en una red privada. Los miembros del pool se materializan en máquinas, de modo que cada comando -m funciona con ellos.
4.1 create
Declara y aprovisiona un clúster: máquinas, pools de Ceph y Kubernetes. Pasa --provider y --pool para declararlo en un solo paso; un create sin argumentos aprovisiona un clúster ya declarado.
rdc cluster create <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--provider <provider> | Proveedor: una clave de cloudProviders, o 'kvm' | No | - |
--pool <spec...> | Especificación de pool nombre:rol:cantidad[:tamaño] (rol: ceph|k8s-server|k8s-agent|hyperconverged) | No | - |
--declare-only | Registrar el clúster en la configuración sin aprovisionarlo | No | - |
--network-cidr <cidr> | CIDR de la red privada (p. ej. 10.0.0.0/24) | No | - |
--network-primitive <primitive> | Primitiva de red (p. ej. vlan, vpc, network) | No | - |
--control-node <machine> | Máquina de nodo de control explícita (predeterminado: primer miembro k8s-server) | No | - |
--net-name <name> | KVM: red libvirt para este clúster (p. ej. renet12) | No | - |
--net-base <prefix> | KVM: prefijo de red, los primeros tres octetos (p. ej. 192.168.112) | No | - |
--net-offset <n> | KVM: desplazamiento añadido al id de cada VM al derivar su dirección | No | - |
--control-id <n> | KVM: id de VM del nodo de control y registro (predeterminado: 1) | No | - |
--docker-registry <endpoint> | KVM: punto final del registro Docker dentro de la VM para este clúster | No | - |
--ssh-user <user> | Usuario SSH para los miembros aprovisionados | No | - |
--base-domain <domain> | Dominio base para el DNS público del clúster (si no, heredado de una máquina hermana) | No | - |
--control-ds-size <size> | Tamaño del almacén de datos de control ancla (predeterminado 10G) | No | - |
--control-ds-backend <backend> | Backend del almacén de datos de control ancla: local | ceph (predeterminado: ceph si el clúster tiene Ceph, si no local) | No | - |
--control-ds-pool <pool> | Pool rbd de Ceph para el almacén de datos de control ancla (backend ceph) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.2 status
Listar todos los clústeres, o mostrar la configuración completa de un clúster con --name.
rdc cluster status [cluster]
4.3 scale
Cambiar el número de miembros de un pool (agrega/elimina máquinas y une/drena nodos). Los pools k8s-agent escalan en el sitio; el crecimiento del pool ceph se hace directamente mediante cephadm.
rdc cluster scale <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--pool <pool> | Nombre del pool | Sí | - |
--count <n> | Número de miembros deseado | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.4 destroy
Desmontar los miembros aprovisionados y eliminar el clúster y sus máquinas de la configuración.
rdc cluster destroy <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Omitir la confirmación y continuar a pesar de errores de desmontaje | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.5 kubeconfig
Obtener el kubeconfig del nodo de control del clúster por SSH y cachearlo localmente (0600) para kubectl.
rdc cluster kubeconfig <cluster>
4.6 fork
Clonar un clúster completo, incluidos los datos de sus repos, en un clúster nuevo: copy-on-write coordinado de las imágenes del clúster y de los PV, y luego reescritura de la identidad de nodo para que el fork arranque en nuevas direcciones. El original sigue en ejecución.
rdc cluster fork <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--tag <tag> | Etiqueta del fork | Sí | - |
--to <dest-cluster> | Clúster de destino cuyos nodos alojan el fork (su nodo de control y sus agentes); un clúster no puede bifurcarse hacia sus propias máquinas, ya que dos k3s no pueden compartir el mismo espacio de nombres de red del host | Sí | - |
--writes <disposition> | Modo de escritura del fork: local (overlay dm-COW efímero, sin huella en Ceph) | ceph (clon duradero). Por defecto: local | No | - |
--up | Desplegar los repos bifurcados y validar la salud del clúster después de que arranque el fork | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.7 migrate
Mover un clúster completo, incluidos los datos de sus repos, a otra máquina o centro de datos con un cutover corto (precopia en caliente, luego detener y reiniciar en el destino).
rdc cluster migrate <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <dest-cluster> | Destino | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.8 join
Adoptar una máquina ya registrada como nodo agente de Kubernetes de un clúster, usando el mismo token de unión derivado de la CA que en el anclaje y en la reincorporación.
rdc cluster join <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--cluster <name> | Clúster al que unir la máquina | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.9 evict
Drenar el nodo, eliminar su objeto Node y borrar su pertenencia al clúster. El clúster se deriva de la máquina; se rechaza una máquina que todavía tiene montado un almacén de datos.
rdc cluster evict <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Omitir el drenaje cuando el nodo ya está caído | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.10 rehearse
Ensayar una versión o actualización: bifurcar el clúster hacia un destino como fork descartable efímero (writes=local, role=rehearsal, sin secretos), levantarlo, validar su salud y luego descartarlo. El original nunca se toca.
rdc cluster rehearse <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--on <dest-cluster> | Clúster de destino donde arrancar el ensayo desechable | Sí | - |
--tag <tag> | Etiqueta opcional para el fork de ensayo (por defecto: con marca de tiempo) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
4.11 snapshot
Instantáneas puntuales de todo el clúster. Un único instante consistente ante fallos abarca todos los almacenes de datos con backend rbd que posee el clúster, tomado mediante la instantánea de grupo de Ceph: nada se detiene y el clúster ni se entera. Los almacenes de datos con backend local no tienen una primitiva de grupo a nivel de bloque, así que quedan fuera del instante y se reportan como tales. El instante es consistente ante fallos, no consistente a nivel de aplicación: si necesitas que una escritura específica quede DENTRO de la instantánea, sincronízala antes.
create
Toma una instantánea de todos los almacenes de datos con backend rbd del clúster en UN solo instante. Nada se detiene. Cualquier almacén de datos con backend local del clúster queda fuera de ese instante: no forma parte de la instantánea. El instante es consistente ante fallos, no consistente a nivel de aplicación: si necesitas que una escritura específica quede DENTRO de la instantánea, sincronízala antes.
rdc cluster snapshot create <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--snapshot <label> | Etiqueta de la instantánea (por defecto: una marca de tiempo UTC) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
list
Listar las instantáneas de grupo del clúster.
rdc cluster snapshot list <cluster> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
5. Servidor MCP
Servidor de Model Context Protocol para agentes de IA
5.1 serve
Iniciar servidor MCP (transporte stdio)
rdc mcp serve [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--config <name> | Nombre de configuración a usar para todos los comandos | No | - |
--timeout <ms> | Tiempo de espera predeterminado de comando en milisegundos | No | 120000 |
6. Ciclo de vida de repositorios
Desplegar y gestionar repositorios cifrados en máquinas. Subcomandos clave: create, up (desplegar), down (detener), fork (clon CoW instantáneo), delete, push/pull (copia de seguridad), sync (transferencia de archivos). Ciclo de vida: repo create → repo up → repo down. Consulta Conceptos Clave en rdc --help para detalles de arquitectura, enrutamiento y variables de entorno.
6.1 up
Despliega o actualiza un repositorio (monta, ejecuta el up del Rediaccfile que invoca renet compose). La máquina se deriva de la ubicación de la referencia. Las rutas de proxy tardan ~3s en activarse tras el despliegue. Al finalizar, imprime el patrón de URL de los servicios expuestos por HTTP (etiqueta rediacc.service_port). El primer despliegue y los forks se montan automáticamente. La restauración de checkpoint CRIU se detecta automáticamente; usa --skip-checkpoint para forzar un inicio limpio. Usa --all --machine <m> para desplegar todos los repositorios de una máquina.
rdc repo up [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--no-start | Montar y preparar el repositorio sin ejecutar sus pasos up() (integra el retirado 'repo mount'; abre LUKS y, para repositorios de clúster, genera el PV). | No | - |
--skip-checkpoint | Omitir restauración de checkpoint CRIU aunque existan datos de checkpoint (forzar inicio limpio) | No | - |
--tls | Solicitar certificado TLS dedicado para este repositorio (los forks usan el certificado compartido de la máquina por defecto) | No | - |
--no-wait | Retornar en cuanto los contenedores arrancan; las comprobaciones de salud continúan en segundo plano | No | - |
--all | Desplegar todos los repositorios cuya casa sea --machine (forma por lotes) | No | - |
-m, --machine <name> | Con --all: la máquina cuyos repositorios recibirán el lote | No | - |
--include-forks | También montar/iniciar repositorios bifurcados | No | - |
--parallel | Iniciar repositorios de forma concurrente | No | - |
--concurrency <n> | Máximo de repositorios concurrentes (predeterminado: 3) | No | 3 |
-y, --yes | Omitir confirmación para operaciones por lotes | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
6.2 down
Detiene los contenedores Docker del repositorio (ejecuta el down del Rediaccfile vía renet compose). La máquina se deriva de la ubicación de la referencia. NO desmonta el volumen cifrado: el repositorio sigue montado y puede reiniciarse con 'repo up'. Usa --unmount para además cerrar el contenedor LUKS tras detenerse (integra el retirado 'repo unmount'). Usa --checkpoint para guardar el estado del proceso CRIU antes de detenerse (el siguiente 'repo up' lo restaura automáticamente). Usa --all --machine <m> para detener todos los repositorios de una máquina.
rdc repo down [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--unmount | También desmontar (cerrar el contenedor LUKS) tras detenerse. Necesario antes de 'repo resize' o para asegurar completamente el volumen | No | - |
--checkpoint | Crear checkpoint CRIU antes de detener (guardar estado de memoria de procesos para restaurar luego via 'repo up') | No | - |
--all | Detener todos los repositorios cuya casa sea --machine (forma por lotes) | No | - |
-m, --machine <name> | Con --all: la máquina cuyos repositorios recibirán el lote | No | - |
--parallel | Iniciar repositorios de forma concurrente | No | - |
--concurrency <n> | Máximo de repositorios concurrentes (predeterminado: 3) | No | 3 |
-y, --yes | Omitir confirmación para operaciones por lotes | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
6.3 status
Obtener estado del repositorio
rdc repo status <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.4 cat
Leer una ventana acotada de un archivo dentro de un repositorio y escribirla en stdout (acotado en el servidor; los diagnósticos van a stderr)
rdc repo cat <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--remote-file <path> | Ruta del archivo a leer, relativa a la raíz de montaje del repositorio | Sí | - |
--max-bytes <n> | Máximo de bytes a leer e imprimir (por defecto 1 MiB, límite máximo 50 MiB) | No | - |
--offset <n> | Desplazamiento en bytes desde el que empezar a leer | No | - |
--head <lines> | Imprimir solo las primeras N líneas (no se puede combinar con rango de bytes) | No | - |
--tail <lines> | Imprimir solo las últimas N líneas (no se puede combinar con rango de bytes) | No | - |
--stat | Imprimir solo tamaño, tipo y fecha de modificación; no leer contenido | No | - |
--force-binary | Permitir la lectura de contenido binario (que contenga NUL) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.5 diff
Diff a nivel de archivo al estilo git entre dos repositorios bifurcados con copy-on-write. Reporta archivos añadidos, modificados, eliminados y renombrados. Compara el repositorio indicado por --name (lado objetivo/nuevo) con su padre, resuelto desde la configuración local, o con un --base explícito (lado base/antiguo). Solo metadatos e independiente del tamaño: compara las imágenes LUKS cifradas a nivel de bloque sin descifrarlas, así que un repo de 1 GB y otro de 100 GB se comparan en los mismos milisegundos.
rdc repo diff <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--base <ref> | Repositorio con el que comparar (lado base/antiguo); por defecto el padre de --name | No | - |
--name-only | Imprimir solo las rutas de archivos cambiados, una por línea (sin letras de estado) | No | - |
--stat | Mostrar magnitud de cambio por archivo (deltas de bytes y bloques) y totales | No | - |
--content [path] | Mostrar diff de texto unificado para un único archivo (requiere ruta de archivo) | No | - |
--fast | Confiar en el filtro de bloques; omitir confirmación por hash de contenido (puede sobre-reportar Modificado) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.6 list
Listar repositorios en una máquina
rdc repo list [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--datastore <name> | Listar los repositorios de este almacén de datos (resuelto a la máquina que lo posea actualmente) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.7 create
Crea un nuevo repositorio. Indica su ubicación una sola vez: una máquina o un almacén de datos.
rdc repo create <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--datastore <name> | Almacén de datos con nombre que aloja el repositorio (nivel docker, o la forma para clústeres) | No | - |
--size <size> | Tamaño del repositorio (ej. 10G, 100G, 1T) | No | - |
--no-docker | Omitir el inicio del demonio Docker después de la creación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.8 delete
Elimina un repositorio y sus datos. La entrada de configuración se conserva; usa --archive-config para mover las credenciales a deletedRepositories y poder recuperarlas con 'repo admin archive restore'. Toma una <ref> posicional; un nombre a secas resuelve a la línea grand y se rechaza cuando varios repos comparten el mismo nombre base, así que pasa nombre:etiqueta para apuntar a un fork.
rdc repo delete <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--archive-config | Mover entrada de configuración a deletedRepositories para recuperación posterior | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
6.9 commit
Congela el estado actual de un fork de trabajo montado en un nuevo commit inmutable (similar a git). El commit registra su mensaje, autor, marca de tiempo y elemento padre dentro del volumen (para que viaje en el push) y se marca como solo lectura: rechaza ser montado. El fork de trabajo continúa sin cambios, igual que git deja intacto el árbol de trabajo. Extrae un commit con 'rdc repo checkout' para obtener una copia editable.
rdc repo commit <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--message <msg> | Mensaje del commit | Sí | - |
--author <author> | Autor del commit | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.10 branch
Crea una referencia de branch con nombre que apunta al commit actual del fork de trabajo (su punta). Las referencias de branch residen en la configuración del CLI (máquina = almacén de objetos, configuración = almacén de referencias).
rdc repo branch <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--branch <branch> | Nombre de la nueva rama | Sí | - |
6.11 checkout
Clona por reflink un commit inmutable (o la punta de un branch) en un nuevo fork de trabajo editable y apunta HEAD hacia él. Casi instantáneo y de tiempo constante (reflink de BTRFS).
rdc repo checkout <commit-or-branch-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--tag <name> | Nombre para el nuevo fork de trabajo editable | Sí | - |
--from <workingFork> | Resolver el <commit-or-branch-ref> posicional como nombre de rama en este fork de trabajo | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.12 log
Imprime el historial de commits accesible desde el commit actual de un fork de trabajo (o desde una referencia de commit), recorriendo la cadena de elementos padre registrada por 'rdc repo commit'. Lee el espejo externo al volumen, por lo que ningún commit se desbloquea.
rdc repo log <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
6.13 merge
Fusiona un commit o fork de origen en un fork de trabajo de destino. El destino activo nunca se modifica en su lugar: el resultado se construye en un clon reflink y se intercambia de forma atómica. Un destino montado o en ejecución se rechaza salvo que se use --force, que primero lo detiene de forma limpia. Sin --resolve es un take-theirs de imagen completa (el destino se convierte en el origen); con --resolve ours|theirs es un merge a tres vías por archivo contra el ancestro común, que toma los cambios únicos de cada lado y resuelve los conflictos de ambos lados según el flag.
rdc repo merge <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--from <source> | Commit o fork de origen desde el que fusionar | Sí | - |
--force | Detiene primero un destino montado/en ejecución y luego fusiona (nunca modifica un montaje activo) | No | - |
| `—resolve <ours | theirs>` | Resolución de conflictos por archivo para una fusión a tres vías: 'ours' conserva la versión del destino, 'theirs' toma la del origen. Omítelo para un fast-forward de imagen completa (take-theirs). | No |
--base <guid> | GUID del commit ancestro común para un merge a tres vías (se usa con --resolve). Por defecto, el padre del commit de origen o el commit actual del destino. | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.14 gc
Elimina objetos de commit inmutables en una máquina que ninguna rama o HEAD alcanza (GC por accesibilidad). La máquina es el almacén de objetos; la configuración del CLI es el almacén de referencias. Modo simulación por defecto: usa --apply para eliminar. Nunca toca un objeto montado ni un fork de trabajo.
rdc repo gc [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
--apply | Eliminar realmente los commits inaccesibles (por defecto es una vista previa en modo simulación) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.15 fork
Crea un fork CoW (Copy-on-Write) de un repositorio. EL FORK ES CASI INSTANTÁNEO Y DE TIEMPO CONSTANTE sin importar el tamaño del repositorio: el reflink de BTRFS clona la imagen subyacente, así que un repositorio de 100 GB y uno de 1 GB se bifurcan en los mismos ~segundos. El fork recibe un GUID, networkId, rango de IP y dominio de auto-ruta NUEVOS ({service}-fork-{tag}.{repo}.{machine}.{baseDomain}), y es una copia totalmente independiente. Se admite el fork en línea: el padre puede seguir en ejecución. El fork hereda automáticamente las credenciales de cifrado del padre. Usa --checkpoint para capturar el estado del proceso CRIU antes de bifurcar; el fork se restaura automáticamente en el primer 'repo up' (se conserva el estado en memoria). FORK ENTRE MÁQUINAS: primero bifurca localmente y luego transfiere: (1) rdc repo fork <parent-ref> --tag <name>, (2) rdc repo push <fork-ref> --to <target-machine> --up. ADVERTENCIA: NO uses "repo push" solo para bifurcar, crea una copia en bruto con el MISMO GUID (no es un fork independiente). Bifurca siempre primero para obtener una identidad nueva. Las auto-rutas usan el nombre del repositorio, así que cada fork obtiene automáticamente un dominio único.
rdc repo fork <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--tag <name> | Etiqueta para el fork (crea nombre:etiqueta) | Sí | - |
--checkpoint | Crear checkpoint CRIU en el origen antes de fork (capturar estado de memoria de procesos para restaurar en el fork) | No | - |
--immutable | Marca el fork como solo lectura: rechaza el montaje y mantiene su imagen estable a nivel de bytes para siempre (un commit/base congelado para el delta push entre máquinas) | No | - |
--up | Montar e iniciar servicios después de fork (fork + mount + up en un solo comando) | No | - |
--no-wait | Con --up: vuelve en cuanto los contenedores arrancan; los healthchecks continúan en segundo plano (ideal para forks desechables) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.16 replicate
Crea N réplicas de lectura de un repositorio en segundos, sin importar el tamaño de la base de datos. Toma UNA instantánea del almacén de datos y luego realiza N fork-attaches en tiempo constante (copy-on-write, escrituras locales desechables) repartidos entre los nodos del clúster, y aplica un overlay generado: un PersistentVolume fijado por réplica, un StatefulSet y dos Services ({repo}-rw hacia la primaria, {repo}-ro entre las réplicas). Las réplicas son copias de un momento puntual: sin flujo de replicación, sin lectura de las propias escrituras; cada réplica ejecuta una pasada de recuperación ante fallos antes de servir. Actualízalas con 'repo replicate refresh'. Los conjuntos de réplicas son estado gestionado: consulta 'repo replicate status' y elimínalos con 'repo replicate remove'.
status
Mostrar los conjuntos de réplicas gestionados: réplicas, nodos de alojamiento, almacenes de datos de fork, instantánea y marcas de tiempo de actualización.
rdc repo replicate status <ref>
remove
Eliminar un conjunto de réplicas: eliminar sus objetos k8s generados (limitado por labels), descartar sus almacenes de datos de fork, eliminar su instantánea y olvidar el estado. Los pasos de infraestructura son best-effort, de modo que la eliminación converge incluso en un clúster parcialmente desaparecido.
rdc repo replicate remove <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
refresh
Renovar cada réplica, UNA a la vez, a una instantánea nueva de un momento puntual: reiniciar el pod de la réplica, descartar y volver a hacer fork de su almacén de datos bajo la misma ruta, y dejar que la comprobación de disponibilidad (readiness) la vuelva a admitir. Mientras tanto, N-1 réplicas siguen sirviendo.
rdc repo replicate refresh <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
6.17 canary
Ejecutar una imagen NUEVA junto a la estable y repartir el tráfico en vivo entre ambas por porcentaje (peldaño 2 de la escalera de releases). Crea un Deployment + Service canary sobre los MISMOS datos en vivo (sin fork: los usuarios del canary sobre datos bifurcados leerían datos obsoletos y escribirían en una copia condenada) e indica al proxy de Rediacc que enrute el porcentaje indicado del tráfico del hostname estable hacia él. Un peso de 0 mantiene el canary oculto; un peso de 100 es el cambio blue/green. Antes de cada cambio de canary se toma automáticamente una instantánea de grupo de los almacenes de datos del clúster (peldaño 0 de la escalera de releases) como deshacer universal. La compatibilidad de esquema entre las dos versiones (expand-contract) es responsabilidad de la aplicación. Para releases que ROMPEN el esquema, usa blue/green en su lugar: bifurca el repositorio (instantáneo, incluye los datos), apunta el Service del fork aquí con un peso de 100, y revierte reiniciando el original intacto; las escrituras hechas después del cambio existen solo en la copia nueva, así que la ventana de reversión es una decisión de política.
status
Mostrar los conjuntos canary gestionados: peso, imágenes, Service estable y la última instantánea de deshacer de release.
rdc repo canary status <ref>
weight
Cambiar el porcentaje de tráfico enrutado a un canary. Primero toma una instantánea de grupo de deshacer de release nueva, luego vuelve a aplicar el overlay; el proxy adopta el nuevo reparto en su siguiente ciclo de actualización. Un peso de 100 envía todo el tráfico a la nueva versión (el cambio blue/green).
rdc repo canary weight <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--weight <percent> | Porcentaje de tráfico enrutado al canary (entero 0-100; 0 = oculto, 100 = cambio completo) | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
remove
Eliminar el Deployment y el Service de un canary (limitado por labels); el Service estable vuelve a servir el 100 %. Las instantáneas de deshacer de release se conservan; límpialas con los comandos de instantáneas del almacén de datos.
rdc repo canary remove <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
create
Ejecuta una imagen NUEVA junto a la estable y le envía un porcentaje del tráfico en vivo. El canary comparte los datos en vivo del repositorio (sin fork), así que la compatibilidad de esquema entre ambas versiones es responsabilidad de la aplicación. Antes se toma una instantánea de grupo de los almacenes de datos del clúster, como deshacer.
rdc repo canary create <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--image <image> | Nueva imagen que ejecuta el Deployment canary (sobre los datos en vivo compartidos) | Sí | - |
--port <port> | Puerto en el que sirve la app (debe coincidir con el Service estable) | Sí | - |
--weight <percent> | Porcentaje de tráfico enrutado al canary (entero 0-100; 0 = oculto, 100 = cambio completo) | Sí | - |
--service <name> | Service estable con el que repartir el tráfico (por defecto: el nombre del repositorio) | No | - |
--replicas <n> | Cantidad de réplicas del Deployment canary (por defecto: 1) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.18 resize
Redimensionar un repositorio sin conexión (soporta expandir y reducir)
rdc repo resize <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--size <size> | Nuevo tamaño del repositorio (ej. 10G, 100G, 1T) | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.19 expand
Expandir un repositorio montado en línea (sin tiempo de inactividad)
rdc repo expand <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--size <size> | Nuevo tamaño del repositorio (ej. 10G, 100G, 1T) | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.20 trim
Recupera espacio del pool del almacén de datos desde repositorios montados (en línea, sin tiempo de inactividad). Los bloques eliminados dentro de los repositorios vuelven al pool mediante fstrim. Sin una referencia, se recortan todos los repositorios montados en -m además del propio almacén de datos. fstrim se omite en los repositorios con una copia de seguridad activa; la recuperación de --docker se ejecuta igualmente
rdc repo trim [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--docker | Liberar espacio de Docker (contenedores detenidos, imágenes colgantes, caché de build); se ejecuta incluso con una instantánea de copia de seguridad activa | No | - |
--docker-volumes | Eliminar además los volúmenes de Docker sin usar | No | - |
--report-only | Mostrar el estado de descartes y la estimación recuperable sin recortar | No | - |
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.21 policy
Gestiona la política de tamaño automática que aplica el mantenedor de almacenamiento de la máquina: amplía la cuota de un repositorio en línea cuando se llena (nunca más allá de max-quota, nunca con el pool escaso) y ejecuta recortes programados. No existe la reducción automática; para eso usa 'repo resize'. Sin una referencia, se gestiona la política predeterminada de toda la máquina en -m
set
Establece campos de la política de tamaño. Solo cambian los flags que pase; los demás campos guardados conservan sus valores. Activar el auto-crecimiento requiere --max-quota: el tope es su consentimiento explícito para sobreaprovisionar el pool
rdc repo policy set [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--auto-grow <bool> | Activar el crecimiento automático de cuota en línea (true/false) | No | - |
--max-quota <size> | Tope del auto-crecimiento (p. ej. 200G); obligatorio para el auto-crecimiento | No | - |
--grow-threshold <percent> | % de uso del sistema de archivos que dispara un crecimiento (predeterminado 85) | No | - |
--grow-step <step> | Crecimiento por paso: absoluto (10G) o porcentaje de la cuota (20%) | No | - |
--auto-trim <bool> | Activar el recorte programado (true/false) | No | - |
--trim-interval <hours> | Horas mínimas entre recortes automáticos (predeterminado 24) | No | - |
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
get
Muestra el valor predeterminado de la máquina guardado, la anulación del repositorio (con una referencia) y la política efectiva combinada sobre la que actúa el mantenedor
rdc repo policy get [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.22 push
Enviar repositorio a un remoto (máquina o almacenamiento). Omitir el nombre para enviar todos los repos. El tipo de destino se detecta automáticamente desde la configuración. Para transferencia entre máquinas, la imagen cifrada del repo se copia con el MISMO GUID — esto es un respaldo/migración, no un fork. Para crear un fork independiente, use 'repo fork' primero, luego push. Use --up para desplegar después del push
rdc repo push <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <remote> | Nombre de la máquina o almacenamiento de destino (detectado automáticamente desde la configuración) | No | - |
--to-machine <machine> | — | No | - |
--provision <provider> | Aprovisionar automáticamente la máquina destino a través del proveedor de nube si no existe | No | - |
--checkpoint | Crear checkpoint CRIU antes del respaldo (captura el estado de memoria del proceso para migración en vivo) | No | - |
--force | Forzar sobrescritura del respaldo existente | No | - |
-w, --watch | Observar cambios | No | - |
--bwlimit <limit> | Límite de ancho de banda para transferencia rsync (ej: "6M", "10M") | No | - |
--delta-base <guid> | GUID base inmutable presente byte a byte idéntico en ambas máquinas; transfiere solo los bloques modificados (máquina destino). Omítelo para usar base automática sin intervención | No | - |
--strategy <strategy> | Estrategia de delta por bloques al usar una base delta: auto, physical o shared | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.23 pull
Obtener repositorio de un remoto (máquina o almacenamiento). Omitir el nombre para obtener todos los repos. El tipo de origen se detecta automáticamente desde la configuración. Use --up para desplegar después del pull
rdc repo pull <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--from <remote> | Nombre de la máquina o almacenamiento de origen (detectado automáticamente desde la configuración) | No | - |
--from-machine <machine> | — | No | - |
--force | Forzar sobrescritura del repositorio existente | No | - |
--up | Después de pull, montar y desplegar el repositorio en esta máquina | No | - |
-w, --watch | Observar cambios | No | - |
--bwlimit <limit> | Límite de ancho de banda para transferencia rsync (ej: "6M", "10M") | No | - |
--delta-base <guid> | GUID base inmutable presente byte a byte idéntico en ambas máquinas; recibe solo los bloques modificados (máquina origen) | No | - |
--strategy <strategy> | Estrategia de delta por bloques al usar una base delta: auto, physical o shared | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.24 migrate
Migra en vivo un repositorio de una máquina a otra con el mínimo tiempo de inactividad. rsync en dos fases: transferencia masiva mientras se ejecuta, luego una breve pausa para la sincronización delta. Mueve todo el repositorio (el enrutamiento se redirige al nuevo destino) y, una vez que el traslado tiene éxito, elimina las imágenes de origen (use --keep-source para conservarlas). Admite checkpoint de CRIU para la migración del estado de memoria de procesos y el aprovisionamiento automático de máquinas de destino
rdc repo migrate <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <place> | Máquina o clúster de destino | Sí | - |
--provision <provider> | Aprovisionamiento automático del destino vía proveedor cloud (ej: hetzner, linode) | No | - |
--bwlimit <limit> | Límite de ancho de banda para transferencia rsync (ej: 10M) | No | - |
--checkpoint | Migración en vivo CRIU: capturar y restaurar estado de memoria de procesos | No | - |
--delta-base <guid> | GUID base inmutable para el delta del corte (avanzado; usa por defecto la base de la Fase 1) | No | - |
--strategy <strategy> | Estrategia de delta por bloques para el corte: auto, physical o shared | No | - |
--skip-dns | Omitir cambio de registros DNS después de la migración | No | - |
--keep-source | Conservar las imágenes de origen tras un traslado exitoso (por defecto se eliminan; las copias sobrantes no son direccionables por ningún registro de configuración y reconcile las marca como huérfanas) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.25 sync
Sincronizar repositorios y archivos (push/pull masivo, transferencia de archivos)
upload
Subir archivos a un repositorio
rdc repo sync upload <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--local <paths...> | Una o más rutas locales de archivo o directorio (predeterminado: directorio actual) | No | - |
--remote <path> | Ruta de subdirectorio remoto dentro del repositorio | No | - |
--remote-file <path> | Ruta única de archivo remoto (relativa a la raíz del repositorio) como destino de subida. Mutuamente excluyente con --remote. | No | - |
--mirror | Modo espejo - eliminar archivos remotos no presentes localmente | No | - |
--verify | Verificar archivos usando sumas de control después de sincronización | No | - |
--confirm | Previsualizar cambios y solicitar confirmación antes de sincronizar | No | - |
--exclude <patterns...> | Patrones a excluir de sincronización | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
download
Descargar archivos de un repositorio
rdc repo sync download <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--local <path> | Ruta de directorio local (predeterminado: directorio actual) | No | - |
--remote <path> | Ruta de subdirectorio remoto dentro del repositorio | No | - |
--remote-file <path> | Ruta del archivo remoto en el repositorio (alternativa a --remote para transferencias de un solo archivo) | No | - |
--mirror | Modo espejo - eliminar archivos locales no presentes en remoto | No | - |
--verify | Verificar archivos usando sumas de control después de sincronización | No | - |
--confirm | Previsualizar cambios y solicitar confirmación antes de sincronizar | No | - |
--exclude <patterns...> | Patrones a excluir de sincronización | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
status
Verificar el estado de sincronización y comparar archivos locales/remotos
rdc repo sync status <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--local <path> | Ruta de directorio local (predeterminado: directorio actual) | No | - |
--remote <path> | Ruta de subdirectorio remoto dentro del repositorio | No | - |
--remote-file <path> | Ruta del archivo remoto en el repositorio (alternativa a --remote para transferencias de un solo archivo) | No | - |
6.26 tunnel
Crear un túnel SSH de reenvío de puertos al puerto de un contenedor en una máquina remota. Detecta automáticamente el contenedor y el puerto cuando no hay ambigüedad. El túnel permanece abierto hasta que presione Ctrl+C
rdc repo tunnel <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-c, --container <name> | Nombre del contenedor (detectado automáticamente si solo hay uno en ejecución) | No | - |
--port <port> | Puerto del contenedor remoto a reenviar | No | - |
--local <port> | Puerto local (por defecto igual al puerto remoto) | No | - |
--url-only | Imprimir solo la URL local cuando el túnel esté listo (legible por máquinas) | No | - |
6.27 secret
Gestiona secretos por repositorio inyectados en el momento del despliegue. Solo escritura: get devuelve únicamente el digest (nunca el texto plano); set/unset requieren que --current coincida con el digest, o --rotate-secret. Dos modos de entrega: env (REDIACC_SECRET_<KEY>) y file (tmpfs en /var/run/rediacc/secrets/<networkId>/<KEY> vía `secrets:` de compose). Los secretos nunca entran en la imagen LUKS cifrada; los forks no heredan ninguno.
get
Muestra el digest SHA-256 de un secreto. El valor en texto plano nunca se devuelve, por diseño (solo escritura). Usa --current en un set/unset posterior para verificar un valor que ya conoces, o rótalo con `set --rotate-secret`.
rdc repo secret get <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <KEY> | Clave secreta en UPPER_SNAKE_CASE (máx. 64 caracteres). Se expondrá como REDIACC_SECRET_<KEY> para el modo env o /run/secrets/<key> en contenedores para el modo file. | Sí | - |
list
Lista claves y modos de secreto (nunca valores, nunca digests).
rdc repo secret list <ref>
set
Establecer o sobrescribir un secreto. Los forks no heredan; establece en el fork explícitamente. Bajo contexto de agente, requiere coincidencia de digest --current (estilo passwd).
rdc repo secret set <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <KEY> | Clave secreta en UPPER_SNAKE_CASE (máx. 64 caracteres). Se expondrá como REDIACC_SECRET_<KEY> para el modo env o /run/secrets/<key> en contenedores para el modo file. | Sí | - |
--value <value> | Valor del secreto. Pasa `-` para leer desde stdin (evita exposición en historial de shell). | Sí | - |
--mode <mode> | Modo de entrega: 'env' (visible en entorno del contenedor, docker inspect) o 'file' (archivo tmpfs, nunca en env). Por defecto: file. | No | file |
--current <value> | Valor anterior en texto plano (precondición al estilo passwd). Obligatorio para sobrescribir/eliminar; mutuamente excluyente con --rotate-secret. | No | - |
--rotate-secret | Reconocer rotación; omitir precondición --current (auditado como rotación). Usar al rotar intencionalmente sin verificar el valor anterior. | No | - |
unset
Elimina un secreto. Bajo contexto de agente, requiere coincidencia de digest --current.
rdc repo secret unset <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <KEY> | Clave secreta en UPPER_SNAKE_CASE (máx. 64 caracteres). Se expondrá como REDIACC_SECRET_<KEY> para el modo env o /run/secrets/<key> en contenedores para el modo file. | Sí | - |
--current <value> | Valor anterior en texto plano (precondición al estilo passwd). Obligatorio para sobrescribir/eliminar; mutuamente excluyente con --rotate-secret. | No | - |
--rotate-secret | Reconocer rotación; omitir precondición --current (auditado como rotación). Usar al rotar intencionalmente sin verificar el valor anterior. | No | - |
6.28 admin
Operaciones de administración y mantenimiento de repositorios.
archive
Gestión de registros de repositorios archivados.
Listar credenciales de repositorios archivados
rdc repo admin archive list
Eliminar permanentemente todas las credenciales archivadas
rdc repo admin archive purge [name] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
Restaurar credencial de repositorio archivado
rdc repo admin archive restore <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--new-name <name> | Nuevo nombre del recurso | No | - |
validate
Validar la integridad del repositorio
rdc repo admin validate <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
fsck
Valida las referencias de la configuración del CLI (ramas, HEAD) frente a los objetos realmente presentes en una máquina. Informa de referencias colgantes (una referencia que apunta a un objeto inexistente) y commits huérfanos (un commit inmutable que ninguna referencia alcanza). Solo lectura.
rdc repo admin fsck [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
ownership
Cambiar propiedad del directorio del repositorio
rdc repo admin ownership <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--uid <uid> | UID del propietario (predeterminado: 7111) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
autostart
Gestionar el inicio automático de repositorios al arrancar
Habilitar inicio automático para un repositorio
rdc repo admin autostart enable [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
Deshabilitar inicio automático para un repositorio
rdc repo admin autostart disable [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
Listar repositorios con inicio automático habilitado
rdc repo admin autostart list [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
template
Aplicar una plantilla a un repositorio
Listar todas las plantillas de despliegue integradas en la CLI
rdc repo admin template list
Aplica una plantilla a un repositorio. Use un nombre de plantilla integrada (p. ej. app-postgres) o --file para una plantilla JSON personalizada. Ciclo de vida del Rediaccfile: up() inicia los contenedores (descarga las imágenes, genera las configuraciones aquí), down() los detiene. Rediaccfile mínimo: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. IMPORTANTE: el Rediaccfile DEBE usar 'renet compose': 'docker compose' se rechaza. VARIABLES DE ENTORNO: dos niveles: (a) shell del Rediaccfile: ${SVCNAME_IP} (p. ej. APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) dentro de los contenedores: renet inyecta automáticamente las variables de entorno SERVICE_IP y REDIACC_NETWORK_ID. La reescritura de bind por eBPF gestiona el aislamiento de IP de forma transparente, así las apps pueden enlazarse a 0.0.0.0 y el kernel lo reescribe a la IP loopback correcta. Los health checks pueden usar localhost. network_mode:host se inyecta y ports: se ignora. ALMACENAMIENTO: tanto los bind mounts ${REDIACC_WORKING_DIR}/... como los volúmenes Docker con nombre son seguros: la raíz de datos de Docker está dentro del montaje LUKS cifrado. POLÍTICA DE REINICIO: las políticas de reinicio son seguras: renet las elimina automáticamente por compatibilidad con CRIU y el watchdog gestiona la recuperación. Compose: NO agregue network_mode ni etiquetas rediacc.* (renet las inyecta). Multiproyecto: coloque cada subproyecto en su propio subdirectorio con su propio Rediaccfile: renet los descubre y ejecuta automáticamente en orden. Enrutamiento HTTPS: (A) Auto-ruta (compatible con forks, recomendado): NO agregue traefik.enable. Renet genera automáticamente https://{serviceName}.{repoName}.{machineName}.{baseDomain}. Agregue la etiqueta rediacc.service_port=<port> para puertos distintos de 80. Cada fork obtiene un dominio único. (B) Etiquetas Traefik (dominio personalizado, NO compatible con forks): traefik.enable=true, traefik.http.routers.<n>.rule=Host(`domain`), traefik.http.routers.<n>.entrypoints=websecure,websecure-v6, traefik.http.routers.<n>.tls.certresolver=letsencrypt, traefik.http.services.<n>.loadbalancer.server.port=<port>. Para TCP/UDP: rediacc.tcp_ports=3306 / rediacc.udp_ports=53
rdc repo admin template apply <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--template <name> | Plantilla a aplicar | Sí | - |
--file <path> | Ruta a un archivo JSON de plantilla personalizada ({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}): reemplaza el nombre de la plantilla integrada | No | - |
--grand <name> | Nombre del repositorio Grand (se resuelve automáticamente a GUID) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.29 promote
Reemplazar los datos del repositorio principal con los datos de un fork. El principal conserva su identidad (GUID, networkId, dominios, inicio automático, cadena de respaldos) pero obtiene los datos actualizados del fork. Los datos de producción anteriores se conservan como fork de respaldo. Uso: probar la actualización en el fork → verificar → tomar el control en producción.
rdc repo promote <fork-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
6.30 logs
Muestra los logs de aplicación de los contenedores de un repositorio. Los repositorios docker se leen desde el propio demonio Docker del repositorio; los de Kubernetes leen los logs de pod en el namespace del repositorio. Si el repositorio ejecuta más de un contenedor, indica cuál quieres con --container.
rdc repo logs <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-c, --container <name> | Contenedor a leer (solo necesario cuando el repositorio ejecuta más de uno) | No | - |
-f, --follow | Seguir transmitiendo líneas nuevas hasta interrumpir | No | - |
--lines <n> | Cuántas líneas de historial mostrar (por defecto: 100) | No | 100 |
--timestamps | Anteponer a cada línea su marca de tiempo | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.31 exec
Ejecuta un comando dentro de un contenedor del repositorio. El código de salida del propio comando se propaga tal cual, así que funciona en scripts y condicionales. Los repositorios docker lo ejecutan a través del demonio Docker del repositorio; los de Kubernetes lo ejecutan en el namespace del repositorio.
rdc repo exec <ref> <cmd...> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-c, --container <name> | Contenedor en el que ejecutar (solo necesario cuando el repositorio ejecuta más de uno) | No | - |
-i, --interactive | Asignar una terminal (para un comando que la espera) | No | - |
-u, --user <user> | Usuario con el que ejecutar el comando | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
7. Trabajos desacoplados
Administra trabajos independientes en una máquina: lístalos, consulta su estado, reproduce o sigue sus registros de eventos, cancela uno, o elimina los ya finalizados. Un trabajo independiente se ejecuta bajo systemd en la máquina, por lo que sobrevive a una desconexión y se puede reconectar más tarde.
7.1 list
Lista los trabajos independientes de una máquina, los más recientes primero
rdc job list [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
7.2 status
Muestra el estado de un trabajo independiente
rdc job status <job-id> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
7.3 logs
Reproduce o sigue el registro de eventos de un trabajo independiente
rdc job logs <job-id> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
-f, --follow | Transmite en continuo hasta que el trabajo finalice | No | - |
--since-line <n> | Reanuda después de esta cantidad de líneas (el total que ya recibiste) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
7.4 cancel
Cancela un trabajo independiente en ejecución
rdc job cancel <job-id> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
-y, --yes | Omitir indicador de confirmación | No | - |
7.5 gc
Elimina los trabajos finalizados y sus registros
rdc job gc [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
--older-than <duration> | Recolecta trabajos que finalizaron hace más de este tiempo, en horas (por defecto: 168) | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
8. Copia de seguridad y restauración
Gestionar estrategias de copia de seguridad, sus ejecuciones programadas y los artefactos que producen: declarar una estrategia para un repositorio, ejecutarla o restaurarla a demanda, e inspeccionar los archivos que escribió en un endpoint de almacenamiento.
8.1 schedule
Desplegar la programación de respaldo en una máquina remota (temporizadores systemd)
rdc backup schedule [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | Sí | - |
--dry-run | Previsualizar unidades generadas sin desplegar | No | - |
--force | Continuar aunque haya una copia de seguridad en ejecución (la nueva unidad se aplica en el siguiente tick del temporizador; la ejecución en curso conserva su unidad anterior) | No | - |
--reset-failed | Borrar el estado de fallo en los servicios modificados tras un despliegue exitoso (desactivado por defecto, preserva la señal de fallo) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.2 cancel
Cancelar un respaldo en ejecución en una máquina remota
rdc backup cancel [strategy] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.3 list
Listar artefactos de copia de seguridad en una máquina o almacenamiento.
rdc backup list [artifact-ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | No | - |
--storage <name> | Listar artefactos en este almacenamiento | No | - |
--path <subdir> | Subdirectorio dentro de la raíz del almacenamiento. Si se omite, se listan y combinan hot/ y cold/. | No | - |
-w, --watch | Observar cambios | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.4 restore
Convierte un artefacto de copia de seguridad en un repositorio activo. La ubicación se indica aquí.
rdc backup restore <artifact-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--as <name> | Nombre para el repositorio restaurado (por defecto, el nombre del artefacto) | No | - |
-m, --machine <name> | Nombre de máquina | No | - |
--datastore <name> | Restaurar en este almacén de datos con nombre (lo aloja la máquina a la que está acoplado) | No | - |
--up | Desplegar el repositorio restaurado tras la transferencia | No | - |
--health-window <seconds> | Ventana total de la puerta de salud, en segundos (por defecto 300) | No | - |
--health-timeout <seconds> | Tiempo de espera por intento de comprobación de salud, en segundos (por defecto 30) | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.5 run
Ejecutar un respaldo inmediatamente en una máquina remota
rdc backup run [strategy] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | Sí | - |
-w, --watch | Observar cambios | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.6 status
Mostrar estado de respaldo y estado del temporizador en una máquina remota
rdc backup status [strategy] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | Sí | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.7 strategy
Gestionar estrategias de respaldo con nombre (modos caliente/frío, destinos, programación)
set
Crear o actualizar una estrategia de respaldo
rdc backup strategy set <strategy> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--destination <name> | Nombre del destino dentro de la estrategia | No | - |
--storage <name> | Nombre de la configuración de almacenamiento (credenciales rclone) | No | - |
--cron <expression> | Programación cron (ej. "0 * * * *" para cada hora) | No | - |
--mode <mode> | Modo de respaldo: "hot" (sin tiempo de inactividad) o "cold" (detener, instantánea, reiniciar) | No | - |
--bwlimit <limit> | Límite de ancho de banda de rclone (ej. "6M", "10M:off", "08:00,3M;22:00,10M") | No | - |
--include <repos> | Respaldar solo estos repos (nombres separados por comas) | No | - |
--exclude <repos> | Excluir estos repos del respaldo (nombres separados por comas) | No | - |
--folder <path> | Subcarpeta en el bucket de almacenamiento para este destino (p. ej. hot, cold) | No | - |
--enable | Habilitar la estrategia o destino | No | - |
--disable | Deshabilitar la estrategia o destino | No | - |
bind
Vincular una estrategia de respaldo a una máquina para desplegar su programación allí
rdc backup strategy bind <strategy> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
unbind
Desvincular una estrategia de respaldo de una máquina
rdc backup strategy unbind <strategy> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino | Sí | - |
remove
Eliminar una estrategia de respaldo o destino
rdc backup strategy remove <strategy> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--destination <name> | Eliminar solo este destino (conserva los demás destinos) | No | - |
list
Listar todas las estrategias de respaldo
rdc backup strategy list
show
Mostrar detalles de la estrategia de respaldo
rdc backup strategy show [strategy]
9. Gestión de Almacenamiento
Gestionar endpoints externos de almacenamiento de copias de seguridad (S3 y otros destinos compatibles con rclone): registrarlos y eliminarlos, listar lo que hay registrado, explorar los artefactos que contienen y depurar copias de seguridad huérfanas.
9.1 list
Listar los almacenamientos. Indica un nombre para ver el detalle completo.
rdc storage list [name] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--reveal | Mostrar la configuración de almacenamiento en texto claro (solo TTY interactivo; auditado) | No | - |
9.2 browse
Explorar archivos en un sistema de almacenamiento
rdc storage browse <storage> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--path <subpath> | Ruta del subdirectorio a listar | No | “ |
9.3 prune
Eliminar copias de seguridad huérfanas del almacenamiento que ya no están en ninguna configuración. Seguro con múltiples configuraciones con protección de período de gracia.
rdc storage prune <storage> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Máquina ejecutora: ejecuta las llamadas list/delete de rclone contra el almacenamiento. Requerida porque los clientes no se espera que tengan rclone instalado localmente; las credenciales de almacenamiento siguen viniendo de tu configuración local. | Sí | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
--force | Omitir indicadores de confirmación | No | - |
--force-delete-mounted | Anula la verificación de seguridad de montaje y elimina copias de seguridad en la nube incluso si el GUID origen está actualmente montado o tiene un contenedor en ejecución en la máquina ejecutora. Distinto de --force (que solo anula el período de gracia para repos archivados). | No | - |
--grace-days <days> | Período de gracia en días para repositorios archivados recientemente (predeterminado: 7) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
--skip-router-restart | Omitir reinicio del servidor de rutas tras actualización del binario | No | - |
9.4 add
Registrar un almacenamiento.
rdc storage add <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--vault <json> | Contenido de bóveda como cadena JSON | Sí | - |
9.5 import
Importar almacenamientos desde un archivo de configuración rclone
rdc storage import <file> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--name <name> | Importar solo esta sección nombrada | No | - |
9.6 remove
Eliminar un almacenamiento de la configuración.
rdc storage remove <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
10. Integración con VS Code
Abrir VS Code Remote SSH en una máquina o repositorio
10.1 connect
Abrir VS Code en una máquina o dentro de un repositorio.
rdc vscode connect <target> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-f, --folder <path> | Ruta de carpeta remota a abrir | No | - |
--url-only | Imprimir URI de VS Code en lugar de lanzar | No | - |
-n, --new-window | Abrir en nueva ventana de VS Code | No | - |
--skip-env-setup | Omitir configuración de entorno remoto | No | - |
--insiders | Usar configuración de VS Code Insiders | No | - |
--browser | Servir VS Code en el navegador desde el sandbox del repositorio (no se necesita VS Code local) | No | - |
--no-open | Imprimir la URL sin abrir el navegador local | No | - |
--local <port> | Puerto local (por defecto igual al puerto remoto) | No | - |
--server-provider <id> | Implementación del servidor VS Code para el navegador (openvscode, code-server) | No | - |
--server-archive <file> | Ruta al tarball del servidor preinstalado en la máquina (instalaciones sin conexión) | No | - |
10.2 list
Listar conexiones SSH de VS Code configuradas
rdc vscode list
10.3 cleanup
Eliminar configuraciones SSH de VS Code
rdc vscode cleanup [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--all | Eliminar todas las configuraciones SSH de rediacc | No | - |
-c, --connection <name> | Eliminar conexión específica | No | - |
10.4 check
Verificar instalación y configuración de VS Code
rdc vscode check [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--insiders | Usar configuración de VS Code Insiders | No | - |
10.5 serve
Gestionar el servidor VS Code en el navegador dentro del sandbox
status
Mostrar si el servidor VS Code del navegador está en ejecución
rdc vscode serve status <target> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--server-provider <id> | Implementación del servidor VS Code para el navegador (openvscode, code-server) | No | - |
stop
Detener el servidor VS Code del navegador
rdc vscode serve stop <target> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--server-provider <id> | Implementación del servidor VS Code para el navegador (openvscode, code-server) | No | - |
11. Acceso Terminal SSH
Abre una terminal SSH a una máquina o a un repositorio. El destino es un nombre de máquina o una referencia de repositorio, y el contexto del repositorio (DOCKER_HOST, directorio de trabajo, entorno) se configura automáticamente. Usa `-c` para ejecutar un único comando de forma no interactiva. Para logs de contenedor o un comando puntual en un contenedor, usa `repo logs` y `repo exec`. Para VS Code, usa `vscode`.
11.1 connect
Abrir una shell en una máquina, o dentro de un repositorio con su Docker configurado.
rdc term connect <target> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-c, --command <cmd> | Ejecutar un comando en lugar de shell interactivo | No | - |
--external | Forzar lanzamiento en ventana de terminal externa | No | - |
--reset-home | Restablecer la capa de inicio por repositorio para empezar de nuevo | No | - |
12. Comandos Rápidos (Atajos)
12.1 run
Ejecutar una función (atajo para: queue create)
rdc run
12.2 trace
Rastrear una tarea (atajo para: queue trace)
rdc trace
12.3 cancel
Cancelar una tarea (atajo para: queue cancel)
rdc cancel
12.4 retry
Reintentar una tarea fallida (atajo para: queue retry)
rdc retry
13. Gestión de Suscripciones
Gestionar licencias y tokens de suscripción. Inicia sesión con login, inspecciona con status, reemite licencias con refresh.
13.1 login
Autenticarse con un token API del portal web
rdc subscription login [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-t, --token <token> | Token API (rdt_...) | No | - |
--server <url> | URL del servidor de cuenta | No | - |
13.2 logout
Eliminar el token de suscripción almacenado
rdc subscription logout
13.3 status
Mostrar la suscripción y el estado de licencia de una máquina.
rdc subscription status [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | No | - |
13.4 refresh
Renovar licencias desde el servidor de cuenta.
rdc subscription refresh [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | No | - |
--repo <ref> | Referencia de repositorio: nombre, o nombre:etiqueta, opcionalmente con @machine (por ejemplo shop o shop:test) | No | - |
14. Actualizaciones de CLI
Verificar y aplicar actualizaciones del CLI
rdc update [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Forzar actualización aunque esté al día | No | - |
--check-only | Solo verificar actualizaciones sin descargar | No | - |
--rollback | Revertir a la versión anterior | No | - |
--status | Mostrar estado y diagnósticos de actualización automática | No | - |
--channel <channel> | Establecer canal de lanzamiento (stable o edge) | No | - |
15. Créditos de Terceros
Imprimir los componentes de terceros incluidos con rdc: los binarios que renet integra y transporta (CRIU, rsync, rclone), el runtime de Node.js integrado y las dependencias npm incluidas. Muestra versiones, identificadores de licencia SPDX y las URLs de archivo fuente de versión exacta requeridas para el cumplimiento de GPL. Usa --licenses para imprimir el texto completo de THIRD_PARTY_LICENSES incluido con las compilaciones de lanzamiento.
rdc credits [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--licenses | Imprimir el texto completo de THIRD_PARTY_LICENSES incluido con las compilaciones de lanzamiento | No | - |
16. Diagnóstico del sistema
Diagnosticar el entorno CLI y la integración de renet
rdc doctor
17. Operaciones locales de VM
Aprovisionamiento y gestión de VMs locales usando KVM/QEMU/Hyper-V (la plataforma se detecta automáticamente). No es para máquinas remotas — para eso usa `machine`. Subcomandos clave: up (iniciar VMs), down (detener), status (listar VMs en ejecución), ssh (conectar a la VM), setup (instalar prerrequisitos), check (verificar que el host esté listo).
17.1 up
Aprovisionar clúster de VM localmente
rdc ops up [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Forzar reinicio de todas las VM | No | - |
--parallel | Crear VM en paralelo | No | - |
--basic | Clúster mínimo (puente + 1 trabajador) | No | - |
--lite | Omitir aprovisionamiento de VM (solo estado) | No | - |
--skip-orchestration | Omitir orquestación del clúster | No | - |
--backend <backend> | Backend de virtualización (kvm|qemu, detección automática) | No | - |
--os <name> | Sistema operativo de VM (ej., ubuntu-24.04, debian-12) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
17.2 down
Destruir clúster de VM
rdc ops down [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--backend <backend> | Backend de virtualización (kvm|qemu, detección automática) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
17.3 status
Mostrar estado del clúster de VM
rdc ops status [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--backend <backend> | Backend de virtualización (kvm|qemu, detección automática) | No | - |
17.4 ssh
Conectar por SSH a una VM
rdc ops ssh [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--vm-id <id> | ID de máquina virtual | Sí | - |
-c, --command <cmd> | Ejecutar un comando en lugar de shell interactivo | No | - |
--backend <backend> | Backend de virtualización (kvm|qemu, detección automática) | No | - |
--user <user> | Nombre de usuario SSH para conexión a VM | No | - |
17.5 setup
Instalar prerequisitos de virtualización
rdc ops setup [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
17.6 check
Verificar prerequisitos de virtualización
rdc ops check
18. Servicio ejecutor
Ejecuta este proceso como ejecutor para que los clientes puedan ejecutar comandos a través de él en lugar de conectarse ellos mismos por SSH
rdc serve [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-p, --port <port> | Puerto en el que escuchar | No | 8080 |
--host <host> | Dirección a la que enlazar | No | 0.0.0.0 |
--mode <mode> | Ubicación: daemon (host del cliente) o container | No | daemon |
Mensajes de Error Comunes
Cuando algo sale mal, la CLI proporciona mensajes de error claros:
| Errores | Significado |
|---|---|
| Se requiere autenticación. Ejecute: rdc subscription login | Necesita iniciar sesión primero |
| Sin configuración activa. Cree una con: rdc config init <name> | No hay configuración activa — cree una con `rdc config init` |
| Permiso denegado | Su cuenta no tiene los permisos requeridos |
| Nombre de máquina requerido. Use --machine <name> | Especifique una máquina con `--machine` o establezca un valor predeterminado de contexto |
| Nombre de equipo requerido. Use --team o establezca un valor predeterminado con: rdc config set team <name> | Especifique un equipo con `--team` o establezca un valor predeterminado de contexto |
| Nombre de región requerido. Use --region o establezca un valor predeterminado con: rdc config set region <name> | Especifique una región con `--region` o establezca un valor predeterminado de contexto |
Formatos de Salida
Todos los comandos de listado/obtención admiten múltiples formatos de salida a través de `--output`:
rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table # default
Esto facilita la integración de la CLI de Rediacc en scripts, pipelines CI/CD y flujos de trabajo de automatización.