fnox-secrets
Manages fnox encrypted secrets for the micelio project. Use when setting up secrets, adding new environment variables, configuring deployment credentials, or troubleshooting fnox/age encryption.
Installation
Suivez les instructions du dépôt pour votre agent. Consultez les fichiers et dépendances avant l’installation.
Voir la source ↗GuidesInstructions
fnox Secrets Management
This project uses fnox with age encryption to manage secrets. Secrets are encrypted in the repository and can be shared between local development and CI.
Configuration
-
Config file:
fnox.tomlin the project root -
Age key location:
~/.config/fnox/micelio-age.txt -
Public key:
age147aml8dcjnfyj8gacmx8fvskkrg0gq9lfcrfvmquj28ft3rag5sqyq3nss
Current Secrets
| Secret | Purpose |
|---|---|
KAMAL_REGISTRY_PASSWORD |
Docker registry authentication |
POSTGRES_PASSWORD |
Database password |
SECRET_KEY_BASE |
Phoenix secret key |
SSH_PRIVATE_KEY |
Server SSH access for deployments |
Common Commands
# List all secrets
fnox list
# Get a secret value (decrypted)
fnox get SECRET_NAME
# Set a new secret (interactive)
fnox set SECRET_NAME
# Set a secret from stdin
echo "value" | fnox set SECRET_NAME
# Run a command with secrets in environment
fnox exec -- command
Adding a New Secret
-
Add the secret definition to
fnox.toml:NEW_SECRET = { provider = "age" } -
Set the secret value:
fnox set NEW_SECRET -
If needed in Kamal, add to
config/deploy.yml:env: secret: - NEW_SECRET -
Commit
fnox.toml(encrypted values are safe to commit)
Setting Up on a New Machine
-
Get the age private key from a secure source (password manager, team member)
-
Create the key file:
mkdir -p ~/.config/fnox # Paste the key content into this file: vim ~/.config/fnox/micelio-age.txt chmod 600 ~/.config/fnox/micelio-age.txt -
Verify access:
fnox list fnox get POSTGRES_PASSWORD
Setting Up GitHub Actions
-
Copy the age private key:
cat ~/.config/fnox/micelio-age.txt | pbcopy -
Add to GitHub:
- Go to repository Settings > Secrets and variables > Actions
- Create new secret named
FNOX_AGE_KEY - Paste the key content
Generating Secure Values
# 32-byte hex string (good for passwords)
openssl rand -hex 32
# 64-byte hex string (good for secret keys)
openssl rand -hex 64
Troubleshooting
Error: "unknown field identity"
- Use
key_fileinstead ofidentityin fnox.toml
Error: "could not decrypt"
- Verify the age key file exists at
~/.config/fnox/micelio-age.txt - Check file permissions:
chmod 600 ~/.config/fnox/micelio-age.txt - Ensure you have the correct private key for this project
Secret not available in deployment
- Verify it's listed in
config/deploy.ymlunderenv.secret - Ensure
FNOX_AGE_KEYis set in GitHub Actions secrets
Exemples
Consultez les exemples du dépôt source.
Voir la source ↗Historique source
- Date d’indexation
- 2026-01-20
- Mise à jour de l’index
- 2026-01-26
- Branch
- main
Les dates concernent ce répertoire. Consultez le dépôt pour l’historique du code.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!