From 58738e4efccefbb7693180401dddb0ba3f39450a Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Mon, 21 Sep 2026 14:19:47 +0000 Subject: [PATCH] Close out the D&D deployment playbook feature --- ...016-deploy-dnd-pipeline-to-pipeline-dnd.md | 16 +- docs/roadmap/implementation.md | 199 +----------------- docs/status.md | 10 +- 3 files changed, 24 insertions(+), 201 deletions(-) diff --git a/docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md b/docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md index 36296ef..a9216f0 100644 --- a/docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md +++ b/docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md @@ -1,6 +1,6 @@ # Feature 0016: Prepare the D&D Deployment Playbook for `pipeline-dnd` -Status: in_progress +Status: done ## Summary @@ -75,8 +75,9 @@ completion. Future operator-supplied values should be Vault-encrypted in Git; the suite's existing restricted runtime secrets files remain the delivery path. The manifest pins the collection to -`46913446765e86ecfb29ebad9955d579ef6a4c7e`, containing reviewed pipeline commit -`51566afcf69083cdbb5b5718f2544c86b079001c`. Its five standalone role dependencies +`2a53979069ff8d091172650729ae2135c1603163`, containing pipeline commit +`f48008aa38e1c50adde18aa455d12a8ad77023c2` with Narratio v2.1.2. +Its five standalone role dependencies use their reviewed `v0.1.0` tags, with `ansible.posix` `2.2.0` and `community.general` `13.3.0`. Suite Git dependencies use public Gitea URLs; native collections come from Galaxy. Local sibling checkouts are not dependencies. @@ -135,9 +136,12 @@ Ansible task, runtime test harness, or deployment automation is needed. ## Dependencies and Follow-up Work Features 0013–0015 supply public dependencies, operator enrollment, and storage -policy. Feature 0016's consumer preparation already exists in `12b2462`, with -initial documentation in `716a80e`; remaining work aligns comments and docs -with the user's clarified scope. +policy. Consumer preparation was completed in `716a80e`, `12b2462`, and +`7f8353d`, and passed independent review with no remediation findings. +Public dependency installation, target-only host listing, syntax checking, +and whitespace validation passed. Subsequent consumer commit `7f4c90a` +updates the collection pin for the Narratio v2.1.2 bug fix; collection build +and syntax validation passed. These changes are committed and published. The operator may later provision Vault values, install dependencies on their controller, deploy to the host, and validate real processing/publication. diff --git a/docs/roadmap/implementation.md b/docs/roadmap/implementation.md index cecdd47..c8b2983 100644 --- a/docs/roadmap/implementation.md +++ b/docs/roadmap/implementation.md @@ -1,193 +1,12 @@ -# Implementation Plan 0016: Prepare the D&D Deployment Playbook +# Implementation Plan -Status: in_progress +No implementation plan is currently active. Select and agree on the next unit +of work before replacing this notice with its staged plan. -Target executor: GPT-5.6-Terra +Feature 0016 is complete. Its durable scope and completion evidence are in +[the feature roadmap](features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md) +and [workspace status](../status.md). Git history preserves the completed plan. -Feature roadmap: `docs/roadmap/features/0016-deploy-dnd-pipeline-to-pipeline-dnd.md` - -Active plan location: `docs/roadmap/implementation.md` - -## Objective - -Finish and commit repository preparation in `rakestraw-ansible`: minimal -playbook, host variables with comments for unknown values, reviewed dependency -pins, and concise operator instructions. This revision supersedes all previous -deployment and live-acceptance stages. Do not execute them. - -## Execution Rules - -- Execute the stages below in order, rereading each stage's listed policies. - Check working trees first, preserve unrelated work, validate, and commit each - completed unit with its stated plain-English intent. -- Do not deploy to an operational controller or target, connect to the target, - populate actual credentials, or run a real pipeline session. -- Missing controller, SSH, Vault, and session inputs are not blockers. Express - unknown required values through commented instructions and variable references. -- Keep playbooks limited to hosts and roles. No new tasks, wrapper, probes, - runtime assertions, or automated test harness is required. -- Use existing workspace `.venv/bin` executables for local Ansible checks. - Core 2.21.3 is installed; a missing `PATH` entry or `/etc/ansible` directory - does not mean tooling is missing. Explicit local paths suffice. -- Reuse passing validation whose inputs are unchanged. Optional diagnostics - and `ansible-doc` documentation rendering are not acceptance gates. -- Keep credential values out of plaintext files, Git, commands, and logs. - Do not create fake keys or an empty Vault file to satisfy inventory references. - -## Starting State and Repository Scope - -- Feature 0015 is complete and independently reviewed. -- Consumer `716a80e` added the initial runbook; `12b2462` committed the new - playbook, host configuration, and dependencies. Inspect intervening commits; - do not repeat or discard completed work. -- Public dependency installation, target-only host listing, and syntax checking - passed for the prepared consumer configuration. The missing option descriptions - in three roles affect `ansible-doc` only and are not part of this feature. -- `rakestraw-ansible` owns remaining comments/runbook changes. The workspace - owns status and review handoff. All other repositories remain read-only. -- No credentials, controller access, target access, or session selection is - needed to complete this plan. - -## Stage 1: Finish Consumer Comments and Usage Documentation - -Completion: complete (consumer `7f8353d74efabb5ae408e41be9837df53010dd95`) - -### Objective and Owning Repository - -Make the existing committed consumer configuration self-explanatory in -`rakestraw-ansible` and remove live execution as a completion requirement. - -### Required Policy Review - -Before this stage, read `AGENTS.md`, `docs/orientation.md`, -`docs/conventions.md`, `docs/ansible.md`, `docs/testing.md`, -`docs/planning.md`, the Feature 0016 roadmap, and the consumer README/runbook. - -### Preconditions - -Inspect the current consumer changes and the two completed commits above. -Local Ansible tools are available. There are no remote prerequisites. - -### Required Changes - -1. Retain `playbooks/pipeline/dnd.yml`, which contains only the `pipeline-dnd` - host and `rakestraw.dnd.pipeline` role. Retain reviewed dependency pins and - known host values. Compare against the revised roadmap; correct only actual - discrepancies, without adding suite-default copies or extra play content. -2. In `inventory/host_vars/pipeline-dnd/narratio.yml`, add the roadmap's comments - beside `dnd_pipeline_secrets`: define the four referenced `vault_dnd_*` - variables in an encrypted `vault.yml` before eventual deployment. Retain - unresolved references. Do not obtain secret values or create a Vault file. -3. Revise `docs/pipeline-dnd.md` to describe repository preparation as the - completed deliverable. Clearly label installation, credential provisioning, - and deployment commands as future operator instructions, not steps the - implementation agent must execute. Remove operational prerequisite checklists - and session-acceptance requirements from this feature's completion path. -4. Retain useful concise future-use instructions: the pinned collection refresh, - Vault variable names and selection options, and minimal playbook invocation. - Link application documentation for later pipeline operation rather than - maintaining a live-session test script or demanding session selection now. -5. Preserve connection inventory, unrelated dependencies, and the historical - proof-of-concept playbook/role. - -### Validation - -Run `git diff --check` in `rakestraw-ansible` and review the changed documentation -and comments. Reuse the recorded successful public installation, syntax, and -host-listing results if only comments/documentation change. No runtime tests -or repeated dependency installation are necessary for those edits. - -If executable configuration changes, rerun only affected local checks using -the workspace tools and explicit local inventory/dependency paths: - -```text -ansible-playbook -i inventory playbooks/pipeline/dnd.yml --limit pipeline-dnd --list-hosts -ansible-playbook -i inventory playbooks/pipeline/dnd.yml --limit pipeline-dnd --syntax-check -``` - -Use previously installed isolated public dependencies when available. If needed, -install from `requirements.yml` into disposable local role/collection paths. -Do not use operational `/etc/ansible` destinations or local sibling role -sources. Keep unresolved credentials untouched; local syntax checking does -not claim they resolve. If unrelated encrypted inventory prevents a local -check, use a disposable inventory containing the target alias and non-secret -variables, and report that narrower validation scope. - -### Completion Criteria - -The required public files exist, unknown values have explanatory comments, -local validation evidence is sufficient, and the consumer changes are committed. -No deployment or real credential provisioning is required. - -### Commit - -`Document the remaining D&D deployment inputs`. - -## Stage 2: Record the Repository Preparation Handoff - -Completion: complete (handoff recorded by this change) - -### Objective and Owning Repository - -Record Feature 0016 implementation readiness for independent review in the -workspace, scoped entirely to committed repository content. - -### Required Policy Review - -Before this stage, read `AGENTS.md`, `docs/orientation.md`, -`docs/conventions.md`, `docs/testing.md`, `docs/planning.md`, and the revised -Feature 0016 roadmap. - -### Preconditions - -Stage 1 has passed local validation and is committed. No remote prerequisites. - -### Required Changes - -1. Update `docs/status.md` and this plan's progress notes with the consumer - commit and local validation evidence. Describe real deployment as separately - deferred operator work, not a blocker or incomplete acceptance criterion. -2. Keep Feature 0016 `in_progress` pending independent review. Report any actual - repository issues; do not mark it `done` solely because implementation ended. -3. Confirm the feature's owning working trees are clean after committing. - Preserve any unrelated changes and identify them instead of discarding them. - -### Validation and Completion Criteria - -Run `git diff --check`. Evidence points to committed consumer content and -appropriate local checks. The handoff makes no claims of live deployment or -runtime acceptance. No paid request or host access is necessary. - -### Commit - -`Record D&D playbook preparation for review`. - -## Final Validation and Handoff - -Report owning commits, changed consumer files, comments explaining missing -values, and local validation performed or reused. Feature review evaluates the -committed playbook/configuration, not operational deployment. No push is -required unless separately requested. - -## Progress Notes - -- Consumer `716a80e` added the initial runbook, and `12b2462` committed the - minimal playbook, public host choices, and reviewed dependency manifest. - Public dependency installation from the mixed manifest succeeded, host - listing selected only `pipeline-dnd`, and syntax checking passed. -- Stage 1 is complete in consumer commit - `7f8353d74efabb5ae408e41be9837df53010dd95`. The plaintext inventory now - explains its unresolved Vault references, and the runbook distinguishes the - completed repository preparation from future operator installation, - credential provisioning, deployment, and application operation. -- Stage 1 changed only comments and documentation, so the prior installation, - host-listing, and syntax evidence was reused as directed. `git diff --check` - passed, and the consumer working tree is clean. -- Stage 2 records the implementation handoff for independent review. No live - deployment, target validation, credential provisioning, or pipeline session - was performed or is claimed by Feature 0016. - -## Open Questions - -None required for this repository-only implementation. Unknown API keys and -future operational inputs are documented for the operator, not requested now. +Completion covers the committed deployment playbook, host configuration, +dependency manifest, and operator documentation—not deployment or runtime +acceptance on the operational host. diff --git a/docs/status.md b/docs/status.md index 5e02c01..cc8b447 100644 --- a/docs/status.md +++ b/docs/status.md @@ -4,10 +4,10 @@ Last updated: 2026-09-21 Current milestone: Operational D&D pipeline deployment -Current focus: Independently review the completed Feature 0016 repository -preparation. Controller deployment, target convergence, credential provisioning, -and session execution are separate operator work and are not claimed here. -Feature 0015 is complete after independent review found no remediation issue. +Current focus: Select the next unit of work. Feature 0016 repository preparation +is complete and independently reviewed with no remediation findings. The +subsequent Narratio v2.1.2 update is published and pinned by the consumer. +Deployment and session execution remain separate operator work. | ID | Deliverable | Owner | State | Evidence or next step | | --- | --- | --- | --- | --- | @@ -35,7 +35,7 @@ Feature 0015 is complete after independent review found no remediation issue. | F0013 | Publish the first coordinated suite release | all Ansible repositories and workspace | done | Public [`rakestraw.dnd` 0.1.0 release](https://gitea.maximumdirect.net/eric/ansible-collection-dnd/releases/tag/v0.1.0); documentation remediation completed in pipeline `78afffe` and collection `5e695f3` | | F0014 | Enroll existing pipeline operators | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | done | Pipeline `c13f726` and collection import `c0b0ebd` passed their complete integration suites and independent review with no remediation findings | | F0015 | Enable D&D S3 storage and publishing | ansible-role-dnd-pipeline, ansible-collection-dnd, and workspace | done | Pipeline `51566afcf69083cdbb5b5718f2544c86b079001c`, collection fixture `cf3de016ee09edf91afc3bc1addfd926d4a172ad`, collection squash `77f67adbc0f700e88bc15554e02052eaa22f1033`, and collection merge `46913446765e86ecfb29ebad9955d579ef6a4c7e` passed the complete repository suites and independent review with no remediation findings | -| F0016 | Prepare the D&D deployment playbook for `pipeline-dnd` | rakestraw-ansible and workspace | in_progress | Consumer preparation is in `716a80e`, `12b2462`, and `7f8353d`; public dependency installation, target-only host listing, syntax checking, and whitespace validation passed; independent review is next | +| F0016 | Prepare the D&D deployment playbook for `pipeline-dnd` | rakestraw-ansible and workspace | done | Consumer `716a80e`, `12b2462`, and `7f8353d` passed independent review with no findings; public dependency installation, target-only host listing, syntax and whitespace checks passed. Follow-up `7f4c90a` pins collection `2a53979` for Narratio v2.1.2; collection build and syntax checks passed | | A0001 | Audit completed standalone-role test suites | workspace and standalone roles | done | Findings recorded in `docs/roadmap/test-suite-audit-findings.md` | | R0001 | Simplify completed standalone-role test suites | workspace and standalone roles | done | Role commits `e08c63c`, `d2d0b9d`, and `cfecf37` passed implementation and independent review |