commit 20ba4ba898f844b9a2419b81c416d672c06ec203 Author: Roberto Hidalgo Date: Tue Nov 15 00:34:12 2022 -0600 hello: !!secret world diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d50ad2 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# joao + +a very wip configuration manager. keep config in the filesystem, back it up to 1password. Make it available to services via vault + 1password connect. + +```yaml +# config/.joao.yaml +# the 1password vault to use as storage +vault: nidito +# the prefix to prepend to all configs from this directory +prefix: example +# think about single config or config in files +``` + +```yaml +# config/host/juazeiro.yaml +address: 142.42.42.42 +dc: bah0 +mac: !!secret 00:11:22:33:44:55 +tls: + cert: !!secret | + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- +roles: + - consul-client + - nomad-client + - http +token: + bootstrap: !!secret 01234567-89ab-cdfe-0123-456789abcdef +``` + +```sh +# NAME can be either a filesystem path or a colon delimited item name +# for example: config/host/juazeiro.yaml or host:juazeiro + +# DOT_DELIMITED_PATH is +# for example: tls.cert, roles.0, dc + +joao get NAME [--output|-o=(raw|json|yaml)] [--remote|--local] [jq expr] +joao set NAME [--from=/path/to/input] [--secret] [--flush] DOT_DELIMITED_PATH [<<<"value"] +joao flush NAME [--dry-run] +joao fetch NAME [--dry-run] +# PREFIX is a prefix to search for keys at, i.e. NAME[.DOT_DELIMITED_PATH] +joao list PREFIX +joao diff NAME [--cache] +joao repo init +joao repo status +joao repo filter clean FILE +joao repo filter diff PATH OLD_FILE OLD_SHA OLD_MODE NEW_FILE NEW_SHA NEW_MODE +joao repo filter smudge FILE +```