sops
gopass
Our great sponsors
sops | gopass | |
---|---|---|
149 | 37 | |
14,856 | 5,609 | |
1.8% | 1.4% | |
9.2 | 9.2 | |
9 days ago | 3 days ago | |
Go | Go | |
Mozilla Public License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
sops
-
Encrypting your secrets with Mozilla SOPS using two AWS KMS Keys
Mozilla SOPS (Secrets OPerationS) is an open-source command-line tool for managing and storing secrets. It uses secure encryption methods to encrypt secrets at rest and decrypt them at runtime. SOPS supports a variety of key management systems, including AWS KMS, GCP KMS, Azure Key Vault, and PGP. It's particularly useful in a DevOps context where sensitive data like API keys, passwords, or certificates need to be securely managed and seamlessly integrated into application workflows.
-
An opinionated template for deploying a single k3s cluster with Ansible backed by Flux, SOPS, GitHub Actions, Renovate, Cilium, Cloudflare and more!
Encrypted secrets thanks to SOPS and Age
-
Tracking SQLite Database Changes in Git
We do the exact same thing to keep track of some credentials we use sops[1] and AWS KMS to separate credentials by sensitivity, then use the git differ to view the diffs between the encrypted secrets
Definitely not best practice security-wise, but it works well
-
The Twelve-Factor App
For anyone new to SOPS like I was - https://github.com/getsops/sops
-
Show HN: Shello – Wrangle Environment Variables
I've found this is largely solved by strictly separating plain config and secrets, and then having secrets pull from GCP secret manager / vault / whatever.
You can then commit all the config (including the secret identifiers) and it all just works so long as you're authenticated with your secret storage system.
We do this for the live configuration as well in line with Gitops and find it to work well.
If you don't want to use a cloud secret manager you can also use something like https://github.com/getsops/sops to commit the encrypted secrets safely
-
Check your secrets into Git [video]
Basically, the simpler the better --just encrypt your secrets and check them in to version control.
We use SOPS[0] for this, and have found it to be pretty nice.
-
Is it safe to commit a Terraform file to GitHub?
To add to this, if you want to store sensitive information in git, I recommend using Mozilla SOPS in conjunction with some key story (e.g., AWS KMS). You can decode SOPS files directly from terraform if I'm not mistaken.
Unfortunately, the SOPS project is in some sort of a limbo state and there has been quite a long period with limited maintenance and unclear position from Mozilla. Despite the project being accepted into the CNCF, it's still unclear what will happen with it going forward.
-
using keyring - no keyring set and giving errors about backend
It looks like the software you're intending to use is oriented towards interacting with desktop Linux's keyring. While you can probably get this to work, I would recommend using something like sops as it's a more standardized way of storing secrets in configuration.
gopass
-
Fired for leaked credentials. How do I explain this?
use a password manager, seriously. I know my setup is overkill, but I've been rocking the yubikey/gopass combo for like 3-4 years now.
-
How do you protect your secret keys in your local computer?
Depend on the kind of keys or secrets in general, and the infrastructure you work with. As bare minimum KeePassX/KeePassXC works as personal keys vault (that have a master password), GoPass (+git) as team passwords repository that use GPG keys as encryption, and passphrase for SSH keys. And, of course, trying to be mindful in what I run in my local computer.
-
GitHub makes 2FA mandatory next week for active developers
Thank you for the details, and pointer to a solution. I've just installed gopass.
I also (in looking through other threads) found https://github.com/gopasspw/gopass and by reading the code learned how TOTP works.
They give you a secret, in the form of a QR code (for smartphone users) or a text string.
You put the secret string in a password manager that supports one time code generation, like Gopass or KeepassXC.
When you login with your user name and password, the 2FA adds a second step where it asks for a "one time code", which your password manager provides. That code is temporary and only works for a short time frame.
In my case I use Gopass ( https://github.com/gopasspw/gopass ) and it's as simple as adding a field like
-
What is your go-to password manager for Linux, and why did you choose that one?
I use gopass, because it is pass compliant and supports multiple recipients / teams which was my initial usecase for it. Just ask if you have any questions about my usage of it!
-
Yubikey/gpg password encryption
I'm currently using passwordstore/gopass for password management. It uses my GPG key to encrypt the passwords. The GPG key lives only only my Yubikey. The Yubikey requires a touch for each decryption.
-
Pa – a simple password manager based on age
That's true, the simple & fast UI (TUI/GUI) helps a lot. However, I would not extrapolate it to a huge problem. I am person, who have written own pass/passage implementation [0], just because I disliked how many steps I need to make to select the password for the form input, modify it or sync secrets.
Initially, I had used the `gopass`. It is probably the most convenient way to start using the password-store. It is cross-platform, 100% compatible with pass & pass-otp. To copy the password, you basically type the part of the file you are looking for. If you type "gopass show github", it will display a TUI, where you can select the file you are looking for (let's say you have two files "personal/github.com.gpg" and "work/github.com.gpg"). Unfortunately, the search function was far from perfect, and it had a problem with typos like "gtihbu" at the time, when I was using it.
To get rid of this issue, I decided to adapt pass/gopass to use `fzf` [2]. In the same time, my .password-store/ dir was rapidly growing that made me think about implementing pass from scratch. I improved the implementation to have better caching, synchronization between machines/mobile, but more importantly - a simple `secret [arg]` command that will execute `fzf` to list all known creds and simplify selection of the password. Of course, it accepted an argument that was limiting the results, which is great when you need to get back to the previous credential to retype something.
The introduction of `fzf` made it really convenient, and I decided to add more commands with fuzzy search, such as:
- `otp` - limits results files containing TOTP/HOTP token, calculates and copies it to the clipboard.
- `secret-edit`, `secret-remove`, `secret-show`... aliases to sub-commands that open `fzf` command in multi-selection mode, so by utilizing space key I could select what files are meant to be modified, removed, displayed etc. Quite handy for mass-edit.
- `secret-qr` - similar to the gopass' feature, but it made a simplified way to create and display QR codes dedicated to share contacts, WiFI SSID+password combination (etc.) to someone who was asking for creds from me.
Awesome, but alt-tabbing got me annoyed after a few years of using. I started pursuing for more sophisticated interface. I decided to give `rofi` [3] a try. I managed to fork that repo and also adapt to my convention of using password-store, but I left i3 for a macOS.
Currently, I have started working on a browser extension that takes care of suggesting password-store creds (based on the path, input parameters, location on the website etc.) similarly to what uBlock Origin does. That configuration is passed to my pass implementation, so on the github.com, my browser have only "work" and "personal" auto-suggestion, when I am focusing the text input.
I plan to create a similar app to Shortcat [4], but it will preserve the information what password has been asked for the focused app. I think, with VoiceOver assistance, it is more than possible to mitigate the need for alt-tabbing to the terminal for electron/native apps.
[0]: It is a private repository, maybe when it will be polished enough I will open-source it.
[1]: https://github.com/gopasspw/gopass
[2]: https://github.com/junegunn/fzf
-
Favorite Password Manager?
gopass is what I've used for a long time. I like how it interfaces with the yubikey/gpg and how password stores can be held in a git repo. There are browser interfaces and GUIs for it but I tend to use it from the command line most of the time.
-
What’s your password manager of choice?
gopass :)
-
Tool / workflow recommendations for the terminal
I wrote my own secret manager: safe. It stores your secrets as encrypted files on your disk (like pass and gopass), and is accessible from the command line. It differs from them in that you only need a master password to use it (so no GPG keys to manage). It comes with an agent (like ssh-agent) that can store your encryption key in memory to avoid typing your master password over and over.
What are some alternatives?
sealed-secrets - A Kubernetes controller and tool for one-way encrypted Secrets
Vault - A tool for secrets management, encryption as a service, and privileged access management
age - A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
git-crypt - Transparent file encryption in git
pass-otp - A pass extension for managing one-time-password (OTP) tokens
terraform-provider-sops - A Terraform provider for reading Mozilla sops files
vault-secrets-operator - Create Kubernetes secrets from Vault for a secure GitOps based workflow.
terragrunt - Terragrunt is a thin wrapper for Terraform that provides extra tools for working with multiple Terraform modules.
secrets-manager - A daemon to sync Vault secrets to Kubernetes secrets
pass-import - A pass extension for importing data from most existing password managers
atlantis - Terraform Pull Request Automation
kubernetes-external-secrets - Integrate external secret management systems with Kubernetes