Adds a secrets generator and loader

secrets-tool now has a feature to both generate secrets as well as load
the generated secrets in to KeyVault.
This commit is contained in:
Rob Gil
2020-01-16 21:40:26 -05:00
parent b9a7efe6ba
commit 55623028df
4 changed files with 183 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
import click
import logging
from utils.keyvault.secrets import SecretsClient
from utils.keyvault.secrets import SecretsLoader
logger = logging.getLogger(__name__)
@@ -30,6 +31,17 @@ def list_secrets(ctx):
keyvault = SecretsClient(vault_url=ctx.obj['keyvault'])
click.echo(keyvault.list_secrets())
@click.command('load')
@click.option('-f', 'file', required=True, help="YAML file with secrets definitions")
@click.pass_context
def load_secrets(ctx, file):
"""Generate and load secrets from yaml definition"""
keyvault = SecretsClient(vault_url=ctx.obj['keyvault'])
loader = SecretsLoader(yaml_file=file, keyvault=keyvault)
loader.load_secrets()
secrets.add_command(create_secret)
secrets.add_command(list_secrets)
secrets.add_command(list_secrets)
secrets.add_command(load_secrets)