Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Add possibility to encrypt secret vars using GPG #20

Closed
lucas-dclrcq opened this issue Aug 17, 2020 · 4 comments
Closed
Labels
enhancement New feature or request
Milestone

Comments

@lucas-dclrcq
Copy link
Collaborator

Bombadil should support secrets for variables (example: user password in a maven setttings template) to avoid committing secret values in a dotfile repository.

Proposal :

Creating secrets :

Bombadil should have a command enabling an user to add a secret variable to a variable file.

Ex: bombadil add-secret --var-file path/to/var/file --var-name maven_password --value mypassword

optionally --value could be replaced by the --ask parameter and bombadil should prompt the user for the secret value

Encrypting/Decrypting

Bombadil should inspire from pass (the standard unix password manager) and use gpg to encrypt/decrypt secret

Bombadil would delegate encrypting/decrypting to gpg, this simplify greatly the management of keys etc..

When bombadil needs to encrypt/unencrypt a variable it should use the default gpg key and eventually prompt the user for the gpg key passphrase if needed.

@oknozor oknozor added the enhancement New feature or request label Sep 1, 2020
@oknozor oknozor added this to the V2.0.0 milestone Sep 1, 2020
@oknozor
Copy link
Owner

oknozor commented Sep 1, 2020

  • rpgp

    • pros : pure rust implementation (no C runtime dependency)
    • cons : no file system (default key location etc) integration
  • gpgme

    • pros : high level binding to gpgme C lib
    • cons : depends on gpgme C library and its development files

We might also use std::process::Command and to this like password store

@oknozor
Copy link
Owner

oknozor commented Oct 4, 2020

  • implemented in 04d3a89
  • still needs to confirm this is working with pinentry (my gpg cong might be wrong) could you test this by cloning
    and checking out v2.0.0-rc ? ( you might need to change your config according to the readme )

@oknozor
Copy link
Owner

oknozor commented Oct 4, 2020

still needs to implement the following :

bombadil show-secrets
bombadil remove-secret {key}

In the mean time this could still be done via gpg

@oknozor
Copy link
Owner

oknozor commented Oct 25, 2020

impletented in #35

@oknozor oknozor closed this as completed Oct 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants