Auto-PR: docs(fleet): revise §6 — no rendered dirs in git; registry + ephemeral render + state-per-tenant#94
Merged
Conversation
…l render + state-per-tenant Supersedes the private-repo-of-rendered-dirs proposal after industry research (2025-26 consensus) + vault prior art (Komodo git-is-truth verdict, OpenTofu MAIT state/drift loop, s004 tombstone pathology): git holds template code + a small private tenants.yaml registry ONLY; copier render becomes an ephemeral CI/deploy artifact; tofu state-per-tenant via generated backend keys in weown-prod-state; day-2 via DO-tag dynamic inventory (no checked-in inventories); orchestration graduates operator-wrapper -> Terragrunt Stacks / CI render -> Terrateam/Digger -> DB control plane. Existing site dirs stay as reference; no new customer dirs get committed.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the fleet operations design documentation to revise the proposed IaC/topology approach: moving away from committing rendered per-tenant directories, and toward a private tenant registry + ephemeral template renders + per-tenant OpenTofu state and dynamic inventory.
Changes:
- Replaces the earlier “private repo of rendered customer dirs” proposal with a registry-driven, ephemeral-render pipeline model.
- Documents per-tenant state isolation (separate backend keys) and day-2 operations via dynamic inventory sourced from DigitalOcean tags.
- Outlines an incremental orchestration maturity path (operator wrapper → stack tooling → PR-gated applies → eventual control plane).
Comment on lines
+117
to
+119
| 3. **State-per-tenant, generated backend config:** each tenant gets its own | ||
| tofu state key in the existing `weown-prod-state` Spaces bucket | ||
| (`tenants/<slug>/terraform.tfstate`, SSE-C). Blast radius = one customer; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Automated Pull Request — authored by
weown-bot(ecosystem service account)Opened by: @ncimino
Last pushed by: @ncimino
Branch:
docs/nik-fleet-iac-topology→mainContributors on this branch:
📋 Human Review Checklist — NIST CSF 2.0 Functions
Review per the 6 NIST CSF Functions. Frameworks referenced: NIST CSF 2.0, CIS Controls v8 IG1, CSA CCM v4, ISO/IEC 27001:2022, SOC 2, ISO/IEC 42001:2023. See
docs/COMPLIANCE_ROADMAP.md.🏛️ Govern (GV)
.github/CODEOWNERS)🔍 Identify (ID)
.github/SECURITY_ASSESSMENT.md)🛡️ Protect (PR)
--from-literal, never/tmp, always$(mktemp)— ISO A.8.24)restricted(NIST PR.IP, CIS 4)🕵️ Detect (DE)
livenessProbe+readinessProbe) configured🚨 Respond (RS)
.github/INCIDENT_RESPONSE.md)♻️ Recover (RC)
📚 Documentation & Versioning
CHANGELOG.mdupdated (per-directory or repo-level/CHANGELOG.md)#WeOwnVerversion bumped perdocs/VERSIONING_WEOWNVER.md📝 Recent Commits (full bodies for Copilot context)
3872727 docs(fleet): revise §6 — no rendered dirs in git; registry + ephemeral render + state-per-tenant
Author: Nik
Date: Wed Jul 15 18:04:16 2026 -0600
Supersedes the private-repo-of-rendered-dirs proposal after industry research
(2025-26 consensus) + vault prior art (Komodo git-is-truth verdict, OpenTofu
MAIT state/drift loop, s004 tombstone pathology): git holds template code +
a small private tenants.yaml registry ONLY; copier render becomes an ephemeral
CI/deploy artifact; tofu state-per-tenant via generated backend keys in
weown-prod-state; day-2 via DO-tag dynamic inventory (no checked-in
inventories); orchestration graduates operator-wrapper -> Terragrunt Stacks /
CI render -> Terrateam/Digger -> DB control plane. Existing site dirs stay as
reference; no new customer dirs get committed.
🔍 Copilot AI Review: Copilot is configured to auto-request review for bot-authored PRs. If an auto-created PR opens without an initial Copilot review, push a follow-up commit to the same open PR (
review_on_push: true) to trigger review automatically.👥 Required Reviewers: human approval enforced by branch protection + CODEOWNERS.
@nciminorequested automatically.📚 Review Guidelines:
.github/copilot-instructions.md(phase-aware compliance directives)🛠️ Workflow Operations:
.github/workflows/README.mdAuto-generated by
.github/workflows/auto-pr-to-main.yml