mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
Provisioning merges into host_vars and never deletes, so the false enabled/shared toggles that apply_services_disabled writes for a key stayed in the round inventory after a later run dropped that key from disable=. That covered the provider's own entry too: with seaweedfs once disabled, web-app-seaweedfs kept shared: false, the service registry offered no seaweedfs provider, container_networks attached no consumer, and BookWyrm ran USE_S3=true against http://seaweedfs:8333 without a route. reconcile_services_disabled_from_env records the keys of each disable run in the host_vars key _INFINITO_SERVICES_DISABLED. On the next run it deletes, in every application block, the enabled/shared toggles that are still exactly false for a recorded key the current disable no longer lists, drops a block left empty, and rewrites or removes the record. It runs right after ensure_host_vars_file, before credentials and the variant bake, so a variant that wants a toggle off writes it again. With an unchanged or empty disable it does nothing. An inventory written before this change has no record, so its older toggles are only reverted after one run with the old list. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>