In this presentation, I introduce how to manage and encode your "secrets" in your codebase, using GnuPG + Mozilla SOPS, so that it is safe to be checked into/pushed to your code repository.
of Key Management solutions (GnuPG, kms, etc). 3. How to use Mozilla SOPS with GnuPG to secure your secrets. 4. See the way forward to weave learnt techniques to achieve automated configuration/deployment pipeline. Desired Outcome
then removing them, is just like accidentally posting an embarrassing tweet, deleting it and just hoping no one saw it or took a screenshot. • Data breaches. • Source code is leaky. Repositories can be cloned (think entire history). • Use tools like GitGuardian / GGShield to automate secrets detection in your git repositories.
to chocolatey / apt-get / yum / homebrew, etc. • CLI driven => path towards automation (scriptable). • Supports root / admin privilege script execution via ‘sudo’ in Microsoft Windows environment. • DEMO...
gpg. • Asymmetric public key cryptography. • Identity signature to sign emails, files, git commits, etc. • Poor man’s file encryption/decryption. • Quick secure way to get started. • DEMO...
encrypted files that supports YAML, JSON, ENV, INI and BINARY formats. • Encrypts with GnuPGP and can also be upgraded to work with AWS KMS, GCP KMS, Azure Key Vault. • Works well to support team development. • Can be integrated into CI systems and automation tooling from powershell to bash/zsh in Microsoft Windows OS and Linux/BSD/macOS. • DEMO...
pipeline. 2. `sops --decrypt` is your friend to overlay and deploy production configuration files to your target environment. 3. Mature into Hashicorp Vault or GCP KMS to manage / store keys instead of local gpg keys. 4. Mature into using configuration management tools to automate entire pipeline, together with SOPS + GnuPG / KMS.