All Projects → Everbridge → generate-secure-pillar

Everbridge / generate-secure-pillar

Licence: MIT license
Salt Secure Pillar Tool

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to generate-secure-pillar

openpgpkey-control
OpenPGP keys published on your website (WKD)
Stars: ✭ 36 (+20%)
Mutual labels:  pgp, gnupg
Trezor Agent
Hardware-based SSH/PGP agent
Stars: ✭ 400 (+1233.33%)
Mutual labels:  pgp, gnupg
ISalt
ISalt: Interactive Salt Programming
Stars: ✭ 61 (+103.33%)
Mutual labels:  salt, saltstack
salt-ssh-install-salt-minion
利用salt-ssh批量部署salt-minion
Stars: ✭ 19 (-36.67%)
Mutual labels:  salt, saltstack
Dat Keyserver
a distributed PGP keyserver project based on the dat protocol
Stars: ✭ 89 (+196.67%)
Mutual labels:  pgp, gnupg
vscode-saltstack
SaltStack extension for Microsoft Visual Studio Code
Stars: ✭ 26 (-13.33%)
Mutual labels:  salt, saltstack
rune
tool to query for tokens and passwords for use as environment variables
Stars: ✭ 13 (-56.67%)
Mutual labels:  pgp, secure
community
SaltStack Community
Stars: ✭ 27 (-10%)
Mutual labels:  salt, saltstack
Iostreams
IOStreams is an incredibly powerful streaming library that makes changes to file formats, compression, encryption, or storage mechanism transparent to the application.
Stars: ✭ 84 (+180%)
Mutual labels:  pgp, gnupg
Pius
PGP Individual User Signer
Stars: ✭ 77 (+156.67%)
Mutual labels:  pgp, gnupg
saltdash
A read-only dashboard for Salt jobs
Stars: ✭ 18 (-40%)
Mutual labels:  salt, saltstack
Cli
share secrets within teams to avoid plain-text secrets from day one
Stars: ✭ 138 (+360%)
Mutual labels:  pgp, gnupg
alcali-formula
Saltstack formula to install Alcali: a web based tool(GUI) for monitoring and administrating Saltstack Salt.
Stars: ✭ 15 (-50%)
Mutual labels:  salt, saltstack
saltstack-cheatsheet
🧂 SaltStack Cheat Sheet Plus
Stars: ✭ 31 (+3.33%)
Mutual labels:  salt, saltstack
saltstack-lxc-vagrant
Vagrantfile for setting up a SaltStack test/dev environment.
Stars: ✭ 13 (-56.67%)
Mutual labels:  salt, saltstack
salt-lint
A command-line utility that checks for best practices in SaltStack.
Stars: ✭ 111 (+270%)
Mutual labels:  salt, saltstack
pepperboard
Simple and modular dashboard toolkit for SaltStack
Stars: ✭ 26 (-13.33%)
Mutual labels:  salt, saltstack
Pipethis
Replace your `curl | sh` installers
Stars: ✭ 404 (+1246.67%)
Mutual labels:  pgp, gnupg
Encrypt.to
Send encrypted PGP messages with one click
Stars: ✭ 116 (+286.67%)
Mutual labels:  pgp, gnupg
Bouncy Gpg
Make using Bouncy Castle with OpenPGP fun again!
Stars: ✭ 164 (+446.67%)
Mutual labels:  pgp, gnupg

generate-secure-pillar

Go Report Card

Create and update encrypted content or decrypt encrypted content in YAML files

https://blog.edlitmus.info/generate-secure-pillar/

USAGE

generate-secure-pillar [global options] command [command options] [arguments...]

VERSION 1.0.597

AUTHOR

Ed Silva [email protected]

HOMEBREW INSTALL

brew tap esilva-everbridge/homebrew-generate-secure-pillar
brew install generate-secure-pillar

CONFIG FILE USAGE

A config file can be used to set default values, and an example file is created if there isn't one already, with commented out values. The file location defaults to ~/.config/generate-secure-pillar/config.yaml. Profiles can be specified and selected via a command line option.

profiles:
  - name: dev
    default: true
    default_key: Dev Salt Master
    gnupg_home: ~/.gnupg
    default_pub_ring: ~/.gnupg/pubring.gpg
    default_sec_ring: ~/.gnupg/secring.gpg
  - name: prod
    default: false
    default_key: Prod Salt Master
    gnupg_home: ~/.gnupg
    default_pub_ring: ~/.gnupg/pubring.gpg
    default_sec_ring: ~/.gnupg/secring.gpg
...

ABOUT PGP KEYS

The PGP keys you import for use with this tool need to be 'trusted' keys. An easy way to do this is, after importing a key, run the following commands:

expect -c "spawn gpg --edit-key '<the PGP key id here>' trust quit; send \"5\ry\r\"; expect eof"

(found here: https://gist.github.com/chrisroos/1205934#gistcomment-2203760)

COMMANDS

     create, c   create a new sls file
     update, u   update the value of the given key in the given file
     encrypt, e  perform encryption operations
     decrypt, d  perform decryption operations
     rotate, r   decrypt existing files and re-encrypt with a new key
     keys, k     show PGP key IDs used
     help, h     Shows a list of commands or help for one command

GLOBAL OPTIONS

  • --profile value default profile to use in the config file
  • --pubring value PGP public keyring (default: "~/.gnupg/pubring.gpg" or "$GNUPGHOME/pubring.gpg")
  • --secring value PGP private keyring (default: "~/.gnupg/secring.gpg" or "$GNUPGHOME/secring.gpg")
  • --pgp_key value, -k value PGP key name, email, or ID to use for encryption
  • --debug adds line number info to log output
  • --element value, -e value Name of the top level element under which encrypted key/value pairs are kept
  • --help, -h show help
  • --version, -v print the version

COPYRIGHT

(c) 2018 Everbridge, Inc.

CAVEAT: YAML files with include statements are not handled properly, so we skip them.

EXAMPLES

specify a config profile and create a new file

$ generate-secure-pillar --profile dev create --name secret_name1 --value secret_value1 --name secret_name2 --value secret_value2 --outfile new.sls

create a new sls file

$ generate-secure-pillar -k "Salt Master" create --name secret_name1 --value secret_value1 --name secret_name2 --value secret_value2 --outfile new.sls

add to the new file

$ generate-secure-pillar -k "Salt Master" update --name new_secret_name --value new_secret_value --file new.sls

update an existing value

$ generate-secure-pillar -k "Salt Master" update --name secret_name --value secret_value3 --file new.sls

encrypt all plain text values in a file

$ generate-secure-pillar -k "Salt Master" encrypt all --file us1.sls --outfile us1.sls

or use --update flag

$ generate-secure-pillar -k "Salt Master" encrypt all --file us1.sls --update

encrypt all plain text values in a file under the element 'secret_stuff'

$ generate-secure-pillar -k "Salt Master" --element secret_stuff encrypt all --file us1.sls --outfile us1.sls

recurse through all sls files, encrypting all values

$ generate-secure-pillar -k "Salt Master" encrypt recurse -d /path/to/pillar/secure/stuff

recurse through all sls files, decrypting all values (requires imported private key)

$ generate-secure-pillar decrypt recurse -d /path/to/pillar/secure/stuff

decrypt a specific existing value (requires imported private key)

$ generate-secure-pillar decrypt path --path "some:yaml:path" --file new.sls

decrypt all files and re-encrypt with given key (requires imported private key)

$ generate-secure-pillar -k "New Salt Master Key" rotate -d /path/to/pillar/secure/stuff

show all PGP key IDs used in a file

$ generate-secure-pillar keys all --file us1.sls

show all keys used in all files in a given directory

$ generate-secure-pillar keys recurse -d /path/to/pillar/secure/stuff

show the PGP key ID used for an element at a path in a file

$ generate-secure-pillar keys path --path "some:yaml:path" --file new.sls

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].