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 certificatesecrets get
Recupera o valor de um secret.
backupally secrets get <NAME>Exemplo:
backupally secrets get mysql_passwordsecrets list
Lista todos os secrets (sem exibir valores).
backupally secrets listSaí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:00secrets remove
Remove um secret.
backupally secrets remove <NAME>Exemplo:
backupally secrets remove old_passwordUsando 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