Skip to content

docs(deployment): align deployment specs to two-path model (compose + gitops) - #1426

Merged
cyberantonz merged 2 commits into
constructorfabric:mainfrom
cyberantonz:cleanup/docs-two-path-canon
Jun 22, 2026
Merged

docs(deployment): align deployment specs to two-path model (compose + gitops)#1426
cyberantonz merged 2 commits into
constructorfabric:mainfrom
cyberantonz:cleanup/docs-two-path-canon

Conversation

@cyberantonz

@cyberantonz cyberantonz commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

What

Phase 1 of the dev-up.sh retirement EPIC: realign the deployment docs to the two officially-supported paths, ahead of the code deletions in later phases.

  • Docker Compose (./dev-compose.sh up) — day-to-day laptop dev. Does not ship Airbyte/Argo and does not consume the umbrella chart.
  • Kubernetes via gitops (cd deploy/gitops && make deploy ENV=<env>; locally ENV=local on Kind/OrbStack) — Airbyte/Argo work and the real cluster shape.

The umbrella chart's consumers become gitops (production + local) and external Helm consumers. The <svc>.deploy: true single-namespace fat install is reattributed from dev-up.sh to "external consumers who want one namespace." CONTRIBUTING.md remains the canon.

Files touched

  • README.md — Quick Start, root-scripts tree, services/ports, image config → two-path.
  • docs/components/deployment/specs/PRD.md + DESIGN.mdfull two-path rewrite: dev-wrapper requirements, actors, glossary, C4/ASCII/mermaid diagrams, sequences, use cases, acceptance criteria. Traceability IDs (cpt-insightspec-fr-dep-dev-wrapper, -dev-namespace-param, -dev-overlay-isolation, -component-dep-dev-wrapper, -interface-dep-dev-wrapper-env) are preserved; only their bodies changed. The helmfile EXPERIMENTAL block and the deploy/scripts/install.sh installer narrative are removed.
  • docs/components/deployment/gitops/README.md — dual-purpose toggle table + namespace notes.
  • docs/domain/{ingestion,identity-resolution}/specs/DESIGN.md, docs/domain/ingestion/README.md, docs/domain/ingestion/specs/DECOMPOSITION.md, docs/domain/connector/specs/PRD.md, docs/domain/bronze-to-api-e2e/specs/PRD.md, docs/components/backend/identity-resolution/identity/README.mddev-up.sh/installer references swapped to the two-path canon (needed to satisfy the repo-wide acceptance grep).
  • docker-compose.yml — header comment.

Acceptance

grep -rn "dev-up\.sh|deploy/scripts/install|helmfile\.yaml" README.md CONTRIBUTING.md docs/ returns only two hits, both in docs/components/airbyte-toolkit/specs/ADR/0014-*.md — intentional historical mentions in an ADR, which the issue's "Done when" clause explicitly permits.

Scope notes / follow-ups

  • This is docs-only. The chart is unchanged here, so helmfile/charts/clickhouse subchart references are intentionally retained (they are removed in Phase 2, Phase 2 — Drop L2 subchart bundling from charts/insight (BREAKING — 0.2.0) #1417).
  • Pre-existing doc-debt, not addressed here: docs/domain/ingestion/specs/DESIGN.md §4.1 still describes a single-namespace "Production" model that predates the gitops L2/L3 split. My §4.2 edit defers cluster topology to the gitops SPEC rather than re-architecting §4.1 inside a dev-up.sh-retirement PR — worth a separate pass.
  • An independent reviewer agent checked the diff (no blockers; coherence + traceability + diagram/anchor validity verified).

Part of #1414.
Closes #1416.

… gitops)

Retire the legacy dev-up.sh Kubernetes-on-Kind developer path from the
docs and realign to the two officially-supported paths:

- Docker Compose (`./dev-compose.sh up`) for day-to-day laptop dev
- Kubernetes via gitops (`cd deploy/gitops && make deploy ENV=<env>`,
  locally `ENV=local`) for Airbyte/Argo work and the real cluster shape

The umbrella chart's consumers become gitops (production + local) and
external Helm consumers; the `<svc>.deploy: true` fat install is
reattributed to external single-namespace consumers. The Docker Compose
stack does not consume the chart.

Touches README, CONTRIBUTING-aligned canon, the deployment PRD/DESIGN
(full rewrite of the dev-wrapper requirements, actors, C4 diagrams,
sequences — traceability IDs preserved), the gitops SPEC, and the
ingestion/identity/connector/bronze-to-api domain docs. The helmfile
EXPERIMENTAL block and the install.sh installer narrative are removed.
dev-up.sh mentions in ADRs are left as historical record.

Part of constructorfabric#1414.
Closes constructorfabric#1416.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Anton Zelenov <antonz@constructor.tech>
@cyberantonz
cyberantonz requested a review from a team as a code owner June 22, 2026 10:42
@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Documentation across the repository is updated to replace the legacy dev-up.sh/Kind-based local workflow with two canonical paths: dev-compose.sh for day-to-day development and deploy/gitops (make deploy ENV=local) for Kubernetes cluster topology validation. References are changed in README, docker-compose.yml header, deployment DESIGN/PRD, gitops README, ingestion docs, and several domain specs.

Changes

Documentation migration: dev-up.sh → compose + gitops two-path canon

Layer / File(s) Summary
Entry-point docs: README and docker-compose.yml header
README.md, docker-compose.yml
README TOC, root scripts table, Quick Start, services/ports, and image configuration are rewritten for the two-path model (Docker Compose vs. cluster deploy). docker-compose.yml header drops the dev-up.sh retirement note and adds a CONTRIBUTING.md pointer for the Kubernetes path.
Deployment DESIGN.md: architecture, component model, and dev stack spec
docs/components/deployment/specs/DESIGN.md
Architectural Vision, Functional Drivers, Architecture Layers diagram, component model Mermaid edges, and responsibility boundaries are updated. The "Dev Wrapper (dev-up.sh)" section is replaced with a "Docker Compose Dev Stack (dev-compose.sh)" block covering compose services, watchexec auto-reload, wizard-generated .env.compose, port publishing, and the compose settings contract table. The Developer inner loop sequence diagram is updated to the compose-driven flow.
Deployment PRD.md: purpose, glossary, requirements, and use cases
docs/components/deployment/specs/PRD.md
Purpose/Goals, Glossary, actor descriptions, environment constraints, Out of Scope, functional requirements (deploy toggle, dev workflow spec, isolation), NFR exclusions, interface contracts, use cases (eval install + developer inner loop), dependencies/assumptions, and risk bullets are all rewritten to remove dev-up.sh and align with compose + gitops.
GitOps README: dual-purpose umbrella and Airbyte/Argo namespace notes
docs/components/deployment/gitops/README.md
The <service>.deploy toggles section is reworded for external-consumer vs. gitops production/local modes. The Open Items Airbyte/Argo namespace note is generalized to the gitops-cluster requirement.
Ingestion domain docs: Quick Start, DECOMPOSITION, and DESIGN
docs/domain/ingestion/README.md, docs/domain/ingestion/specs/DECOMPOSITION.md, docs/domain/ingestion/specs/DESIGN.md
Ingestion README Quick Start, Commands/Lifecycle, example flow, and service access table are rewritten for the gitops path. DECOMPOSITION key decisions and Local Infrastructure Stack text, and DESIGN.md production bullets and section 4.2 local development are updated to replace dev-up.sh with make deploy ENV=local and new startup scripts.
Domain docs: identity-resolution, connector, bronze-to-api-e2e
docs/components/backend/identity-resolution/identity/README.md, docs/domain/identity-resolution/specs/DESIGN.md, docs/domain/connector/specs/PRD.md, docs/domain/bronze-to-api-e2e/specs/PRD.md
Identity-resolution component README adds Docker Compose and gitops deployment rows; identity-resolution DESIGN.md bootstrap command updated to gitops Makefile; connector PRD RLS step updated to reference gitops ingestion init; bronze-to-api-e2e background and K8s integration guidance updated.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

  • #1416 (Phase 1 — Align deployment docs to two-path canon): This PR directly implements the checklist in #1416: README stripped of dev-up.sh section, docker-compose.yml header updated, DESIGN.md and PRD.md dev wrapper replaced, ingestion DESIGN.md .env.local copy step removed, identity-resolution DESIGN.md deploy/scripts/install.sh mention dropped, and helmfile.yaml internal dependency entry removed.
  • #1414: The broader initiative that #1416 is part of; this PR completes Phase 1 of the documentation alignment described there.

Suggested reviewers

  • mitasovr

🐇 Hop hop, the old scripts are gone,
dev-up.sh fades like the dawn.
Two paths now are clear—
Compose for dev here,
GitOps makes the clusters go on! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR comprehensively addresses all coding and documentation tasks from #1416: README updates, spec documents rewritten (DESIGN.md, PRD.md), domain docs updated (ingestion, identity-resolution), docker-compose.yml header cleaned, and dev-up.sh/deploy/scripts/install references removed throughout.
Out of Scope Changes check ✅ Passed All changes align with #1416 scope: documentation realignment to two-path canon (compose + gitops), removal of dev-up.sh and install.sh references, and spec updates. No unrelated changes detected in files modified.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately summarizes the primary change: updating deployment documentation to align with the two-path model (Docker Compose and gitops), which is the main theme across all modified files.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cyberantonz cyberantonz changed the title docs(deployment): align deployment specs to two-path model (compose +… docs(deployment): align deployment specs to two-path model (compose + gitops) Jun 22, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/domain/ingestion/specs/DESIGN.md (1)

751-757: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Inconsistent working directory context in the setup steps.

Lines 753 and 755 mix two different command patterns: line 753 uses ./src/ingestion/run-init.sh (assuming repo root), while line 755 uses cd src/ingestion && ./sync-all.sh (explicit cd). For clarity, both should follow the same style.

♻️ Proposed fix for consistency
 **First-time setup**:
 1. Copy connector secret examples → fill credentials (`src/ingestion/secrets/connectors/`)
 2. `cd deploy/gitops && make deploy ENV=local` — full stack deployment (answer the wizard prompts on first run)
-3. `./src/ingestion/run-init.sh` — databases, connectors, connections
+3. `cd src/ingestion && ./run-init.sh` — databases, connectors, connections
 4. `cd src/ingestion && ./sync-all.sh` — trigger first Airbyte sync for all connections

Alternatively, use the full path style from repo root for both:

 **First-time setup**:
 1. Copy connector secret examples → fill credentials (`src/ingestion/secrets/connectors/`)
 2. `cd deploy/gitops && make deploy ENV=local` — full stack deployment (answer the wizard prompts on first run)
 3. `./src/ingestion/run-init.sh` — databases, connectors, connections
-4. `cd src/ingestion && ./sync-all.sh` — trigger first Airbyte sync for all connections
+4. `./src/ingestion/sync-all.sh` — trigger first Airbyte sync for all connections
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/domain/ingestion/specs/DESIGN.md` around lines 751 - 757, The setup
instructions use inconsistent working directory patterns between line 753 and
line 755. Line 753 uses a relative path from repo root
(./src/ingestion/run-init.sh), while line 755 uses an explicit directory change
(cd src/ingestion && ./sync-all.sh). Update the sync-all.sh command on line 755
to match the style of run-init.sh by using the full relative path from repo root
(./src/ingestion/sync-all.sh) instead of the cd pattern, ensuring both commands
follow the same consistent style.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/domain/ingestion/specs/DESIGN.md`:
- Around line 751-757: The setup instructions use inconsistent working directory
patterns between line 753 and line 755. Line 753 uses a relative path from repo
root (./src/ingestion/run-init.sh), while line 755 uses an explicit directory
change (cd src/ingestion && ./sync-all.sh). Update the sync-all.sh command on
line 755 to match the style of run-init.sh by using the full relative path from
repo root (./src/ingestion/sync-all.sh) instead of the cd pattern, ensuring both
commands follow the same consistent style.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 825b49c1-50aa-4f48-8cf4-30f7072144cf

📥 Commits

Reviewing files that changed from the base of the PR and between 2e098a2 and 7bf9ca0.

📒 Files selected for processing (12)
  • README.md
  • docker-compose.yml
  • docs/components/backend/identity-resolution/identity/README.md
  • docs/components/deployment/gitops/README.md
  • docs/components/deployment/specs/DESIGN.md
  • docs/components/deployment/specs/PRD.md
  • docs/domain/bronze-to-api-e2e/specs/PRD.md
  • docs/domain/connector/specs/PRD.md
  • docs/domain/identity-resolution/specs/DESIGN.md
  • docs/domain/ingestion/README.md
  • docs/domain/ingestion/specs/DECOMPOSITION.md
  • docs/domain/ingestion/specs/DESIGN.md

@cyberantonz
cyberantonz merged commit 3b6d954 into constructorfabric:main Jun 22, 2026
3 checks passed
@cyberantonz
cyberantonz deleted the cleanup/docs-two-path-canon branch June 23, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phase 1 — Align deployment docs to two-path canon

2 participants