← ClaudeAtlas

sales-demos-env-urlslisted

Regenerate the environment URL reference file (env-urls.yml at the repo root) — a single-file lookup of every product URL and optionally credentials across all environments. Runs playbooks/generate_env_urls.yml. TRIGGER when: the user has repointed an environment, asks for all the URLs, or env-urls.yml is stale or missing. SKIP: if the user only needs one specific URL — read connection.yml instead.
ericcames/sales.demos · ★ 1 · DevOps & Infrastructure · score 67
Install: claude install-skill ericcames/sales.demos
# sales-demos-env-urls Regenerates `env-urls.yml` at the repo root from the `connection.yml` files (and any `local.yml` overrides). The file is gitignored — credentials are included by default (#426, #429, #565). **It is not in `inventory/` any more, and must not go back** (#582). Every command passes `-i inventory`, and Ansible parses every file in that directory as an inventory source — the old location printed `Skipping key (portal) in group (sandbox)` warnings on every run. Regenerating deletes a leftover `inventory/env-urls.yml`. ## There is an AAP path too (#525) **AAP Ecosystem - Generate Environment URLs** runs this same playbook from AAP. From AAP, credentials are omitted (the EE has no vault password file), but the URLs appear in the job log — useful for verifying a repoint. ## Preflight Check ```bash ./utilities/preflight.sh "${ENV:-sandbox}" ``` Verify the Python script and its dependencies exist: ```bash test -f utilities/generate-env-urls.py || { echo "MISSING: generate-env-urls.py"; exit 1; } python3 -c "import yaml" 2>/dev/null || { echo "MISSING: pip install pyyaml"; exit 1; } ``` ## Run Default: generate with credentials (the full reference). ```bash ENV="${ENV:-sandbox}" mkdir -p ~/ansible-logs export ANSIBLE_LOG_PATH=~/ansible-logs/generate-env-urls-$(date +%F-%H%M).log ./utilities/run-ansible.sh playbooks/generate_env_urls.yml -i inventory --limit "$ENV" \ -e target_env="$ENV" \ --vault-id sales.demos@~/secrets/.vault_pass_sales_demos ```