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 |
|---|---|---|---|
--master-password | Inscríbete sin interfaz con un password slot preaprovisionado (sin navegador) | No | - |
--master-password-stdin | Como --master-password, pero lee la contraseña maestra desde stdin | 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 | - |
--config-id <id> | Vincular a esta configuración existente del almacén en lugar de crear una entrada nueva | No | - |
disable
Desconectar del almacenamiento remoto y guardar configuración localmente
rdc config remote disable [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--local | Desvincular solo en este dispositivo, a partir de la copia en caché y sin contactar con el servidor | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
status
Mostrar estado de conexión remota
rdc config remote status
master-password
Gestiona la contraseña maestra de este miembro (el password slot)
Cambia la contraseña maestra: vuelve a envolver la clave de configuración del registro de este dispositivo bajo un nuevo password slot
rdc config remote master-password change [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--new-master-password-stdin | Lee la nueva contraseña maestra desde stdin (si no, REDIACC_NEW_STORE_MASTER_PASSWORD, o un aviso en una TTY) | No | - |
refresh
Forzar recarga de configuración desde almacenamiento remoto
rdc config remote refresh
versions
Listar las versiones anteriores de esta configuración que guarda el servidor
rdc config remote versions [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--explain | Mostrar los punteros JSON que cambió cada versión, a partir de las versiones que guarda el servidor | No | - |
restore
Publicar una versión anterior de esta configuración como su versión más reciente
rdc config remote restore <version> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-y, --yes | Omitir indicador de confirmación | No | - |
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 | - |
1.17 access
Gestionar las claves de acceso de la configuración: claves públicas SSH que la CLI escribe en el authorized_keys de una máquina con una restricción from= a los rangos IPv4 e IPv6 declarados. Vincula una clave a una máquina con 'machine access set' y aplícala con 'machine access push'
add
Añadir una clave de acceso, o actualizar una existente sin perder sus vínculos con máquinas. Los rangos indicados aquí se aplican a la clave en todas las máquinas, salvo que un vínculo defina los suyos; sin rangos se usan los de toda la configuración
rdc config access add <key> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--public-key <key> | Línea de clave pública OpenSSH, o ruta a un archivo que la contenga | Sí | - |
--hosted-executor | Añadir los rangos de salida observados del ejecutor alojado (104.28.0.0/16 y 2a09:bac0::/29) | No | - |
--ipv4 <cidrs> | Rangos IPv4 en notación CIDR (separados por comas, p. ej., 203.0.113.0/24) | No | - |
--ipv6 <cidrs> | Rangos IPv6 en notación CIDR (separados por comas, p. ej., 2001:db8::/32) | No | - |
--no-restrict | Escribir solo from=, sin las restricciones no-forwarding, no-pty y no-user-rc | No | - |
remove
Quitar una clave de acceso de la configuración
rdc config access remove <key>
ranges
Definir los rangos de origen que usan todas las claves de acceso, salvo que la clave o su vínculo con la máquina defina los suyos. Sin opciones, los muestra
rdc config access ranges [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--hosted-executor | Añadir los rangos de salida observados del ejecutor alojado (104.28.0.0/16 y 2a09:bac0::/29) | No | - |
--ipv4 <cidrs> | Rangos IPv4 en notación CIDR (separados por comas, p. ej., 203.0.113.0/24) | No | - |
--ipv6 <cidrs> | Rangos IPv6 en notación CIDR (separados por comas, p. ej., 2001:db8::/32) | No | - |
--clear | Eliminar los rangos de toda la configuración | No | - |
list
Listar las claves de acceso de la configuración
rdc config access list
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 converge
Reinicia, uno a uno, cada daemon de repositorio que aún funciona con un diseño de runtime antiguo para que pase al actual. La CLI lo hace sola tras subir renet; a mano sirve para ver el plan antes, retomar una pasada fallida o, con --policy always, reiniciar tras cualquier cambio del binario de renet.
rdc machine converge <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Mostrar el plan sin reiniciar nada | No | - |
--json | Mostrar el informe de convergencia en JSON | No | - |
--include-unknown | Reiniciar también los repositorios desfasados que no están en la configuración local (sus secretos de entorno se desconocen) | No | - |
--policy <policy> | Política de reinicio: epoch (solo cambios de diseño) o always (también cualquier cambio del binario de renet) | No | epoch |
--continue-on-error | Seguir adelante cuando falla un repositorio en lugar de detener la pasada | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.7 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.8 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.9 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-env <var> | Nombre de la variable de entorno que contiene el token de API del proveedor; el token nunca va en la línea de comandos | 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.10 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 tenga repositorios ubicados en ella o estrategias de respaldo vinculadas a ella, dejando esas referencias colgantes. | No | - |
3.11 restart-services
Reinicia uno por uno los daemons de renet que todavía ejecutan un binario reemplazado para que usen el instalado, y confirma que cada unidad está activa con el binario nuevo antes de pasar a la siguiente. Con --include-docker también se reinician los supervisores rediacc-docker-N de cada repositorio, de uno en uno, lo que reinicia los contenedores de ese repositorio.
rdc machine restart-services <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--include-docker | Reiniciar también el supervisor rediacc-docker-N de cada repositorio (reinicia sus contenedores) | No | - |
--json | Mostrar el informe en JSON | No | - |
3.12 scan-keys
Escanear claves de host SSH para máquinas en la configuración actual
rdc machine scan-keys [name]
3.13 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% |
--no-converge | No reiniciar los daemons de repositorio que siguen con un diseño de runtime antiguo (igual que REDIACC_SKIP_RUNTIME_CONVERGE=1) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
3.14 status
Mostrar estado completo de la máquina (sistema, repos, contenedores, servicios). Solo lectura: nunca actualiza renet en la máquina; avisa si su versión es distinta.
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 | - |
3.15 gpu
Muestra las GPU que una máquina puede ceder a los repositorios, los dispositivos CDI que ofrece y qué repositorio tiene cada uno.
list
Lista las GPU detectadas en una máquina, los nombres de dispositivo CDI que definen sus specs y los repositorios a los que se concede cada dispositivo. Para conceder uno, usa 'rdc repo gpu grant'.
rdc machine gpu list <name> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--debug | Habilitar salida de depuración (modo local) | No | - |
3.16 access
Vincular las claves de acceso de la configuración a una máquina y escribirlas en su authorized_keys, cada una restringida a sus rangos de origen
set
Vincular una clave de acceso a una máquina. Los rangos indicados aquí sustituyen los de la clave solo en esta máquina. Aplícalo con 'machine access push'
rdc machine access set <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <key> | Nombre de la clave de acceso (consulta 'config access list') | Sí | - |
--ipv4 <cidrs> | Rangos IPv4 en notación CIDR (separados por comas, p. ej., 203.0.113.0/24) | No | - |
--ipv6 <cidrs> | Rangos IPv6 en notación CIDR (separados por comas, p. ej., 2001:db8::/32) | No | - |
--clear-ranges | Descartar los rangos propios de esta máquina, para que se apliquen los de la clave o los de la configuración | No | - |
remove
Desvincular una clave de acceso de una máquina. El siguiente 'machine access push' elimina su línea
rdc machine access remove <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--key <key> | Nombre de la clave de acceso (consulta 'config access list') | Sí | - |
show
Mostrar las claves de acceso vinculadas a una máquina y los rangos que resuelve cada una allí
rdc machine access show <machine>
push
Escribir en el authorized_keys de una máquina las claves de acceso vinculadas a ella, adoptando una línea existente con la misma clave, y eliminar las líneas de esta configuración de las claves que ya no están vinculadas. Rechaza un cambio que dejaría fuera la propia sesión de rdc y no escribe nada si el archivo cambió durante el envío
rdc machine access push <machine> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Mostrar los cambios sin escribir | 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 indicar el nombre de uno para mostrar su configuración completa.
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 el <ref> posicional (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 <ref> | 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 de un fork pasa a deletedRepositories, lo que libera el nombre y mantiene el GUID recuperable con 'repo admin archive restore'; la de un repo grand, o la de uno enviado a otras máquinas, se conserva salvo que se pase --archive-config. 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 | - |
--purge-backups | Borrar también ahora las copias en la nube del repositorio, en vez de dejarlas caducar | 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 prune
Clasifica el almacenamiento de Docker de un repositorio y lo recupera: imágenes sin uso, caché de compilación, contenedores detenidos y directorios overlay2 que ninguna imagen ni contenedor referencia. Es una simulación salvo con --apply. --apply recupera espacio mediante la API de Docker con el repositorio en línea; --apply --offline además detiene el demonio de Docker del repositorio durante la ejecución y pone en cuarentena los directorios huérfanos. Sin ref, examina todos los repositorios montados en -m (solo simulación)
rdc repo prune [ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--apply | Recuperar espacio; sin esta opción la ejecución solo informa | No | - |
--offline | Detener el demonio de Docker del repositorio y poner en cuarentena los directorios huérfanos (requiere --apply) | No | - |
--all-images | Eliminar también las imágenes etiquetadas que ningún contenedor usa | No | - |
--no-trim | Omitir fstrim después de recuperar | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
-m, --machine <name> | Nombre de la máquina de destino | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
6.22 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.23 push
Enviar repositorio a otra máquina. Los destinos de almacenamiento están retirados; use `rdc backup snapshot` para una copia puntual. Para transferencia entre máquinas, la imagen cifrada del repo se copia con el MISMO GUID: esto es un respaldo o una migración, no un fork. Para crear un fork independiente, use 'repo fork' primero y luego push. Una copia enviada llega como un ARTEFACTO de respaldo: inícielo en el destino con 'backup restore <ref> --as <name> -m <target> --up'
rdc repo push <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <remote> | Nombre de la máquina 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 | - |
--bwlimit <limit> | Límite de transferencia: bytes por segundo, unidades decimales (12.5M = 12,5 MB/s), binarias (12Mi) o bits (100Mbps). Sin indicarlo no hay límite | 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.24 pull
Obtener repositorio de otra máquina. Las fuentes de almacenamiento están retiradas; use `rdc backup restore` para una restauración puntual. 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 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 | - |
--bwlimit <limit> | Límite de transferencia: bytes por segundo, unidades decimales (12.5M = 12,5 MB/s), binarias (12Mi) o bits (100Mbps). Sin indicarlo no hay límite | 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.25 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 transferencia: bytes por segundo, unidades decimales (12.5M = 12,5 MB/s), binarias (12Mi) o bits (100Mbps). Sin indicarlo no hay límite | 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.26 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.27 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.28 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/net-<networkId>/secrets/<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.29 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.30 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.31 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.32 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 | - |
6.33 gpu
Concede a un repositorio un dispositivo CDI (por ejemplo nvidia.com/gpu=all) para que sus contenedores puedan solicitarlo, o lo revoca de nuevo. La máquina hace cumplir la concesión; una concesión exclusiva reserva el dispositivo para un solo repositorio.
grant
Permite que los contenedores del repositorio soliciten un dispositivo CDI. Los nombres salen de 'rdc machine gpu list'.
rdc repo gpu grant <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--device <cdi-name> | Nombre CDI completo del dispositivo (p. ej. nvidia.com/gpu=all) | Sí | - |
--exclusive | Reservar el dispositivo para este repositorio: mientras tanto no se puede conceder a ningún otro | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
revoke
Retira un dispositivo CDI de los contenedores del repositorio. Los contenedores que ya lo tienen lo conservan hasta que se reinicien.
rdc repo gpu revoke <ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--device <cdi-name> | Nombre CDI completo del dispositivo (p. ej. nvidia.com/gpu=all) | Sí | - |
--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 (omítelo para listar los tickets de trabajos pendientes de esta configuración) | No | - |
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 (opcional si esta configuración guarda un ticket del trabajo) | No | - |
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 (opcional si esta configuración guarda un ticket del trabajo) | No | - |
-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 (opcional si esta configuración guarda un ticket del trabajo) | No | - |
-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 | - |
7.6 wait
Retomar el seguimiento de un trabajo a partir de su ticket, darlo por visto y salir con el código de salida del trabajo
rdc job wait <job-id> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de la máquina de destino (opcional si esta configuración guarda un ticket del trabajo) | No | - |
--timeout <duration> | Dejar de esperar pasado este tiempo (30s, 5m, 2h; un número solo son segundos). El trabajo sigue ejecutándose. | 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 browse
Lista los archivos que contiene un repositorio. Por defecto es un recorrido local de solo lectura de la imagen del repositorio: sin servidor de cuenta y sin red. Un repositorio cifrado debe estar montado, o tener su archivo de clave desplegado, antes de poder abrirse; browse lo indica en lugar de listar nada. Con --at <momento|instantánea>, lista en su lugar el listado de archivos guardado con una instantánea del almacén de fragmentos, sin restaurarla.
rdc backup browse <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--path <subdir> | Limitar el listado a este subárbol | No | - |
--depth <n> | Limitar el descenso a N niveles (0 para ilimitado) | No | - |
--limit <n> | Número máximo de entradas a devolver (0 para ilimitado) | No | - |
| `—at <time | snapshot>` | Listar la instantánea tomada en o antes de este momento, o este id de instantánea (lee el almacén de fragmentos) | 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.
rdc backup list [artifact-ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
-m, --machine <name> | Nombre de máquina | No | - |
--path <subdir> | Limita el listado a un subdirectorio; omite esta opción para listar todo el almacén de datos | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.4 manifests
Listar los manifiestos de instantáneas de copia de seguridad registrados en el servidor
rdc backup manifests [repo-ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--limit <n> | Filas por página (por defecto y máximo 500) | No | - |
--before <cursor> | Cursor de página de un listado anterior (nextBefore) | No | - |
--include-deleted | Incluir instantáneas con borrado diferido pendiente | No | - |
8.5 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 | - |
--at <time> | Restaurar un punto en el tiempo: un ID de instantánea o una hora RFC3339 (restauración desde almacenamiento fragmentado) | No | - |
--any-stream | Con --at, considera también las instantáneas escritas por otras máquinas y forks de este linaje (por defecto, solo este repositorio en su máquina de origen) | No | - |
--no-seed | Obtener cada fragmento del almacén en lugar de reutilizar anclas locales o imágenes del repositorio (demuestra que el almacén es legible) | No | - |
--allow-unopenable | Colocar la imagen aunque la frase de contraseña del repositorio no la abra (un snapshot anterior a un cambio de frase) | No | - |
--salvage | Continuar pese a chunks perdidos o dañados y dejar sus celdas como huecos (requiere --as) | No | - |
--path <file-or-dir> | Restaurar solo este archivo o directorio de la instantánea, sin restaurar todo el repositorio (requiere --at) | No | - |
--to <dir> | Directorio donde colocar la ruta restaurada (por defecto, la carpeta de restauraciones de la máquina para la instantánea) | 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.6 retention
Muestra la política de retención de instantáneas que aplica el servidor.
clear
Elimina la política declarada, de modo que vuelve a aplicarse el valor predeterminado del plan o del servidor.
rdc backup retention clear <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--stream <id> | Aplicar solo a este flujo de copias (un id de flujo); sin él, se usa el valor predeterminado de todo el repositorio | No | - |
set
Indica cuántas instantáneas conservar. Cada opción se reemplaza por completo, no se combina.
rdc backup retention set <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--keep-last <n> | Conservar esta cantidad de las instantáneas más recientes | No | - |
--keep-hourly <n> | Conservar la instantánea más reciente de cada una de estas horas | No | - |
--keep-daily <n> | Conservar la instantánea más reciente de cada uno de estos días | No | - |
--keep-weekly <n> | Conservar la instantánea más reciente de cada una de estas semanas | No | - |
--keep-monthly <n> | Conservar la instantánea más reciente de cada uno de estos meses | No | - |
--keep-yearly <n> | Conservar la instantánea más reciente de cada uno de estos años | No | - |
--keep-within <duration> | Conservar cada instantánea dentro de este tiempo respecto a la más reciente, p. ej. 24h | No | - |
--stream <id> | Aplicar solo a este flujo de copias (un id de flujo); sin él, se usa el valor predeterminado de todo el repositorio | No | - |
preview
Muestra qué instantáneas borraría la próxima limpieza y cuánto espacio liberaría.
rdc backup retention preview <repo-ref>
8.7 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í | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.8 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.9 snapshot
Subir una instantánea al almacenamiento fragmentado: primero el inventario completo, después las celdas modificadas
rdc backup snapshot <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--reseed | Desconfiar del ancla local y subir un inventario completo (vuelve a subir todo y recarga la cuota) | No | - |
--dry-run | Solo planificar: sin subida. Informa qué se movería | No | - |
--cold | Detiene los contenedores, congela, reinicia y solo entonces sube. Cuesta un corte real breve a cambio de una instantánea coherente con la aplicación; no se puede combinar con --dry-run | No | - |
--accept-identity-change | Tomar esta imagen como nueva referencia cuando su identidad LUKS cambió o se redujo; sube un snapshot completo | No | - |
--bwlimit <rate> | Límite de subida: bytes por segundo, unidades decimales (12.5M = 12,5 MB/s), binarias (12Mi) o bits (100Mbps). Sin indicarlo no hay límite | No | - |
--parallelism <n> | Cuántos fragmentos se suben a la vez (4 por defecto) | No | - |
--read-bwlimit <rate> | Límite de lectura para el hash y la lectura de celdas: mismas unidades que --bwlimit; 50M por defecto, 0 = sin límite | No | - |
--hash-parallelism <n> | Cuántas celdas se procesan con hash a la vez (1 por defecto; 0 = una por CPU, hasta 16) | No | - |
--cpu-limit <percent> | Tope de CPU de este snapshot: porcentaje de todos los núcleos, 1-100 (50 por defecto; 100 = sin tope) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.10 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.11 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. Crea un destino de almacenamiento fragmentado de Rediacc | No | - |
--cron <expression> | Programación cron (ej. "0 * * * *" para cada hora) | No | - |
--mode <mode> | Modo de respaldo: "hot" toma la instantánea con todo en marcha, "cold" detiene los contenedores durante el instante de la instantánea | No | - |
--bwlimit <limit> | Límite de ancho de banda de subida en bytes por segundo, con sufijo opcional K/M/G (ej. "6M", "500K") | No | - |
--read-bwlimit <limit> | Límite de lectura para los snapshots de esta estrategia: mismas unidades que --bwlimit; none lo quita | No | - |
--cpu-limit <percent> | Tope de CPU de los snapshots de esta estrategia: porcentaje de todos los núcleos, 1-100 (50 por defecto); none lo elimina | No | - |
--include <repos> | Respaldar solo estos repos (nombres separados por comas) | No | - |
--exclude <repos> | Excluir estos repos del respaldo (nombres separados por comas) | No | - |
--retention <spec> | Retención de instantáneas, por ejemplo last=7,daily=7,weekly=4,monthly=6 ("none" la quita) | No | - |
--rpo <duration> | Objetivo de protección declarado, por ejemplo 15m (mínimo 5m; none lo quita) | No | - |
--repo-rpo <ref=duration> | Objetivo por repositorio como <ref>=<duración>, repetible (none lo quita); name:* es la familia | No | - |
--repo-cell-size <ref=size> | Tamaño de celda por repositorio como <ref>=<tamaño>, repetible. Un cambio vuelve a sembrar el repositorio | No | - |
--no-estimate | Omitir la estimación de variación y coste | No | - |
--dry-run | Mostrar qué cambiaría sin escribir nada | 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 | - |
--unbind | Quitar también la estrategia de cada máquina que la tenga vinculada | 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]
8.12 reconcile
Restablece el registro de bytes almacenados de un repositorio a lo que el almacén contiene realmente (nunca borra un fragmento)
rdc backup reconcile [repo-ref] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Mostrar las cifras sin modificar el registro | No | - |
--check | Simulacro que termina con código 1 si el registro difiere del almacén | No | - |
8.13 usage
Mostrar la cuota de almacenamiento de copias de seguridad, los bytes almacenados y el uso por repositorio
rdc backup usage
8.14 verify
Verificar el ancla de copia de seguridad de un repositorio contra el almacenamiento fragmentado
rdc backup verify <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--deep | Recalcular el hash de cada celda registrada (verificación completa) en lugar de una comprobación muestreada | No | - |
--store | Hacer que el servidor recalcule el hash de cada fragmento almacenado de este repositorio y señale los que falten o estén dañados | No | - |
--restore-test | Restaurar el snapshot del ancla con un nombre desechable directamente desde el almacén, compararlo con el ancla, registrar el resultado y borrar la copia | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.15 snapshots
Gestionar las instantáneas almacenadas
delete
Borra una instantánea almacenada. Sus datos exclusivos se liberan en la próxima recolección de basura.
rdc backup snapshots delete <repo-ref> <snapshot-id>
8.16 download
Copia imágenes de repositorio de una máquina a un directorio local o a una unidad externa. Cada ejecución toma una instantánea nueva que solo existe mientras dura la sesión, actualiza la copia local en el sitio mediante delta de rsync, se reanuda tras una interrupción y verifica el resultado con sha256.
rdc backup download [refs...] [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <dir> | Directorio existente y con permiso de escritura que recibe <machine>/<name>.<tag>.img (nunca se crea) | Sí | - |
--all | Copiar todos los repositorios grand de la máquina indicada con -m | No | - |
-m, --machine <name> | Nombre de máquina | No | - |
--include-forks | Con --all, copiar también los forks | No | - |
--bwlimit <rate> | Límite de ancho de banda de red, como 100Mbps o 12.5M (por defecto: sin límite) | No | - |
--checkpoint | Hacer checkpoint y congelar el repositorio antes de la instantánea (copia en caliente) | No | - |
--retries <n> | Reintentos durante la ejecución tras un fallo de red (por defecto: 3) | No | - |
--skip-verify | Omitir la comparación sha256 tras rsync; la suma de comprobación propia de rsync sigue ejecutándose | No | - |
--skip-space-check | Avisar en lugar de rechazar cuando el destino pueda no tener espacio libre suficiente | No | - |
--store | Reconstruye la imagen cifrada directamente desde el almacén de copias, sin máquina. Requiere un token de API con el ámbito backup:read + backup:restore en REDIACC_TOKEN | No | - |
| `—at <time | snapshot>` | Con --store, la instantánea que se obtiene: una fecha (ISO 8601) o un id de instantánea (por defecto, la más reciente) | No |
8.17 upload
Envía a una máquina una imagen de repositorio local, creada con 'rdc backup download', y la registra como repositorio nuevo. La transferencia se reanuda tras una interrupción, y la máquina comprueba el sha256 y la cabecera LUKS antes de colocar la imagen.
rdc backup upload <image-file> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--to <machine> | Máquina que recibe la imagen | Sí | - |
--as <name> | Nombre del repositorio nuevo (por defecto: el nombre de repositorio de la imagen) | No | - |
--datastore <name> | Colocar la imagen en este datastore con nombre en lugar del predeterminado de la máquina | No | - |
--from-repo <name> | Repositorio de la configuración que aporta la credencial y el linaje cuando el archivo de estado se perdió o nombra un repositorio desconocido | No | - |
--bwlimit <rate> | Límite de ancho de banda de red, como 100Mbps o 12.5M (por defecto: sin límite) | No | - |
--retries <n> | Reintentos durante la ejecución tras un fallo de red (por defecto: 3) | No | - |
--up | Iniciar el repositorio una vez registrado | No | - |
--skip-verify | Omitir la comparación de la imagen local con el sha256 registrado al descargarla | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.18 purge
Borra de una vez todas las instantáneas de copia guardadas de un repositorio del almacén de fragmentos. El repositorio se conserva.
rdc backup purge <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Mostrar lo que se haría sin realizar cambios | No | - |
-y, --yes | Omitir indicador de confirmación | No | - |
--cancel | Cancelar una purga diferida antes de que surta efecto | No | - |
8.19 check
Comprueba que un snapshot se abre con la frase de contraseña restaurando un archivo
rdc backup check <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--path <file> | El archivo que se restaura y compara (por defecto: el archivo no vacío más pequeño) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.20 repair
Volver a subir desde el ancla de esta máquina los chunks perdidos o erróneos
rdc backup repair <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--dry-run | Indica qué se borraría y volvería a subir; no cambia nada | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.21 toc-key
Gestionar la clave del listado de exploración de un repositorio
rdc backup toc-key
8.22 churn
Mide cuánto cambia la imagen de un repositorio entre ejecuciones, proyecta la subida por tamaño de celda y recomienda uno. Mientras corre se mantiene una base reflink en la máquina, y siempre se elimina.
rdc backup churn <repo-ref> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--samples <n> | Muestras medidas a tomar (por defecto 3) | No | - |
--interval <duration> | Espera entre sondeos, por ejemplo 10m (por defecto 10m) | No | - |
--debug | Habilitar salida de depuración (modo local) | No | - |
8.23 immutability
Mostrar o establecer la ventana de borrado diferido de las copias almacenadas
show
Mostrar la ventana de borrado diferido vigente
rdc backup immutability show
set
Establecer la ventana de borrado diferido en días (0 a 30)
rdc backup immutability set <days>
8.24 undelete
Cancelar el borrado diferido de una instantánea antes de que surta efecto
rdc backup undelete <snapshot-id>
9. Integración con VS Code
Abrir VS Code Remote SSH en una máquina o repositorio
9.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 | - |
9.2 list
Listar conexiones SSH de VS Code configuradas
rdc vscode list
9.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 | - |
9.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 | - |
9.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 | - |
10. 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`.
10.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 | - |
11. Comandos Rápidos (Atajos)
11.1 run
ADVERTENCIA: comando de bajo nivel pensado solo para depurar y experimentar, no para producción. Para el uso normal están los comandos de nivel superior (repo up, repo down, etc.). Ejecuta una función de renet en bruto en una máquina.
rdc run
11.2 trace
Rastrear una tarea (atajo para: queue trace)
rdc trace
11.3 cancel
Cancelar una tarea (atajo para: queue cancel)
rdc cancel
11.4 retry
Reintentar una tarea fallida (atajo para: queue retry)
rdc retry
12. Gestión de Suscripciones
Gestionar licencias y tokens de suscripción. Inicia sesión con login, inspecciona con status, reemite licencias con refresh.
12.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_...). Pasa `-` para leerlo desde stdin (lo mantiene fuera de la lista de procesos). | No | - |
--password-stdin | Iniciar sesión sin navegador con la contraseña de la cuenta leída desde stdin (requiere REDIACC_LOGIN_EMAIL) | No | - |
--server <url> | URL del servidor de cuenta | No | - |
12.2 logout
Eliminar el token de suscripción almacenado
rdc subscription logout
12.3 proxy-token
Emitir un token proxy:exec de corta duración a partir del inicio de sesión de este dispositivo, para --proxy
rdc subscription proxy-token [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--json | Imprimir JSON con el token y su expiresAt | No | - |
12.4 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 | - |
12.5 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 | - |
13. 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 | - |
14. Créditos de Terceros
Imprimir los componentes de terceros incluidos con rdc: los binarios que renet integra y transporta (CRIU, rsync), 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 | - |
15. Diagnóstico del sistema
Diagnosticar el entorno CLI y la integración de renet
rdc doctor
16. Herramientas locales
Gestiona las herramientas locales que rdc ejecuta en esta máquina. `rdc tools install tofu` descarga la versión fijada de OpenTofu, comprueba su SHA-256 con la suma integrada en rdc antes de extraerla y deja el binario en el directorio de herramientas de rdc. `rdc tools list` muestra cada herramienta con su versión y dónde se encontró.
16.1 install
Descarga la versión de OpenTofu fijada en esta CLI, verifica su suma SHA-256 y la instala en el directorio de herramientas de rdc. Si la suma no coincide, se borra la descarga y no se instala nada. Terraform nunca se instala; si ya hay uno en el PATH, se usa tal cual.
rdc tools install <tool> [options]
| Opción | Descripción | Obligatorio | Predeterminado |
|---|---|---|---|
--force | Reinstalar aunque la versión fijada ya esté presente | No | - |
16.2 list
Lista el motor de aprovisionamiento que ejecutaría rdc (OpenTofu o Terraform) y cada versión de OpenTofu del directorio de herramientas de rdc, con su versión, su origen y su ruta.
rdc tools list
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.