Skip to content

docs(workspace): kustomize is canonical — stop the ghost-stack footgun - #1136

Merged
mdheller merged 1 commit into
mainfrom
docs/workspace-kustomize-canonical
Jul 30, 2026
Merged

docs(workspace): kustomize is canonical — stop the ghost-stack footgun#1136
mdheller merged 1 commit into
mainfrom
docs/workspace-kustomize-canonical

Conversation

@mdheller

Copy link
Copy Markdown
Member

Part of the workspace convergence (one source of truth). Docs + script echo only — no live change.

Problem

The mail/cal/drive daemons run live in ns/socioprophet via ArgoCD (workspace-services, kustomize infra/k8s/workspace-*), off registry.socioprophet.ai (zot). But docs/PROPHET_WORKSPACE_MAIL_RUNBOOK.md and scripts/build-push-workspace.sh both instruct helm install charts/prophet-workspace -n workspace — which would stand up a second, GHCR-imaged stack in ns/workspace next to the running one. charts/prophet-workspace is a richer design reference (it carries the opt-in TLS/DKIM/relay/LB wiring) but ArgoCD deploys nothing from it.

Change

  • Runbook banner: kustomize/ArgoCD is canonical; the Helm chart is a design reference — do not helm install. Provisioning steps (static IPs, PTR, TLS, DKIM, DNS) still apply, via the kustomize overlays.
  • build-push script: replace the helm upgrade --install echo with the GitOps path (push to zot → bump digests in infra/k8s/workspace-*/base → ArgoCD syncs).
  • Relay guidance → sovereign-default: direct-to-MX from our own IP is the default; an external smarthost is an explicit, time-boxed opt-in only (was labeled "Recommended").

Follow-up (separate, gated)

Port the chart's opt-in TLS + DKIM + LoadBalancer + relay into the kustomize base, then the live mail can go from internal-only skeleton → externally-reachable, TLS'd, DKIM-signed. That needs static-IP + DNS provisioning (tracked; needs sign-off).

🤖 Generated with Claude Code

…l, not the Helm chart

The mail/cal/drive plane runs live in ns/socioprophet via ArgoCD (ApplicationSet
workspace-services, kustomize infra/k8s/workspace-*), off registry.socioprophet.ai
(zot). charts/prophet-workspace is a richer design reference (opt-in TLS/DKIM/relay/LB)
but is deployed by nothing. The runbook + build script told operators to
'helm install ... -n workspace', which stands up a SECOND, GHCR-imaged stack next to
the live one.

- Runbook: banner making kustomize/ArgoCD canonical; chart = design reference, do not helm-install.
- build-push-workspace.sh: replace the helm-install echo with the GitOps (zot + kustomize) path.
- Relay guidance reframed to sovereign-default: direct-to-MX, external smarthost opt-in/time-boxed only.

No live change — docs + script echo only. TLS/DKIM/LB port into kustomize is the follow-up.
Copilot AI review requested due to automatic review settings July 30, 2026 22:31

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.

Updates workspace mail deployment guidance to prevent accidental parallel Helm-based installs by making ArgoCD+kustomize the canonical path, and adjusts deliverability/relay recommendations accordingly.

Changes:

  • Update build/push script output to describe GitOps deployment flow (zot registry → bump kustomize refs → ArgoCD sync).
  • Add a prominent runbook banner stating kustomize/ArgoCD is canonical and the Helm chart is design-reference only.
  • Reframe outbound relay guidance so “direct-to-MX” is the default and relays are explicit, temporary opt-ins.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
scripts/build-push-workspace.sh Replaces Helm deployment echo with GitOps/kustomize+ArgoCD instructions and footgun warning.
docs/PROPHET_WORKSPACE_MAIL_RUNBOOK.md Adds canonical-deploy banner and revises outbound deliverability/relay guidance.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

build_push workspace-caldav workspace-caldav
echo "✓ pushed all three. Deploy: helm upgrade --install prophet-workspace charts/prophet-workspace -n workspace --create-namespace -f <your-values>.yaml"
echo "✓ pushed all three."
echo "Deploy is GitOps: push to the sovereign registry (REGISTRY=registry.socioprophet.ai) and bump the image"
Comment on lines +22 to +23
echo "Deploy is GitOps: push to the sovereign registry (REGISTRY=registry.socioprophet.ai) and bump the image"
echo "digests in infra/k8s/workspace-*/base — ArgoCD (ApplicationSet workspace-services) syncs them into ns/socioprophet."
> `values.yaml`/`helm` references as the *design intent*, and apply the equivalent config through the kustomize overlays.

## 0. Prereqs
- GKE cluster + `kubectl`/`helm`; the platform Postgres reachable in-cluster as `postgres` with secret `postgres-credentials`.
Comment on lines +57 to +60
A brand-new cloud IP has near-zero sending reputation; direct-to-MX mail will be junked or rejected. Sovereign-default
policy: **stay decoupled, local-first, and treat any external smarthost as opt-in only.**
- **Default (sovereign):** direct-to-MX from our own IP, after PTR is set + IP warm-up + clean RBL checks. No third
party sees our mail. Ramp send volume gradually to build reputation.
@mdheller
mdheller merged commit 568ce44 into main Jul 30, 2026
46 of 47 checks passed
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.

2 participants