This project was inspired by AWS not having the best UX for their secrets management. This tool uses a fuzzy finder to make filtering and selecting of multiple secrets easy. Once you have the secrets downloaded just edit the files as you would like and run the set command to update the secrets.
config - displays basic info on the current config
create - create a new config
show - display the config contents
path - show the current config path
edit - open the current config using the $EDITOR env variable
lock - Encrypt the current config with a password or using $JAWS_CONFIG_KEY env variable
unlock - Decrypt the current config with a password or using $JAWS_CONFIG_KEY env variable
clean - clean local secrets by deleting the path
completion - shell completions
diff - git diff for downloaded secrets
path - display the current secrets download path
command - prints a shell function to popd and pushd to and from the secrets path
status - git status for the downloaded secrets
update - self update command
version - display jaws version
Platforms
AWS
pull
suggest secret if you miss-type the ID
push
list
add
delete
rollback - partial working, no rollback choice
GCP
pull - partial working
fuzzy pull a secret using the args, if testing_key is passed look for projects/projectID/secrets/testing_key
push
list
add
delete
rollback
Environment File Manager
purpose: Using a config file, output a var file that can be consumed at runtime. Using an integration with aws or gcp's secret manager pull secrets and use them as values for keys set in whatever.jaws. Using a config file with no important infomation in it can prevent secrets from being leaked or accidentally committed to a repo, it also lets a developer have multiple environments declared in the config i.e. dev, testing, or production.
Input
config file in hcl format
vars
secrets - secret
local and env variables - var
an environment variable will override one set in the locals block