
fnox-secrets
by pepicrft
A moden Hif forge for the agentic world
SKILL.md
name: fnox-secrets description: 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. allowed-tools: Bash, Read, Grep
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
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
1ヶ月以内に更新
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon


