Skip to main content

Module vps

Module vps 

Source
Expand description

CRUD e persistência de registros de VPS (XDG + TOML atômico + flock).

ZERO arquivo .env em runtime. Schema v2 com auth senha/chave.

Modules§

modelo
Modelo de dados VpsRegistro (schema v2).

Structs§

ArquivoConfig
Arquivo de configuração completo.
CamadaConfig
Camada vencedora de configuração (doctor).
OpcoesExec
Opções comuns de execução remota.

Functions§

buscar_por_nome
Busca um registro de VPS por nome.
camada_vencedora
Resolve e descreve a camada de config vencedora.
caminho_config_padrao
Retorna o caminho do arquivo de config respeitando SSH_CLI_HOME.
carregar
Carrega o arquivo de configuração (retorna vazio se não existir).
construir_configuracao
Constrói ConfiguracaoConexao a partir de um VpsRegistro.
escrever_atomico
Escreve bytes em caminho de forma atômica (tempfile + fsync + rename + 0o600).
executar_comando_secrets
Dispatcher one-shot de secrets status|init|reencrypt.
executar_comando_vps
Dispatcher dos subcomandos vps.
executar_connect
Define a VPS ativa gravando seu nome em <config_dir>/active (arquivo irmão).
executar_exec
Executa um comando em uma VPS via SSH.
executar_exec_with_client
Versão testável de executar_exec.
executar_health_check
Health-check SSH.
executar_su_exec
Executa comando via su - one-shot (consome senha_su).
executar_sudo_exec
Executa um comando com sudo (packing sh -c).
executar_sudo_exec_with_client
Versão testável de sudo-exec.
ler_segredo_stdin
Lê uma linha de senha de stdin (sem eco extra).
ler_vps_ativa
Lê o nome da VPS ativa.
resolver_caminho_config
Resolve o caminho do arquivo de config a partir de um override opcional.
salvar
Salva o arquivo de configuração de forma atômica com flock e 0o600.