From 2391c41bd1b9652feaa30e984b1d9737ce22f4be Mon Sep 17 00:00:00 2001 From: Justin Holmes Date: Mon, 1 Jun 2026 11:09:35 +0000 Subject: [PATCH] delivery-kid: source pickipedia bot creds from BLUERAILROAD_BOT_* vault keys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The pickipedia_client snapshot path in delivery-kid (added in #87) has been silently no-op'ing since deploy: PICKIPEDIA_BOT_PASSWORD in the container is empty, _get_site() returns None without logging, and snapshot_diagnostics returns False without logging. No bot writes ever attempted, no log trail to find the gap. Root cause: the playbook references vault keys named `pickipedia_bot_user` and `pickipedia_bot_password` — which were never added to the vault. The defaults of '' kicked in and the env vars landed empty in the container. The vault DOES have the Magent@magent BotPassword — it's stored as `BLUERAILROAD_BOT_USERNAME` / `BLUERAILROAD_BOT_PASSWORD` and used by maybelle's post-audit-to-wiki.py (which writes the Cryptograss:Delivery-kid-audits/{blockheight} pages successfully). Same bot account, just under a different name in the vault. Point delivery-kid at those keys instead. No vault edit needed; this is purely a rename on the consumer side. ## Follow-up worth doing soon The pickipedia_client should log a single line at module/init time if PICKIPEDIA_BOT_PASSWORD is empty, so the silent-no-op pattern doesn't recur the next time we wire a new env var. Tracking separately rather than bundling here. --- delivery-kid/ansible/playbook.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/delivery-kid/ansible/playbook.yml b/delivery-kid/ansible/playbook.yml index 0b1634b..a722c32 100644 --- a/delivery-kid/ansible/playbook.yml +++ b/delivery-kid/ansible/playbook.yml @@ -142,8 +142,14 @@ # already provisioned for the Blue Railroad import tool. When # the password var is empty the client no-ops cleanly. - PICKIPEDIA_URL={{ pickipedia_url | default('https://pickipedia.xyz') }} - - PICKIPEDIA_BOT_USER={{ pickipedia_bot_user | default('Magent@magent') }} - - PICKIPEDIA_BOT_PASSWORD={{ pickipedia_bot_password | default('') }} + # Source the bot creds from the vault keys that maybelle's + # audit script already uses (BLUERAILROAD_BOT_*). Same bot, + # same password — there's no separate "pickipedia bot" in + # vault and the previously-referenced pickipedia_bot_* + # vault keys silently fell through to '', leaving the + # pickipedia_client's snapshot path a permanent no-op. + - PICKIPEDIA_BOT_USER={{ BLUERAILROAD_BOT_USERNAME | default('Magent@magent') }} + - PICKIPEDIA_BOT_PASSWORD={{ BLUERAILROAD_BOT_PASSWORD | default('') }} volumes: - /mnt/storage-box/staging:/staging ports: