sops-secrets

Solid

Manage repository secrets with sops + age — encrypted files committed to git, memory-only decryption via exec-env, Flux and OpenTofu integration. Use whenever a project needs secrets in version control or at runtime.

Code & Development 4 stars 1 forks Updated yesterday MIT

Install

View on GitHub

Quality Score: 80/100

Stars 20%
23
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Secrets Standard (sops 3.13+ / age) Canonical workflow for **sops** (structured-file encryption) with **age** (modern key pairs) — encrypted secrets live in git next to the code they configure, and plaintext exists only in memory. This operationalizes the global "No Secrets in Output" rule: no plaintext secret ever touches disk, logs, or a commit. ## 1. Core Model - **age** provides the key pair: one private key per machine/human, public recipients everywhere. Prefer age over PGP (simpler, no keyservers) and over cloud KMS for solo/portable use; add a `gcp_kms` recipient alongside age only when a team needs central revocation. - **sops** encrypts the **values** of YAML/JSON/ENV files — keys stay readable, so diffs review cleanly and `git log` still tells you _which_ secret changed, never _what_ it is. - **Naming Convention**: encrypted files are committed as `*.enc.yaml` / `*.enc.json` / `*.enc.env`; the [sops.yaml](references/sops.yaml) rules key off that suffix, and any plaintext siblings stay gitignored. - **Policy As File**: `.sops.yaml` at the repo root ([sops.yaml](references/sops.yaml)) declares which paths get encrypted and for which recipients — creation is automatic, ad-hoc flags are never needed. ## 2. Key Management 1. **Generate** once per machine: `age-keygen -o ~/.config/sops/age/keys.txt` — sops' default key location; print the public half anytime with `age-keygen -y ~/.config/sops/age/keys.txt`. 1. **Distribute** only the **public** key: paste it as th...

Details

Author
fmind
Repository
fmind/dotfiles
Created
4 months ago
Last Updated
yesterday
Language
Go
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category