Saltar para o conteúdo principal Saltar para a navegação Saltar para o rodapé
Programa de Parceiros de Design: registe-se gratuitamente, plano BUSINESS vitalício

Aplicação CLI

Guia completo para utilizar a interface de linha de comandos Rediacc para gestão da plataforma

Referência da CLI Rediacc

Visão Geral

A **CLI Rediacc** (`rdc`) é uma interface de linha de comandos para gerir infraestrutura auto-hospedada -- máquinas, repositórios, armazenamento, backups e muito mais.

Instalação

Transfira o binário mais recente para a sua plataforma a partir da [página de versões Rediacc](https://www.rediacc.com) ou instale através do seu gestor de pacotes:

# macOS / Linux
curl -fsSL https://www.rediacc.com | sh

# Or use the packaged binary directly
./rdc --help

Opções Globais

Todos os comandos suportam estas flags globais:

FlagDescrição
--outputFormato de saída (table|json|yaml|csv)
--configUsar configuração específica para este comando
--langSubstituição de idioma ({{languages}})
--forceIgnorar pedidos de confirmação

1. Utilitários de Agente

Comandos de introspecção para agentes de IA. Subcomandos principais: capabilities (lista todos os comandos com argumentos/opções em JSON), schema (esquema detalhado de um único comando), exec (executa um comando com entrada JSON de stdin, devolve sempre JSON).

1.1 capabilities

Listar todos os comandos disponíveis com argumentos e opções

rdc agent capabilities

1.2 schema

Mostrar o esquema detalhado de um comando específico

rdc agent schema [options]
FlagDescriçãoObrigatórioPredefinição
--command <path>Executar um comando em vez do shell interativoSim-

1.3 exec

Executar um comando com entrada JSON de stdin

rdc agent exec [options]
FlagDescriçãoObrigatórioPredefinição
--command <path>Executar um comando em vez do shell interativoSim-

1.4 generate-reference

Gerar referência de comandos em markdown para competências Claude

rdc agent generate-reference

2. Gestão de Configurações

Gerir ficheiros de configuração do CLI armazenados em ~/.config/rediacc/. Operações CRUD para máquinas, repositórios, backends de armazenamento e chaves SSH dentro de uma configuração. Subcomandos principais: init (criar configuração com nome), show, list, ssh (gerir chaves), recover (a partir de cópia de segurança), prune (limpar resíduos obsoletos). Grupos aninhados: config machine, config repository, config storage, config infra.

Os ficheiros de configuração guardam detalhes de ligação (URL da API, credenciais, equipa/região/bridge predefinidas) para que possa alternar entre ambientes rapidamente.

2.1 prune

Remover peso morto do ficheiro de configuração local em ~/.config/rediacc/<config>.json. São limpos três grupos, todos puramente locais (sem chamadas SSH/renet): (1) entradas de cache de certificados ACME cujo GUID/repositório/máquina âncora já não está na configuração activa; (2) repositórios arquivados cujo período de graça expirou (por omissão 7 dias, ver defaults.pruneGraceDays); (3) referências cruzadas pendentes (machine→strategy, strategy→repo). Os recursos em uso, as credenciais, os tokens de armazenamento e o known-hosts nunca são alterados. O comportamento por omissão é aplicar as alterações; passe --dry-run apenas para pré-visualizar.

rdc config prune [options]
FlagDescriçãoObrigatórioPredefinição
--dry-runPré-visualizar o que seria removido sem modificar o ficheiro de configuração. Reflecte a semântica desactivada por omissão dos outros comandos prune.Não-
--certs-onlyRestringir ao grupo de cache de certificados ACME. Ignora a limpeza de arquivos e referências cruzadas. Mutuamente exclusivo com --archives-only e --refs-only.Não-
--archives-onlyRestringir à remoção de arquivos expirados. Ignora a cache de certificados e a limpeza de referências cruzadas. Mutuamente exclusivo com --certs-only e --refs-only.Não-
--refs-onlyRestringir a referências cruzadas pendentes (machine→strategy, excludes/includes de strategy→repo). Ignora a cache de certificados e os arquivos. Mutuamente exclusivo com --certs-only e --archives-only.Não-
--purge-archivedEliminar TODOS os repositórios arquivados independentemente da idade, não apenas os que passaram o período de graça. Equivalente a executar 'rdc config repository purge-archived'. Use apenas quando tiver a certeza de que não precisa de nenhuma das credenciais guardadas para restauro.Não-
--grace-days <days>Substituir a janela de graça de arquivos (em dias) para esta invocação. Recorre a defaults.pruneGraceDays na configuração, depois a 7 se nenhum estiver definido.Não-

2.2 init

Criar um novo ficheiro de configuração com nome

Pode adicionar máquinas diretamente:

rdc config init [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
--ssh-key <path>Caminho para a chave privada SSH (ex.: ~/.ssh/id_rsa)Não-
--renet-path <path>Caminho para o binário renet (predefinição: renet no PATH)Não-
--master-password <password>Encriptar recursos com uma palavra-passe mestraNão-
-u, --api-url <url>URL da APINão-
--server <url>URL do servidor de contaNão-

2.3 list

Listar todos os ficheiros de configuração

rdc config list

2.4 show

Mostrar os detalhes da configuração actual

rdc config show [options]
FlagDescriçãoObrigatórioPredefinição
--revealMostrar texto simples para valores sensíveis (apenas em modo interactivo)Não-

2.5 delete

Eliminar um ficheiro de configuração

rdc config delete [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-

2.6 set

Definir um valor por omissão (equipa, região, bridge)

rdc config set [options]
FlagDescriçãoObrigatórioPredefinição
--key <key>Chave de configuraçãoSim-
--value <value>Valor de configuraçãoSim-

Dica: Definir valores predefinidos significa que não precisa de passar `--team`, `--region` ou `--bridge` em cada comando.

2.7 clear

Limpar os valores por omissão (todos ou uma chave específica)

rdc config clear [options]
FlagDescriçãoObrigatórioPredefinição
--key <key>Chave de configuraçãoNão-

2.8 recover

Restaurar a configuração a partir de um ficheiro de cópia de segurança (.bak)

rdc config recover [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-y, --yesIgnorar pedido de confirmaçãoNão-

2.9 set-ssh

Actualizar a configuração SSH da configuração actual

rdc config set-ssh

2.10 set-renet

Definir o caminho para o binário renet

rdc config set-renet

2.11 ssh

Gerir a configuração de chaves SSH

set

Definir a chave SSH para a configuração actual

rdc config ssh set [options]
FlagDescriçãoObrigatórioPredefinição
--key <path>Caminho para o ficheiro de chave privada SSHSim-
--embedIncorporar o conteúdo da chave na configuração em vez de guardar o caminhoNão-

show

Mostrar a configuração actual de chave SSH

rdc config ssh show

remove

Remover a chave SSH da configuração actual

rdc config ssh remove

2.12 remote

Gerir a ligação ao armazenamento de configuração remoto

enable

Ligar esta configuração ao armazenamento encriptado remoto

rdc config remote enable [options]
FlagDescriçãoObrigatórioPredefinição
--headlessUsar fluxo de código de dispositivo (para servidores sem interface gráfica)Não-
--api-url <url>URL do servidor de contaNão-

disable

Desligar do armazenamento remoto e guardar a configuração localmente

rdc config remote disable

status

Mostrar o estado da ligação remota

rdc config remote status

refresh

Forçar a re-obtenção da configuração a partir do armazenamento remoto

rdc config remote refresh

2.13 machine

Gerir máquinas na configuração actual

add

Adicionar uma máquina à configuração actual. Analisa automaticamente as chaves de anfitrião SSH. Após adicionar, execute: config machine setup <nome>

rdc config machine add [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--ip <address>Endereço IP ou hostname da máquinaSim-
--user <username>Nome de utilizador SSHSim-
--port <port>Porta SSHNão22
--datastore <path>Caminho do datastore na máquinaNão/mnt/rediacc

remove

Remover uma máquina da configuração actual

rdc config machine remove [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-

list

Listar as máquinas na configuração actual

rdc config machine list

scan-keys

Analisar as chaves de anfitrião SSH das máquinas na configuração actual

rdc config machine scan-keys [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaNão-

setup

Aprovisionar uma máquina remota para repositórios (instala o renet, configura o Docker, armazém de dados BTRFS). Idempotente. Necessário após 'config machine add' e antes de 'repo create'.

rdc config machine setup [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--datastore <path>Caminho do armazém de dados na máquina remotaNão/mnt/rediacc
--datastore-size <size>Tamanho do armazém de dados (por ex., 95%, 100G)Não95%
--debugAtivar saída de depuraçãoNão-

set-ceph

Definir a configuração Ceph RBD para uma máquina

rdc config machine set-ceph [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--pool <name>Nome do pool Ceph (por ex., rbd)Sim-
--image <name>Nome da imagem RBD (por ex., datastore-prod1)Sim-
--cluster <name>Nome do cluster CephNãoceph

2.14 repository

Gerir mapeamentos de repositórios na configuração actual

add

Adicionar um mapeamento de GUID de repositório à configuração actual

rdc config repository add [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--guid <guid>GUID do repositório (UUID dos nomes de ficheiros de cópia de segurança do armazenamento)Sim-
--tag <tag>Tag do repositórioNãolatest
--credential <credential>Credencial do repositório (frase-passe de encriptação)Não-
--network-id <id>ID de rede para isolamento Docker (2816, 2880, ...). Atribuído automaticamente se omitido.Não-

remove

Remover um mapeamento de repositório da configuração actual

rdc config repository remove [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-

list

Listar os mapeamentos de GUID de repositórios na configuração actual

rdc config repository list

list-archived

Listar as credenciais de repositórios arquivados

rdc config repository list-archived

restore-archived

Restaurar uma credencial de repositório arquivado

rdc config repository restore-archived [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--new-name <name>Novo nome do recursoNão-

purge-archived

Eliminar permanentemente todas as credenciais arquivadas

rdc config repository purge-archived

2.15 provider

Gerir fornecedores de cloud para aprovisionamento automático de máquinas

add

Adicionar um fornecedor de cloud

rdc config provider add [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--provider <source>Fonte de fornecedor conhecida (por ex., linode/linode, hetznercloud/hcloud)Não-
--source <source>Fonte de fornecedor OpenTofu personalizada (por ex., vultr/vultr)Não-
--token <token>Token de API para o fornecedor de cloudSim-
--region <region>Região por omissão para novas máquinasNão-
--type <type>Tipo/tamanho de instância por omissãoNão-
--image <image>Imagem do sistema operativo por omissãoNão-
--ssh-user <user>Nome de utilizador SSH para novas VMs (por omissão: root)Não-
--resource <type>Personalizado: tipo de recurso OpenTofu para VMNão-
--label-attr <attr>Personalizado: nome do atributo para a etiqueta da VMNão-
--region-attr <attr>Personalizado: nome do atributo para a regiãoNão-
--size-attr <attr>Personalizado: nome do atributo para o tipo de instânciaNão-
--image-attr <attr>Personalizado: nome do atributo para a imagem do sistema operativoNão-
--ipv4-output <attr>Personalizado: atributo de saída para o endereço IPv4Não-
--ipv6-output <attr>Personalizado: atributo de saída para o endereço IPv6Não-
--ssh-key-attr <attr>Personalizado: nome do atributo para as chaves SSHNão-
--ssh-key-format <format>Personalizado: formato da chave SSH (inline_list ou resource_id)Não-
--ssh-key-resource <type>Personalizado: tipo de recurso OpenTofu para chaves SSHNão-

remove

Remover uma configuração de fornecedor de cloud

rdc config provider remove [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-

list

Listar os fornecedores de cloud configurados

rdc config provider list

2.16 storage

Gerir backends de armazenamento na configuração actual

import

Importar armazenamentos de um ficheiro de configuração rclone

rdc config storage import [options]
FlagDescriçãoObrigatórioPredefinição
--file <path>Caminho para o ficheiroSim-
--name <name>Importar apenas esta secção com nomeNão-

remove

Remover um armazenamento da configuração actual

rdc config storage remove [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-

list

Listar os armazenamentos na configuração actual

rdc config storage list

2.17 infra

Gerir a configuração de infraestrutura (proxy, DNS, certificados)

set

Definir a configuração de infraestrutura para uma máquina (específico da máquina: IPs, domínio, portas; partilhado: email de certificado, token DNS CF)

rdc config infra set [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--public-ipv4 <ip>Endereço IPv4 público (por máquina)Não-
--public-ipv6 <ip>Endereço IPv6 público (por máquina)Não-
--base-domain <domain>Domínio base para aplicações (por máquina)Não-
--cert-email <email>Email para notificações de certificados TLS (partilhado entre máquinas)Não-
--cf-dns-token <token>Token de API DNS Cloudflare para desafio ACME DNS-01 (partilhado entre máquinas)Não-
--tcp-ports <ports>Portas TCP a reencaminhar (separadas por vírgula, por ex., 25,143,465)Não-
--udp-ports <ports>Portas UDP a reencaminhar (separadas por vírgula, por ex., 53)Não-

show

Mostrar a configuração de infraestrutura de uma máquina

rdc config infra show [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-

push

Enviar a configuração de infraestrutura para a máquina (proxy Traefik, router, DNS Cloudflare). Execute 'config infra set <máquina>' primeiro.

rdc config infra push [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--debugAtivar saída de depuraçãoNão-

2.18 cert-cache

Gerir certificados TLS em cache

pull

Descarregar e colocar em cache os certificados TLS de uma máquina

rdc config cert-cache pull [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--no-pruneNão remover certificados de ID de rede obsoletosNão-
--debugAtivar saída de depuraçãoNão-

push

Carregar certificados TLS em cache para uma máquina

rdc config cert-cache push [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--debugAtivar saída de depuraçãoNão-

status

Mostrar o inventário de certificados em cache

rdc config cert-cache status

clear

Remover a cache de certificados

rdc config cert-cache clear

2.19 field

Operações em campos de configuração por ponteiro (get/set/unset/rotate/list). Ponteiros JSON (RFC 6901) como /credentials/cfDnsApiToken.

get

Ler um valor de configuração pelo Ponteiro JSON. Os campos sensíveis são ocultados salvo com --reveal (apenas para humanos).

rdc config field get [options]
FlagDescriçãoObrigatórioPredefinição
--pointer <pointer>Ponteiro JSON para o campo (por ex., /credentials/cfDnsApiToken)Sim-
--revealMostrar texto simples para valores sensíveis (apenas TTY interactivo; auditado)Não-
--digestImprimir o resumo SHA-256 em vez do valor (seguro para partilhar com agentes)Não-

set

Escrever um valor de configuração num Ponteiro JSON. Os caminhos sensíveis requerem --current (barreira de conhecimento).

rdc config field set [options]
FlagDescriçãoObrigatórioPredefinição
--pointer <pointer>Ponteiro JSON para o campo (por ex., /credentials/cfDnsApiToken)Sim-
--new <value>Novo valor (interpretado como JSON se parecer JSON: {, [, ", true/false/null/número)Sim-
--current <value>Valor actual em texto simples -- obrigatório para mutações em caminhos sensíveis (prova de barreira de conhecimento)Não-

unset

Eliminar um valor de configuração num Ponteiro JSON. Os caminhos sensíveis requerem --current.

rdc config field unset [options]
FlagDescriçãoObrigatórioPredefinição
--pointer <pointer>Ponteiro JSON para o campo (por ex., /credentials/cfDnsApiToken)Sim-
--current <value>Valor actual em texto simples -- obrigatório para eliminações em caminhos sensíveisNão-

rotate

Rodar um valor sensível sem --current. Apenas TTY interactivo; auditado explicitamente.

rdc config field rotate [options]
FlagDescriçãoObrigatórioPredefinição
--pointer <pointer>Ponteiro JSON para o campo sensível (por ex., /credentials/cfDnsApiToken)Sim-
--new <value>Novo valorSim-

list

Listar todos os modelos de ponteiro de sensibilidade registados com o seu tipo e política de confirmação/encriptação.

rdc config field list [options]
FlagDescriçãoObrigatórioPredefinição
--sensitiveMostrar apenas modelos sensíveis (não públicos)Não-

2.20 edit

Abrir a configuração activa no $EDITOR como uma projecção JSONC redigida. Apenas para humanos; agentes recusados.

rdc config edit [options]
FlagDescriçãoObrigatórioPredefinição
--revealMostrar texto simples para valores sensíveis (apenas TTY interactivo; auditado)Não-
--dumpImprimir a configuração actual como JSONC para stdout (só leitura; seguro para agentes quando redigido)Não-
--apply <file>Aplicar um ficheiro JSONC editado (ignora o lançamento do $EDITOR)Não-
--current-secrets <file>Ficheiro JSON com mapeamento ponteiro→texto simples antigo para barreira de conhecimento em --applyNão-
--editor <cmd>Substituição do comando do editor (segue precedência git: flag > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR)Não-

2.21 audit

Inspeccionar o registo de auditoria da configuração (JSONL com cadeia de hashes em ~/.config/rediacc/audit.log.jsonl)

log

Imprimir entradas de auditoria recentes como JSON

rdc config audit log [options]
FlagDescriçãoObrigatórioPredefinição
--since <spec>Mostrar apenas entradas mais recentes do que (por ex., '24h', '7d', carimbo de data/hora ISO)Não-
--path <glob>Filtrar por glob de Ponteiro JSON (por ex., /credentials/*)Não-
--actor <kind>Filtrar por tipo de actor (human|agent)Não-

tail

Transmitir novas entradas de auditoria à medida que são escritas (Ctrl+C para parar)

rdc config audit tail

verify

Verificar a integridade da cadeia de hashes SHA-256 em todas as entradas de auditoria

rdc config audit verify

2.22 backup-strategy

Gerir estratégias de cópia de segurança com nome (modos hot/cold, destinos, agendamento)

set

Criar ou actualizar uma estratégia de cópia de segurança

rdc config backup-strategy set [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome da estratégia (obrigatório)Sim-
--destination <name>Nome do destino dentro da estratégiaNão-
--storage <name>Nome da configuração de armazenamento (credenciais rclone)Não-
--cron <expression>Agendamento cron (por ex., "0 * * * *" para de hora em hora)Não-
--mode <mode>Modo de cópia de segurança: "hot" (sem tempo de inactividade) ou "cold" (parar, snapshot, reiniciar)Não-
--bwlimit <limit>Limite de largura de banda rclone (por ex., "6M", "10M:off", "08:00,3M;22:00,10M")Não-
--include <repos>Fazer cópia de segurança apenas destes repositórios (nomes separados por vírgula)Não-
--exclude <repos>Excluir estes repositórios da cópia de segurança (nomes separados por vírgula)Não-
--folder <path>Subpasta dentro do bucket de armazenamento para este destino (por ex., hot, cold)Não-
--enableActivar a estratégia ou destinoNão-
--disableDesactivar a estratégia ou destinoNão-

remove

Remover uma estratégia ou destino de cópia de segurança

rdc config backup-strategy remove [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome da estratégia (obrigatório)Sim-
--destination <name>Remover apenas este destino (mantém os outros destinos)Não-

list

Listar todas as estratégias de cópia de segurança

rdc config backup-strategy list

show

Mostrar os detalhes de uma estratégia de cópia de segurança

rdc config backup-strategy show [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome da estratégia (mostra todas se omitido)Não-

3. Gestão do Datastore

Gestão de armazenamento em bloco de baixo nível para datastores de máquinas (Ceph RBD ou BTRFS local). Normalmente só necessário durante a configuração inicial da máquina ou migração entre máquinas. Subcomandos principais: init (criar datastore), status (saúde/utilização), fork (clonar datastore para outra máquina), unfork (restaurar a partir de snapshot).

3.1 init

Inicializar o datastore numa máquina (loop local ou Ceph RBD)

rdc datastore init [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina (onde o datastore Ceph está alojado)Sim-
--size <size>Tamanho do datastore (por ex., 5G, 50G, 100G)Sim-
--backend <type>Tipo de backend: local (predefinição) ou cephNãolocal
--pool <name>Nome do pool Ceph (predefinição: da configuração da máquina, ou rbd)Nãorbd
--image <name>Nome da imagem RBD Ceph (predefinição: da configuração da máquina via set-ceph)Não-
--cluster <name>Nome do cluster Ceph (predefinição: ceph)Nãoceph
--forceForçar inicialização mesmo que o datastore já exista (AVISO: reformata o armazenamento)Não-
--debugAtivar saída de depuraçãoNão-

3.2 fork

Criar uma cópia COW local de um datastore Ceph via snapshot + clone RBD (< 2s). Guarde os nomes do snapshot/clone do output para unfork. Apenas um fork por nome de destino; execute unfork antes de voltar a fazer fork.

rdc datastore fork [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina (onde o datastore Ceph está alojado)Sim-
--to <name>Sufixo do clone (cria clone com o nome <image>-fork-<name>). O fork fica na máquina de origem.Sim-
--cow-size <size>Tamanho do ficheiro de suporte COW (predefinição: auto, cresce conforme necessário)Não-
--debugAtivar saída de depuraçãoNão-

3.3 unfork

Limpar um fork: desmontar COW, remover clone, remover snapshot

rdc datastore unfork [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina (onde o datastore Ceph está alojado)Sim-
--source <image>Imagem RBD original que foi usada no fork (de config set-ceph --image, por ex. ds-prod)Sim-
--snapshot <name>Snapshot a remover (valor "Snapshot:" do output do fork, por ex. fork-<timestamp>)Sim-
--dest <image>Imagem clone a remover (valor "Clone:" do output do fork, por ex. ds-prod-fork-<machine>)Sim-
--pool <name>Nome do pool Ceph (predefinição: da configuração da máquina)Não-
--mount-point <path>Ponto de montagem do fork a desmontar (predefinição: /mnt/rediacc)Não-
--forceContinuar a limpeza mesmo que passos individuais falhem (por ex., desmontagem, remoção do snapshot)Não-
--debugAtivar saída de depuraçãoNão-

3.4 status

Mostrar backend do datastore, tamanho, utilização, estado de montagem e cow_mode (se em fork)

rdc datastore status [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina (onde o datastore Ceph está alojado)Sim-
--debugAtivar saída de depuraçãoNão-

4. Gestão de Máquinas

Inspecionar o estado de máquinas remotas: recursos do sistema, contentores em execução, serviços systemd, repositórios implementados e diagnósticos de saúde. Consultas de leitura apenas -- para modificar repositórios use `repo`. Subcomandos principais: query (estado completo com filtros --system, --containers, --repositories, --services), list, create, rename, delete, prune.

4.1 list

Listar máquinas

rdc machine list [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
--search <text>Pesquisar em {{field}}Não-
--sort <field>Ordenar por campoNão-
--descOrdenar por ordem decrescenteNão-

4.2 create

Criar uma nova máquina

rdc machine create [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
-b, --bridge <name>Nome da bridgeNão-
--vault <json>Dados do vault da máquina como string JSONNão-

4.3 rename

Renomear uma máquina

rdc machine rename [options]
FlagDescriçãoObrigatórioPredefinição
--current-name <name>Nome atual do recursoSim-
--new-name <name>Novo nome do recursoSim-
-t, --team <name>Nome da equipaNão-

4.4 delete

Eliminar uma máquina

rdc machine delete [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
-f, --forceIgnorar pedidos de confirmaçãoNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

4.5 vault

Gestão do vault da máquina (apenas adaptador cloud)

rdc machine vault

4.6 vault-status

{{t:cli.commands.machine.vault-status.description}}

rdc machine vault-status [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-

4.7 update

Atualizar configuração da máquina

rdc machine update

4.8 health

Verificar saúde da máquina para pipelines de CI/CD

O comando health produz métricas do sistema, estado dos contentores, estabilidade dos serviços e informações de armazenamento -- útil para verificações em pipelines de CI/CD.

rdc machine health [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-

4.9 containers

Listar contentores numa máquina com estado, saúde e encaminhamento de domínio. O JSON inclui detalhes completos dos contentores com o repositório resolvido para nome (original em repository_guid), domínio e autoRoute

rdc machine containers [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
--health-checkModo de verificação de saúde - sai com código 2 se algum não estiver saudávelNão-

4.10 services

Listar serviços systemd geridos pela rediacc numa máquina (nome, estado, sub-estado, contagem de reinícios, memória, repositório resolvido para nome com original em repository_guid). Use --stability-check para sair com código 2 se algum falhar ou estiver a reiniciar (para CI/CD)

rdc machine services [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
--stability-checkModo de verificação de estabilidade - sai com código 2 se algum falhar/reiniciarNão-

4.11 query

Mostrar estado completo da máquina (infraestrutura, sistema, repos com nome/guid, contentores com repository/repository_guid/domain/autoRoute, serviços com repository/repository_guid)

rdc machine query [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--debugAtivar saída de depuraçãoNão-
--systemIncluir apenas informações do sistemaNão-
--repositoriesIncluir apenas repositóriosNão-
--containersIncluir apenas contentoresNão-
--servicesIncluir apenas serviçosNão-
--networkIncluir apenas interfaces de redeNão-
--block-devicesIncluir apenas dispositivos de blocoNão-
--licensesIncluir estados de licença dos repositóriosNão-
--storage-healthMostrar fragmentação BTRFS e poupanças de reflink por repositórioNão-
--sync-certsTambém obter a cache de certificados ACME da máquina após a consultaNão-
--strictTerminar com código não zero (código 2) se algum contentor ultrapassou o limiar de desvio de saúdeNão-

4.12 vault-status

Mostrar estado parsed do vault de uma máquina

rdc machine vault-status [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-

4.13 repos

Listar repositórios implementados numa máquina (nome, GUID, tamanho, estado de montagem, estado do Docker, contagem de contentores, utilização de disco, data de modificação, Rediaccfile presente). O JSON aninha contentores e serviços em cada repositório. Use --search para filtrar por nome ou GUID

rdc machine repos [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
--search <text>Filtrar repositórios por nomeNão-

4.14 test-connection

Testar ligação SSH a uma máquina e capturar chave do anfitrião

rdc machine test-connection [options]
FlagDescriçãoObrigatórioPredefinição
--ip <address>Endereço IP ou hostname da máquinaSim-
--user <name>Nome de utilizador SSHSim-
-t, --team <name>Nome da equipaNão-
-b, --bridge <name>Nome da bridgeNão-
--port <number>Porta SSHNão22
--password <pwd>Palavra-passe SSH para autenticação inicialNão-
--datastore <path>Caminho do datastore na máquinaNão/mnt/rediacc
-m, --machine <name>Nome da máquina (para atualizar o vault após o teste)Não-
--saveGuardar known_hosts no vault da máquina após teste bem-sucedidoNão-

Dica: Use `--save-known-hosts` para persistir automaticamente a chave do host no vault da máquina após um teste bem-sucedido.

4.15 provision

Provisionar uma nova máquina num fornecedor de cloud com OpenTofu

rdc machine provision [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--provider <name>Nome do fornecedor de cloud (de config provider add)Sim-
--region <region>Substituir região predefinidaNão-
--type <type>Substituir tipo de instância predefinidoNão-
--image <image>Substituir imagem de SO predefinidaNão-
--ssh-user <user>Nome de utilizador SSH para a nova VM (predefinição: root)Não-
--base-domain <domain>Domínio base para a infraestrutura (por ex., example.com). Implica --infraNão-
--no-infraIgnorar configuração de infraestrutura (proxy + DNS)Não-
--debugAtivar saída de depuraçãoNão-

4.16 deprovision

Destruir uma máquina provisionada na cloud e remover da configuração

rdc machine deprovision [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--forceIgnorar pedido de confirmaçãoNão-
--debugAtivar saída de depuraçãoNão-

4.17 backup

Gestão de cópias de segurança da máquina (agendar, acionar, estado)

list

Listar estratégias de cópia de segurança associadas a todas as máquinas

rdc machine backup list

schedule

Implementar agendamento de cópia de segurança numa máquina remota (temporizadores systemd)

rdc machine backup schedule [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--dry-runPré-visualizar as unidades geradas sem implementarNão-
--forceProsseguir mesmo que uma cópia de segurança esteja em curso (a nova unidade aplica-se no próximo ciclo; a invocação em curso mantém a unidade antiga)Não-
--reset-failedLimpar estado falhado nos serviços afetados após uma implementação bem-sucedida (desativado por predefinição, preserva o sinal de falha)Não-
--debugAtivar saída de depuraçãoNão-

now

Acionar uma cópia de segurança imediatamente numa máquina remota

rdc machine backup now [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--strategy <name>Nome da estratégia (aciona todas se omitido)Não-
--debugAtivar saída de depuraçãoNão-

status

Mostrar estado da cópia de segurança e estado do temporizador numa máquina remota

rdc machine backup status [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--strategy <name>Mostrar detalhes de uma estratégia específicaNão-
--debugAtivar saída de depuraçãoNão-

cancel

Cancelar uma cópia de segurança em curso numa máquina remota

rdc machine backup cancel [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-
--strategy <name>Nome da estratégia (cancela todas se omitido)Não-
--debugAtivar saída de depuraçãoNão-

4.18 prune

Remover recursos de datastore órfãos e snapshots desatualizados de uma máquina. A execução base limpa artefactos internos do datastore do renet (subvolumes BTRFS, ficheiros de bloqueio, ficheiros temporários). As opções abaixo permitem limpezas progressivamente mais específicas de repositórios: --orphaned-repos usa apenas a configuração local do CLI como referência, enquanto --prune-unknown consulta também o espelho .interim/state do renet para que forks legítimos criados por outras ferramentas sobrevivam mesmo sem entrada na configuração local. Ambos os caminhos de eliminação executam uma verificação prévia de segurança de montagem; use --force-delete-mounted para ignorar.

rdc machine prune [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--dry-runMostrar o que seria removido sem efetuar alteraçõesNão-
--orphaned-reposEliminar todos os repositórios na máquina que não existam na configuração local do CLI. Abrangente -- também remove forks criados por outras ferramentas sem entrada na configuração local, mesmo quando o espelho renet os identifica corretamente como forks. Use --prune-unknown para o comportamento mais restrito que respeita o espelho.Não-
--prune-unknownEliminar apenas repositórios que o espelho .interim/state do renet não consegue classificar (não na configuração local E sem espelho marcado como fork). Estritamente mais restrito do que --orphaned-repos: forks sem configuração são preservados quando o espelho os identifica. Órfãos legados anteriores ao espelho e grands desatualizados cuja entrada de configuração foi eliminada entram neste grupo.Não-
--force-delete-mountedIgnorar a verificação prévia de segurança de montagem e eliminar repositórios mesmo que estejam montados ou com contentores Docker em execução. Distinto de --force (que apenas ignora o período de carência para repositórios arquivados). Aplica-se a --orphaned-repos e --prune-unknown.Não-
--forceIgnorar pedidos de confirmaçãoNão-
--grace-days <days>Período de graça em dias para repositórios recentemente arquivados (predefinição: 7)Não-
--debugAtivar saída de depuraçãoNão-

5. Servidor MCP

Expõe o CLI como servidor Model Context Protocol (MCP) para integração com agentes de IA. O servidor envolve comandos do CLI como ferramentas MCP com entrada/saída JSON estruturada. Subcomando principal: serve (inicia o servidor MCP baseado em stdio).

5.1 serve

Iniciar o servidor MCP (transporte stdio)

rdc mcp serve [options]
FlagDescriçãoObrigatórioPredefinição
--config <name>Nome da configuração a usar em todos os comandosNão-
--timeout <ms>Tempo limite predefinido dos comandos em milissegundosNão120000
--allow-grandPermitir operações destrutivas em repositórios grand (que não são fork). Predefinição: apenas forksNão-

6. Ciclo de Vida do Repositório

Implementar e gerir repositórios encriptados em máquinas. Subcomandos principais: create, up (implementar), down (parar), fork (clone CoW instantâneo), delete, push/pull (cópia de segurança), sync (transferência de ficheiros). Ciclo de vida: repo create → repo up --mount → repo down. Consulte Conceitos Principais em rdc --help para detalhes de arquitectura, encaminhamento e variáveis de ambiente.

6.1 mount

Montar um repositório (desencriptar e abrir o contentor LUKS, tornando o sistema de ficheiros acessível). Necessário na primeira implementação, após 'repo push' para uma nova máquina, ou após 'repo unmount'. Pode também ser feito via 'repo up --mount'. O volume permanece montado até ser desmontado explicitamente. Omita o nome para montar todos os repositórios na máquina.

rdc repo mount [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--checkpointRestaurar ponto de verificação CRIU do contentor após montagem (retomar processos a partir do estado de memória guardado). Utilizado após 'repo push --checkpoint' para migração em directo.Não-
--no-dockerNão iniciar o daemon Docker após a montagemNão-
--parallelIniciar os repositórios em simultâneoNão-
--concurrency <n>Máximo de repositórios em simultâneo (por omissão: 3)Não3
-y, --yesIgnorar confirmação em operações em loteNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.2 unmount

Desmontar um repositório (fechar o contentor LUKS, desligando o sistema de ficheiros encriptado). Os serviços têm de ser parados primeiro ('repo down'). Após a desmontagem, os dados do repositório ficam inacessíveis até nova montagem. Necessário antes de 'repo resize'. Omita o nome para desmontar todos os repositórios na máquina.

rdc repo unmount [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--checkpointCriar ponto de verificação CRIU antes de desmontar (capturar o estado de memória dos processos em execução para restauro posterior)Não-
--parallelIniciar os repositórios em simultâneoNão-
--concurrency <n>Máximo de repositórios em simultâneo (por omissão: 3)Não3
-y, --yesIgnorar confirmação em operações em loteNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.3 up

Implementar ou actualizar um repositório (montar, executar o up do Rediaccfile que invoca renet compose). As rotas de proxy demoram ~3s a ficar activas após a implementação. Apresenta o padrão de URL para serviços expostos via HTTP (etiqueta rediacc.service_port) quando concluído. Use --mount para a primeira implementação ou repositórios copiados (fork). O restauro de ponto de verificação CRIU é detectado automaticamente -- use --skip-checkpoint para forçar arranque limpo. Omita o nome para implementar todos os repositórios na máquina.

rdc repo up [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--skip-checkpointIgnorar o restauro de ponto de verificação CRIU mesmo que existam dados de verificação (forçar arranque limpo)Não-
--tlsSolicitar certificado TLS dedicado para este repositório (os forks utilizam o certificado partilhado da máquina por omissão)Não-
--include-forksMontar e iniciar também os repositórios copiados (fork)Não-
--mount-onlyApenas montar, sem iniciar os serviçosNão-
--parallelIniciar os repositórios em simultâneoNão-
--concurrency <n>Máximo de repositórios em simultâneo (por omissão: 3)Não3
-y, --yesIgnorar confirmação em operações em loteNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

6.4 up-all

Implementar todos os repositórios numa máquina

rdc repo up-all

6.5 down

Parar os contentores Docker do repositório (executa o down do Rediaccfile via renet compose). NÃO desmonta o volume encriptado -- o repositório permanece montado e pode ser reiniciado com 'repo up'. Use --unmount para fechar também o contentor LUKS após parar. Use --checkpoint para guardar o estado do processo CRIU antes de parar (o próximo 'repo up' restaura automaticamente). Omita o nome para parar todos os repositórios na máquina.

rdc repo down [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--unmountDesmontar também (fechar o contentor LUKS) após parar. Equivalente a 'repo down' seguido de 'repo unmount'. Necessário antes de 'repo resize' ou para proteger completamente o volume.Não-
--checkpointCriar ponto de verificação CRIU antes de parar (guardar o estado de memória do processo para restauro posterior via 'repo up')Não-
-y, --yesIgnorar confirmação em operações em loteNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

6.6 status

Obter o estado do repositório (estado de montagem, daemon Docker em execução, número de contentores, utilização do disco)

rdc repo status [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.7 list

Listar os repositórios numa máquina

rdc repo list [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.8 create

Criar um novo repositório encriptado

rdc repo create [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--size <size>Tamanho do repositório (por ex., 10G, 100G, 1T)Sim-
--no-dockerNão iniciar o daemon Docker após a criaçãoNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.9 delete

Eliminar um repositório (destrói contentores, volumes e imagem encriptada). A entrada de configuração é preservada. Use --archive-config para mover as credenciais para deletedRepositories para recuperação via 'config restore-archived'.

rdc repo delete [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--archive-configMover a entrada de configuração para deletedRepositories para recuperação posteriorNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

6.10 fork

Criar um fork CoW (Copy-on-Write) de um repositório. O FORK É QUASE INSTANTÂNEO E DE TEMPO CONSTANTE independentemente do tamanho do repositório; o reflink BTRFS clona a imagem subjacente, pelo que um repositório de 100 GB e um de 1 GB são copiados no mesmo tempo (~segundos). O fork recebe um NOVO GUID, networkId, intervalo de IPs e domínio de rota automática ({service}-fork-{tag}.{repo}.{machine}.{baseDomain}), sendo uma cópia totalmente independente. O fork online é suportado; o pai pode permanecer em execução. O fork herda automaticamente as credenciais de encriptação do pai. Use --checkpoint para capturar o estado do processo CRIU antes de copiar; o fork restaura automaticamente no primeiro 'repo up' (estado em memória preservado). FORK ENTRE MÁQUINAS: Para copiar para outra máquina, primeiro copie localmente e depois transfira: (1) repo fork --parent <pai> -m <origem> --tag <nome>, (2) backup push <nome> -m <origem> --to-machine <destino>, (3) repo up <nome> -m <destino> --mount. AVISO: Não use 'backup push' isoladamente para copiar; cria uma cópia bruta com o MESMO GUID (não é um fork independente). Copie sempre primeiro para obter uma nova identidade. As rotas automáticas utilizam o nome do repositório, pelo que cada fork obtém automaticamente um domínio único.

rdc repo fork [options]
FlagDescriçãoObrigatórioPredefinição
--parent <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--tag <name>Etiqueta para o fork (cria nome:etiqueta)Sim-
--checkpointCriar ponto de verificação CRIU na origem antes de copiar (capturar o estado de memória do processo para restauro no fork)Não-
--upMontar e iniciar os serviços após copiar (fork + mount + up num único comando)Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.11 takeover

Substituir os dados do repositório pai pelos dados de um fork. O pai mantém a sua identidade (GUID, networkId, domínios, arranque automático, cadeia de cópia de segurança) mas recebe os dados actualizados do fork. Os dados de produção antigos são preservados como fork de cópia de segurança. Utilização: testar actualização no fork, verificar, e depois fazer takeover para produção.

rdc repo takeover [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--forceIgnorar avisos de modificaçãoNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.12 resize

Redimensionar um repositório offline (suporta crescimento e redução). O repositório tem de ser desmontado primeiro ('repo down --unmount'). Para crescimento sem tempo de inactividade sem parar, use 'repo expand'.

rdc repo resize [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--size <size>Novo tamanho do repositório (por ex., 10G, 100G, 1T)Sim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.13 expand

Expandir um repositório montado online (sem tempo de inactividade, apenas crescimento). Aumenta o contentor LUKS e o sistema de ficheiros enquanto os contentores continuam em execução. Não é possível reduzir -- use 'repo resize' para isso (requer desmontagem).

rdc repo expand [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--size <size>Novo tamanho do repositório (por ex., 10G, 100G, 1T)Sim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.14 validate

Validar a integridade do repositório (contentor LUKS, consistência do sistema de ficheiros, configuração). Use após encerramentos inesperados ou para verificar a integridade das cópias de segurança.

rdc repo validate [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.15 autostart

Gerir o arranque automático do repositório no arranque do sistema

enable

Activar o arranque automático de um repositório (omita o nome para activar todos)

rdc repo autostart enable [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

disable

Desactivar o arranque automático de um repositório (omita o nome para desactivar todos)

rdc repo autostart disable [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

list

Listar os repositórios com arranque automático activado

rdc repo autostart list [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquina de destinoSim-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.16 ownership

Alterar o UID de proprietário da directoria do repositório no volume montado (por omissão: 7111). Use quando os contentores precisam de um UID específico para aceder aos ficheiros do repositório.

rdc repo ownership [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
--uid <uid>UID do proprietário (por omissão: 7111)Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.17 template

Gerir e aplicar modelos de implementação (escreve docker-compose.yml, Rediaccfile e ficheiros adicionais). O Rediaccfile deve usar 'renet compose' (não 'docker compose'). As políticas de reinício são seguras (geridas automaticamente pelo watchdog do renet). O renet injeta automaticamente network_mode:host, capacidades CRIU e etiquetas rediacc. Definições perigosas (privileged, pid:host) são bloqueadas salvo com --unsafe. Use 'list' para ver os modelos incorporados disponíveis e 'apply' para implementar um num repositório.

list

Listar todos os modelos de implementação incorporados fornecidos com o CLI

rdc repo template list

apply

Aplicar um modelo a um repositório. Use um nome de modelo incorporado (por ex., app-postgres) ou --file para um modelo JSON personalizado. Ciclo de vida do Rediaccfile: up() inicia os contentores (obtenha as imagens e gere as configurações aqui), down() para. Rediaccfile mínimo: up() { renet compose -- pull; renet compose -- up -d; } down() { renet compose -- down; }. IMPORTANTE: o Rediaccfile DEVE usar 'renet compose' -- 'docker compose' é rejeitado. VARIÁVEIS DE AMBIENTE -- dois níveis: (a) shell do Rediaccfile: ${SVCNAME_IP} (por ex., APP_IP), ${REDIACC_WORKING_DIR}, ${REDIACC_NETWORK_ID}. (b) Dentro dos contentores: o renet injeta automaticamente SERVICE_IP e REDIACC_NETWORK_ID. A reescrita de bind via eBPF gere o isolamento de IPs de forma transparente, pelo que as aplicações podem ligar-se a 0.0.0.0 e o kernel reescreve para o IP de loopback correcto. As verificações de estado de saúde podem usar localhost. network_mode:host é injectado e ports: são ignorados. ARMAZENAMENTO: Tanto os bind mounts ${REDIACC_WORKING_DIR}/... como os volumes Docker nomeados são seguros -- a raiz de dados do Docker está dentro do volume LUKS encriptado. POLÍTICA DE REINÍCIO: As políticas de reinício são seguras -- o renet remove-as automaticamente para compatibilidade CRIU e o watchdog trata da recuperação. Compose: NÃO adicione network_mode nem etiquetas rediacc.* (o renet injeta-as). Multi-projecto: coloque cada sub-projecto na sua própria subdirectoria com o seu próprio Rediaccfile -- o renet descobre-os e executa-os por ordem. Encaminhamento HTTPS: (A) Rota automática (compatível com fork, recomendado): NÃO adicione traefik.enable. O renet gera automaticamente https://{serviceName}.{repoName}.{machineName}.{baseDomain}. Adicione a etiqueta rediacc.service_port=<porta> para portas diferentes de 80. Cada fork obtém um domínio único. (B) Etiquetas Traefik (domínio personalizado, NÃO compatível com fork): traefik.enable=true, traefik.http.routers.<n>.rule=Host(`domínio`), traefik.http.routers.<n>.entrypoints=websecure,websecure-v6, traefik.http.routers.<n>.tls.certresolver=letsencrypt, traefik.http.services.<n>.loadbalancer.server.port=<porta>. Para TCP/UDP: rediacc.tcp_ports=3306 / rediacc.udp_ports=53.

rdc repo template apply [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquina de destinoSim-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Sim-
--file <path>Caminho para o ficheiro JSON de modelo personalizado ({"version":"2","files":{"Rediaccfile":"...","docker-compose.yml":"..."}}) -- substitui o nome do modelo incorporadoNão-
--grand <name>Repositório de credenciais pai (resolve automaticamente o nome para GUID). Apenas para repositórios que partilham segredos com um pai.Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.18 push

Enviar repositório para um destino remoto (máquina ou armazenamento). Omita o nome para enviar todos os repositórios. O tipo de destino é detectado automaticamente a partir da configuração. Para transferência entre máquinas, a imagem encriptada do repositório é copiada com o MESMO GUID -- trata-se de uma cópia de segurança/migração, não de um fork. Para criar um fork independente, use 'repo fork' primeiro e depois envie. Use --up para implementar após o envio.

rdc repo push [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
--to <remote>Máquina ou nome de armazenamento de destino (detectado automaticamente a partir da configuração)Não-
--to-machine <machine>Não-
--provision <provider>Aprovisionar automaticamente a máquina de destino via fornecedor de cloud se não existirNão-
--checkpointCriar ponto de verificação CRIU antes da cópia de segurança (captura o estado de memória do processo para migração em directo)Não-
--forceForçar substituição de cópia de segurança existenteNão-
--upApós o envio, montar e implementar o repositório na máquina de destinoNão-
--tag <tag>Etiqueta de implementação para controlo de versõesNão-
-m, --machine <name>Nome da máquinaSim-
-w, --watchMonitorizar alteraçõesNão-
--parallelIniciar os repositórios em simultâneoNão-
--concurrency <n>Máximo de repositórios em simultâneo (por omissão: 3)Não3
-y, --yesIgnorar confirmação em operações em loteNão-
--bwlimit <limit>Limite de largura de banda para transferência rsync (por ex., "6M", "10M")Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.19 pull

Receber repositório de um destino remoto (máquina ou armazenamento). Omita o nome para receber todos os repositórios. O tipo de origem é detectado automaticamente a partir da configuração. Use --up para implementar após a recepção.

rdc repo pull [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoNão-
--from <remote>Máquina ou nome de armazenamento de origem (detectado automaticamente a partir da configuração)Não-
--from-machine <machine>Não-
--forceForçar substituição do repositório existenteNão-
--upApós a recepção, montar e implementar o repositório nesta máquinaNão-
-m, --machine <name>Nome da máquinaSim-
-w, --watchMonitorizar alteraçõesNão-
--parallelIniciar os repositórios em simultâneoNão-
--concurrency <n>Máximo de repositórios em simultâneo (por omissão: 3)Não3
-y, --yesIgnorar confirmação em operações em loteNão-
--bwlimit <limit>Limite de largura de banda para transferência rsync (por ex., "6M", "10M")Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.20 migrate

Migrar um repositório em directo de uma máquina para outra com tempo de inactividade mínimo. rsync em duas fases: transferência em volume enquanto está em execução, depois breve paragem para sincronização delta. Suporta ponto de verificação CRIU para migração do estado de memória dos processos e aprovisionamento automático das máquinas de destino.

rdc repo migrate [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--from <machine>Nome da máquina de origemSim-
--to <machine>Nome da máquina de destinoSim-
--provision <provider>Aprovisionar automaticamente o destino via fornecedor de cloud (por ex., hetzner, linode)Não-
--bwlimit <limit>Limite de largura de banda para transferência rsync (por ex., 10M)Não-
--checkpointMigração em directo CRIU: capturar e restaurar o estado de memória dos processosNão-
--skip-dnsNão comutar os registos DNS após a migraçãoNão-
--debugAtivar saída de depuraçãoNão-

6.21 backup

Gerir cópias de segurança de repositórios

list

Listar cópias de segurança disponíveis num destino remoto (máquina ou armazenamento). Sem --path, as subpastas hot/ e cold/ são fundidas numa única tabela com uma coluna Modo.

rdc repo backup list [options]
FlagDescriçãoObrigatórioPredefinição
--from <remote>Máquina ou nome de armazenamento de origem (detectado automaticamente a partir da configuração)Não-
--from-machine <machine>Não-
-m, --machine <name>Nome da máquinaSim-
--path <subdir>Subdirectoria dentro da raiz de armazenamento. Quando omitido, hot/ e cold/ são listados e fundidos.Não-
-w, --watchMonitorizar alteraçõesNão-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

6.22 sync

Sincronizar repositórios e ficheiros (push/pull em volume, transferência de ficheiros)

push

Enviar repositórios para armazenamento na cloud (omita o nome para enviar todos)

rdc repo sync push

pull

Receber repositórios do armazenamento na cloud (omita o nome para receber todos)

rdc repo sync pull

upload

Carregar ficheiros para um repositório via rsync sobre SSH (transferência delta). Use --mirror para eliminar ficheiros remotos extra, --dry-run para pré-visualizar, --exclude para ignorar padrões.

rdc repo sync upload [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
-m, --machine <name>Nome da máquinaSim-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
--local <paths...>Um ou mais caminhos de ficheiros ou diretórios locais (predefinição: diretório atual)Não-
--remote <path>Caminho do subdiretório remoto dentro do repositórioNão-
--remote-file <path>Caminho único do ficheiro remoto (relativo à raiz do repositório) para envio. Mutuamente exclusivo com --remote.Não-
--mirrorModo espelho - eliminar ficheiros remotos não presentes localmenteNão-
--verifyVerificar ficheiros com checksums após a sincronizaçãoNão-
--confirmPré-visualizar alterações e pedir confirmação antes de sincronizarNão-
--exclude <patterns...>Padrões a excluir da sincronizaçãoNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

download

Descarregar ficheiros de um repositório via rsync sobre SSH (transferência delta). Use --mirror para eliminar ficheiros locais extra, --dry-run para pré-visualizar, --exclude para ignorar padrões.

rdc repo sync download [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
-m, --machine <name>Nome da máquinaSim-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
--local <path>Caminho do diretório local (predefinição: diretório atual)Não-
--remote <path>Caminho do subdiretório remoto dentro do repositórioNão-
--remote-file <path>Caminho do ficheiro remoto dentro do repositório (alternativa a --remote para transferências de ficheiro único)Não-
--mirrorModo espelho - eliminar ficheiros locais não presentes no remotoNão-
--verifyVerificar ficheiros com checksums após a sincronizaçãoNão-
--confirmPré-visualizar alterações e pedir confirmação antes de sincronizarNão-
--exclude <patterns...>Padrões a excluir da sincronizaçãoNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

status

Comparação em modo de simulação dos ficheiros locais e remotos (mostra o que seria transferido sem transferir de facto)

rdc repo sync status [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
-m, --machine <name>Nome da máquinaSim-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
--local <path>Caminho do diretório local (predefinição: diretório atual)Não-
--remote <path>Caminho do subdiretório remoto dentro do repositórioNão-
--remote-file <path>Caminho do ficheiro remoto dentro do repositório (alternativa a --remote para transferências de ficheiro único)Não-

6.23 snapshot

Gerir snapshots BTRFS em máquinas remotas

create

Criar um snapshot BTRFS de um repositório num momento específico (instantâneo, sem tempo de inactividade). Use --snapshot-name para um nome personalizado.

rdc repo snapshot create

list

Listar snapshots BTRFS numa máquina remota com nome, data de criação e tamanho

rdc repo snapshot list

delete

Eliminar um snapshot de uma máquina remota

rdc repo snapshot delete

6.24 tunnel

Criar um túnel de reencaminhamento de porta SSH para a porta de um contentor numa máquina remota. Detecta automaticamente o contentor e a porta quando não há ambiguidade. O túnel permanece activo até premir Ctrl+C.

rdc repo tunnel [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaNão-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
-c, --container <name>Nome do contentor (detectado automaticamente se apenas um estiver em execução)Não-
--port <port>Porta do contentor remoto a reencaminharNão-
--local <port>Porta local (por omissão, igual à porta remota)Não-

6.25 secret

Gerir segredos por repositório injectados no momento da implementação. Apenas de escrita: get devolve apenas o resumo (nunca o texto simples); set/unset requerem correspondência do resumo --current ou --rotate-secret. Dois modos de entrega: env (REDIACC_SECRET_<KEY>) e file (tmpfs em /var/run/rediacc/secrets/<networkId>/<KEY> via `secrets:` do compose). Os segredos nunca entram na imagem LUKS encriptada; os forks não herdam nenhum.

get

Mostrar o resumo SHA-256 de um segredo. O valor em texto simples nunca é devolvido por design (apenas de escrita). Use --current numa operação set/unset subsequente para verificar um valor que já conhece, ou rode via `set --rotate-secret`.

rdc repo secret get [options]
FlagDescriçãoObrigatórioPredefinição
--name <repository>Nome do repositório (por ex., mail, mail:staging). Sem etiqueta, assume por omissão :latest.Sim-
--key <KEY>Chave do segredo em UPPER_SNAKE_CASE (máx. 64 caracteres). Será exposto como REDIACC_SECRET_<KEY> no modo env ou /run/secrets/<key> nos contentores no modo ficheiro.Sim-

list

Listar chaves e modos de segredos (nunca os valores, nunca os resumos).

rdc repo secret list [options]
FlagDescriçãoObrigatórioPredefinição
--name <repository>Nome do repositório (por ex., mail, mail:staging). Sem etiqueta, assume por omissão :latest.Sim-

set

Definir ou sobrescrever um segredo. Os forks não herdam; defina no fork explicitamente. Em contexto de agente, requer correspondência do resumo --current (estilo passwd).

rdc repo secret set [options]
FlagDescriçãoObrigatórioPredefinição
--name <repository>Nome do repositório (por ex., mail, mail:staging). Sem etiqueta, assume por omissão :latest.Sim-
--key <KEY>Chave do segredo em UPPER_SNAKE_CASE (máx. 64 caracteres). Será exposto como REDIACC_SECRET_<KEY> no modo env ou /run/secrets/<key> nos contentores no modo ficheiro.Sim-
--value <value>Valor do segredo. Passe `-` para ler a partir de stdin (evita exposição no histórico da shell).Sim-
--mode <mode>Modo de entrega: 'env' (visível no ambiente do contentor, docker inspect) ou 'file' (ficheiro tmpfs, nunca em env). Por omissão: file.Nãofile
--current <value>Valor anterior em texto simples (pré-condição estilo passwd). Obrigatório para sobrescrever/remover; mutuamente exclusivo com --rotate-secret.Não-
--rotate-secretConfirmar rotação; ignorar a pré-condição --current (auditado como rotação). Use quando pretende rodar intencionalmente sem verificar o valor anterior.Não-

unset

Eliminar um segredo. Em contexto de agente, requer correspondência do resumo --current.

rdc repo secret unset [options]
FlagDescriçãoObrigatórioPredefinição
--name <repository>Nome do repositório (por ex., mail, mail:staging). Sem etiqueta, assume por omissão :latest.Sim-
--key <KEY>Chave do segredo em UPPER_SNAKE_CASE (máx. 64 caracteres). Será exposto como REDIACC_SECRET_<KEY> no modo env ou /run/secrets/<key> nos contentores no modo ficheiro.Sim-
--current <value>Valor anterior em texto simples (pré-condição estilo passwd). Obrigatório para sobrescrever/remover; mutuamente exclusivo com --rotate-secret.Não-
--rotate-secretConfirmar rotação; ignorar a pré-condição --current (auditado como rotação). Use quando pretende rodar intencionalmente sem verificar o valor anterior.Não-

7. Gestão de Armazenamento

Gerir fornecedores de armazenamento de cópia de segurança remota (S3, compatíveis com rclone). Operações CRUD (listar, criar, renomear, eliminar), configuração do vault, navegação em ficheiros remotos e limpeza de cópias de segurança órfãs.

7.1 list

Listar fornecedores de armazenamento

rdc storage list [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
--search <text>Pesquisar em {{field}}Não-
--sort <field>Ordenar por campoNão-
--descOrdenar por ordem decrescenteNão-

7.2 create

Criar um novo fornecedor de armazenamento

rdc storage create [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-

7.3 rename

Renomear um fornecedor de armazenamento

rdc storage rename [options]
FlagDescriçãoObrigatórioPredefinição
--current-name <name>Nome atual do recursoSim-
--new-name <name>Novo nome do recursoSim-
-t, --team <name>Nome da equipaNão-

7.4 delete

Eliminar um fornecedor de armazenamento

rdc storage delete [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-t, --team <name>Nome da equipaNão-
-f, --forceIgnorar pedidos de confirmaçãoNão-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-

7.5 vault

Gestão do vault de armazenamento (apenas adaptador cloud)

rdc storage vault

7.6 browse

Navegar em ficheiros num sistema de armazenamento

rdc storage browse [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
--path <subpath>Caminho de subdiretório a listarNão

7.7 prune

Eliminar cópias de segurança órfãs do armazenamento que já não constam em nenhuma configuração. Compatível com múltiplas configurações com proteção de período de carência. As chamadas rclone executam em --machine (o executor), não no seu computador local, pelo que os clientes não precisam de ter o rclone instalado localmente; --machine é o executor, não a fonte de informação.

rdc storage prune [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Máquina executora -- executa as chamadas rclone list/delete contra o armazenamento. Obrigatório porque não se espera que os clientes tenham o rclone instalado localmente; as credenciais de armazenamento continuam a vir da sua configuração local.Sim-
--dry-runMostrar o que seria feito sem efetuar alteraçõesNão-
--forceIgnorar pedidos de confirmaçãoNão-
--force-delete-mountedIgnorar a verificação de segurança de montagem e eliminar cópias de segurança na cloud mesmo que o GUID de origem esteja montado ou com contentor em execução na máquina executora. Distinto de --force (que apenas ignora o período de carência para repositórios arquivados).Não-
--grace-days <days>Período de graça em dias para repositórios recentemente arquivados (predefinição: 7)Não-
--debugAtivar saída de depuraçãoNão-
--skip-router-restartIgnorar o reinício do servidor de rotas após atualização do binárioNão-

7.8 pull

Transferir uma cópia de segurança do armazenamento na cloud para uma máquina

rdc storage pull

8. Integração com VS Code

Abrir o VS Code com Remote SSH para uma máquina ou repositório com ambiente isolado por repositório. Mesma ligação SSH que `term` mas inicia o VS Code em vez do terminal. Subcomandos principais: connect (ou atalho posicional), list (mostrar ligações configuradas), cleanup (remover entradas de configuração SSH), check (verificar instalação do VS Code).

8.1 connect

Ligar a uma máquina ou repositório no VS Code

rdc vscode connect [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
-m, --machine <name>Nome da máquinaNão-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
-f, --folder <path>Caminho da pasta remota a abrirNão-
--url-onlyImprimir o URI do VS Code em vez de o lançarNão-
-n, --new-windowAbrir numa nova janela do VS CodeNão-
--skip-env-setupIgnorar configuração do ambiente remotoNão-
--insidersUsar definições do VS Code InsidersNão-

8.2 list

Listar ligações SSH do VS Code configuradas

rdc vscode list

8.3 cleanup

Remover configurações SSH do VS Code

rdc vscode cleanup [options]
FlagDescriçãoObrigatórioPredefinição
--allRemover todas as configurações SSH do rediaccNão-
-c, --connection <name>Remover ligação específicaNão-

8.4 check

Verificar instalação e configuração do VS Code

rdc vscode check [options]
FlagDescriçãoObrigatórioPredefinição
--insidersUsar definições do VS Code InsidersNão-

9. Acesso SSH por Terminal

Abrir um terminal SSH para uma máquina ou contexto de repositório. Configura automaticamente DOCKER_HOST, diretório de trabalho e ambiente. Suporta ações de contentor via --container: logs, exec, stats, terminal. Use `-c` para executar um único comando de forma não interativa. Para o VS Code, use `vscode` em alternativa.

9.1 connect

Ligar a uma máquina ou repositório via SSH

rdc term connect [options]
FlagDescriçãoObrigatórioPredefinição
-t, --team <name>Nome da equipaNão-
-m, --machine <name>Nome da máquinaNão-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
-c, --command <cmd>Executar um comando em vez do shell interativoNão-
--container <id>Ligar a um contentor Docker específicoNão-
--container-action <action>Ação do contentor: terminal, logs, stats, execNão-
--log-lines <lines>Número de linhas de log a mostrar (predefinição: 50)Não-
--followSeguir a saída dos logsNão-
--externalForçar abertura numa janela de terminal externaNão-
--reset-homeRepor a sobreposição home por repositório para um início limpoNão-

10. Gestor de Protocolo

Registar e processar URLs de protocolo {{scheme}}://

10.1 register

Registar o processador de protocolo no sistema

rdc protocol register [options]
FlagDescriçãoObrigatórioPredefinição
--systemRegistar em todo o sistema (requer privilégios de administrador)Não-
--forceForçar novo registo mesmo que já esteja registadoNão-

10.2 unregister

Remover o registo do processador de protocolo do sistema

rdc protocol unregister [options]
FlagDescriçãoObrigatórioPredefinição
--systemCancelar registo em todo o sistema (requer privilégios de administrador)Não-

10.3 status

Mostrar estado do registo do processador de protocolo

rdc protocol status

10.4 open

Abrir um URL {{scheme}}:// e executar a ação

rdc protocol open <url>

10.5 build

Construir um URL {{scheme}}:// a partir dos componentes

rdc protocol build [options]
FlagDescriçãoObrigatórioPredefinição
--token <token>Token de autenticaçãoSim-
-t, --team <name>Nome da equipaSim-
-m, --machine <name>Nome da máquinaSim-
-r, --repository <name>Nome do repositório (liga ao ambiente do repositório)Não-
-a, --action <action>Ação ({{actions}})Nãodesktop
-p, --params <key=value...>Parâmetros adicionaisNão-

10.6 parse

Analisar um URL {{scheme}}:// e mostrar componentes

rdc protocol parse <url>

11. Comandos Rápidos (Atalhos)

11.1 run

AVISO: Comando de baixo nível apenas para depuração e experimentação. Não para uso em produção. Use comandos de nível superior (repo up, repo down, etc.) em alternativa. Executa uma função bridge diretamente numa máquina.

rdc run

11.2 trace

Rastrear uma tarefa (atalho para: queue trace)

rdc trace

11.3 cancel

Cancelar uma tarefa (atalho para: queue cancel)

rdc cancel

11.4 retry

Repetir uma tarefa falhada (atalho para: queue retry)

rdc retry

12. Gestão de Subscrições

Gerir tokens de licenciamento e subscrição. Subcomandos principais: login (autenticar com o portal de subscrição), status (mostrar estado atual da licença), activation (estado dos slots de máquina), repo (gerir licenças por repositório).

12.1 login

Autenticar via browser ou token de API

rdc subscription login [options]
FlagDescriçãoObrigatórioPredefinição
-t, --token <token>Token de API (rdt_...)Não-
--server <url>URL do servidor de contaNão-

12.2 logout

Apagar token de subscrição armazenado

rdc subscription logout

12.3 status

Mostrar estado da subscrição, slots de máquina e licenças de repositório

rdc subscription status

12.4 activation

Gestão de slots de máquina

status

Mostrar estado do slot de máquina para uma máquina

rdc subscription activation status [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-

12.5 repo

Gestão de licenças de repositório

status

Mostrar licenças de repositório instaladas numa máquina

rdc subscription repo status [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-

12.6 refresh

Atualizar licenças de repositório numa máquina remota

activation

Atualizar licenças de repositório numa máquina remota

rdc subscription refresh activation [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-

repos

Atualizar em lote licenças de repositório numa máquina remota

rdc subscription refresh repos [options]
FlagDescriçãoObrigatórioPredefinição
-m, --machine <name>Nome da máquinaSim-

repo

Atualizar a licença de repositório para um repositório específico

rdc subscription refresh repo [options]
FlagDescriçãoObrigatórioPredefinição
--name <name>Nome do recursoSim-
-m, --machine <name>Nome da máquinaSim-

13. Atualizações da CLI

Verificar novas versões do CLI e aplicar atualizações. Suporta --check-only para verificar sem instalar e --force para atualizar mesmo que já esteja na versão mais recente.

rdc update [options]
FlagDescriçãoObrigatórioPredefinição
--forceForçar atualização mesmo que já esteja na versão mais recenteNão-
--check-onlyApenas verificar atualizações sem transferirNão-
--rollbackReverter para a versão anteriorNão-
--statusMostrar estado e diagnósticos da atualização automáticaNão-
--channel <channel>Definir canal de versão (stable ou edge)Não-

14. Diagnóstico do Sistema

Executar verificações de diagnóstico ao ambiente do CLI: versão do Node.js, disponibilidade do binário renet, validade do ficheiro de configuração, estado das chaves SSH e conectividade de rede. Produz um relatório de saúde estruturado com indicadores de aprovação/falha.

rdc doctor

15. Operações de VM Experimentais

Provisionamento e gestão de VMs locais com KVM/QEMU/Hyper-V (plataforma detetada automaticamente). Não se destina a máquinas remotas -- use `machine` para esse efeito. Subcomandos principais: up (iniciar VMs), down (parar), status (listar VMs em execução), ssh (ligar a VM), setup (instalar pré-requisitos), check (verificar disponibilidade do anfitrião).

15.1 up

Provisionar cluster de VMs localmente

rdc ops up [options]
FlagDescriçãoObrigatórioPredefinição
--forceForçar reinício de todas as VMsNão-
--parallelCriar VMs em paraleloNão-
--basicCluster mínimo (bridge + 1 worker)Não-
--liteIgnorar provisionamento de VMs (apenas estado)Não-
--skip-orchestrationIgnorar orquestração do clusterNão-
--backend <backend>Backend de virtualização (kvm|qemu, detetado automaticamente)Não-
--os <name>Sistema operativo da VM (ex.: ubuntu-24.04, debian-13)Não-
--debugAtivar saída de depuraçãoNão-

15.2 down

Destruir cluster de VMs

rdc ops down [options]
FlagDescriçãoObrigatórioPredefinição
--backend <backend>Backend de virtualização (kvm|qemu, detetado automaticamente)Não-
--debugAtivar saída de depuraçãoNão-

15.3 status

Mostrar estado do cluster de VMs

rdc ops status [options]
FlagDescriçãoObrigatórioPredefinição
--backend <backend>Backend de virtualização (kvm|qemu, detetado automaticamente)Não-

15.4 ssh

Acesso SSH a uma VM

rdc ops ssh [options]
FlagDescriçãoObrigatórioPredefinição
--vm-id <id>ID da máquina virtualSim-
-c, --command <cmd>Executar um comando em vez do shell interativoNão-
--backend <backend>Backend de virtualização (kvm|qemu, detetado automaticamente)Não-
--user <user>Nome de utilizador SSH para ligação à VMNão-

15.5 setup

Instalar pré-requisitos de virtualização

rdc ops setup [options]
FlagDescriçãoObrigatórioPredefinição
--debugAtivar saída de depuraçãoNão-

15.6 check

Verificar pré-requisitos de virtualização

rdc ops check

Mensagens de Erro Comuns

Quando algo corre mal, a CLI fornece mensagens de erro claras:

ErroSignificado
Autenticação necessária. Execute: rdc auth loginPrecisa de iniciar sessão primeiro
Nenhuma configuração ativa. Crie uma com: rdc config init --name <name>Nenhuma configuração está ativa -- crie uma com `rdc config init`
Permissão negadaA sua conta não tem as permissões necessárias
Nome da máquina necessário. Use --machine <name>Especifique uma máquina com `--machine` ou defina um valor predefinido na configuração
Nome da equipa necessário. Use --team ou defina o padrão com: rdc config set --key team --value <name>Especifique uma equipa com `--team` ou defina um valor predefinido na configuração
Nome da região necessário. Use --region ou defina o padrão com: rdc config set --key region --value <name>Especifique uma região com `--region` ou defina um valor predefinido na configuração

Formatos de Saída

Todos os comandos de listagem/obtenção suportam múltiplos formatos de saída via `--output`:

rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table   # default

Isto facilita a integração da CLI Rediacc em scripts, pipelines de CI/CD e fluxos de automação.