backupally secrets

Gerencia credenciais armazenadas de forma criptografada.

Sintaxe

backupally secrets <SUBCOMANDO> [OPÇÕES]

Subcomandos

Subcomando Descrição
set Adicionar ou atualizar secret
get Recuperar valor de secret
list Listar secrets (sem valores)
remove Remover secret

secrets set

Adiciona ou atualiza um secret.

backupally secrets set <NAME> <VALUE> [OPÇÕES]

Opções:

Opção Descrição Padrão
--type <TYPE> Tipo do secret password
--file <PATH> Ler valor de arquivo -

Tipos disponíveis:

Tipo Uso
password Senhas de banco de dados
api_key Chaves de API
ssh_key Chaves SSH privadas
certificate Certificados TLS/SSL
generic Dados genéricos

Exemplos:

# Senha de banco de dados
backupally secrets set mysql_password "minha-senha-segura"

# Chave de API
backupally secrets set stripe_key "sk_live_xxxxx" --type api_key

# Chave SSH de arquivo
backupally secrets set deploy_key --file ~/.ssh/id_rsa --type ssh_key

# Certificado
backupally secrets set tls_cert --file /etc/ssl/cert.pem --type certificate

secrets get

Recupera o valor de um secret.

backupally secrets get <NAME>

Exemplo:

backupally secrets get mysql_password

secrets list

Lista todos os secrets (sem exibir valores).

backupally secrets list

Saída:

NAME              TYPE        CREATED              UPDATED
mysql_password    password    2026-01-15 10:00:00  2026-02-01 15:30:00
stripe_key        api_key     2026-01-20 14:00:00  2026-01-20 14:00:00
deploy_key        ssh_key     2026-02-01 09:00:00  2026-02-01 09:00:00

secrets remove

Remove um secret.

backupally secrets remove <NAME>

Exemplo:

backupally secrets remove old_password

Usando Secrets em Tasks

Referencie secrets em arquivos de task usando a sintaxe ${secret:name}:

[target]
kind = "database"
driver = "mysql"
host = "localhost"
database = "production"
user = "${secret:mysql_user}"
password = "${secret:mysql_password}"

[[storage]]
driver = "s3"
access_key = "${secret:aws_access_key}"
secret_key = "${secret:aws_secret_key}"

Armazenamento

Secrets são armazenados em /etc/backupally/secrets.db:

  • Arquivo SQLite criptografado
  • Criptografia AES-256-GCM
  • Chave derivada da chave mestra do sistema

Boas Práticas

Nomenclatura

Use nomes descritivos e consistentes:

# Bom
backupally secrets set mysql_prod_password "..."
backupally secrets set aws_backup_access_key "..."

# Evitar
backupally secrets set pwd1 "..."
backupally secrets set key "..."

Rotação

Atualize secrets periodicamente:

backupally secrets set mysql_password "nova-senha-segura"

O valor anterior é sobrescrito automaticamente.

Auditoria

O campo UPDATED mostra quando cada secret foi modificado.

Segurança

  • Secrets nunca aparecem em logs
  • Valores são descriptografados apenas em memória
  • Arquivo secrets.db tem permissão 0600
  • Backup do secrets.db é criptografado junto com as chaves
By Borlot.com.br on 11/02/2026