Files
devx/docs/specs/DEVX-178.md
T

39 lines
1.4 KiB
Markdown

# DEVX-178: PLAYBOOK_ROLE_MAP entry for deploy-controller playbook
## Problem
OBL-INFRA-655 adds the `deploy-controller.yml` playbook in the infra repo to the infra
repo (drives the new `deploy_controller` role). The infra molecule
coverage guard (`test_every_playbook_is_mapped`) requires every playbook
under `ansible/playbooks/` to appear in `PLAYBOOK_ROLE_MAP`. Without the
entry, the guard fails and unmapped playbooks fail open to all testable
roles — correct but wasteful.
## Approach
REQ-1: Add a `deploy-controller.yml` → `['deploy_controller']` entry
to `PLAYBOOK_ROLE_MAP` in `src/devx/molecule/molecule_changed.py` so
changes to the playbook select the `deploy_controller` molecule scenario.
## Test Plan
- Existing `test_molecule_changed.py` mapping tests cover new entries
generically; add an explicit assertion that the deploy-controller
playbook maps to `deploy_controller`.
- `make pytest-cov` (100% gate), `make lint-all`.
## Deploy Plan
Merge → devx release publishes automatically → infra dep-PR bumps the
pin; the mapping takes effect on the next infra CI run.
## Rollback Plan
Revert the squash commit; infra playbook falls back to fail-open all-role
selection (safe, slower).
## Acceptance Criteria
- [x] REQ-1: the deploy-controller playbook key maps to `["deploy_controller"]` in `PLAYBOOK_ROLE_MAP`.
- [x] Unit test pins the mapping; 100% coverage maintained.