From 6ae5c36e86f7fcf48d880f271864597bce603679 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sat, 31 Jan 2026 01:37:01 +0000 Subject: [PATCH] Add env_pro command modules --- app/env_pro/commands/gitignore_cmd.py | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 app/env_pro/commands/gitignore_cmd.py diff --git a/app/env_pro/commands/gitignore_cmd.py b/app/env_pro/commands/gitignore_cmd.py new file mode 100644 index 0000000..87ba6f2 --- /dev/null +++ b/app/env_pro/commands/gitignore_cmd.py @@ -0,0 +1,47 @@ +"""GitOps integration commands for env-pro.""" + +import click + + +@click.command() +def gitignore(): + """Generate .gitignore entries for env-pro files.""" + entries = """# env-pro environment profiles +.env-profiles/ +!.env-profiles/.gitkeep +.env.schema.yaml + +# Encrypted files +*.encrypted +*.age + +# Environment files (add your specific files) +.env.local +.env.*.local +""" + click.echo(entries) + + +@click.command() +@click.option("--sops/--no-sops", default=False) +def sops(sops: bool): + """Show SOPS integration information.""" + if sops: + info = """# SOPS Integration + +To use SOPS for encrypted secrets: + +1. Install SOPS: https://github.com/mozilla/sops +2. Create an age key: age-keygen -o key.txt +3. Add public key to .sops.yaml: + +creation_rules: + - path_regex: .env-profiles/.* + age: + +4. Encrypt files: sops -e .env-profiles/prod/.env > .env-profiles/prod/.env.enc +5. Update .gitignore to include .env.enc files +""" + click.echo(info) + else: + click.echo("Use 'env-pro sops --sops' to see SOPS integration guide")