Commit Graph

11 Commits

Author SHA1 Message Date
Tower deploy
4a545946ab fix: drop ClusterIssuer dnsZones selector for multi-zone tenants 2026-05-02 11:31:15 +03:00
ops
7ee9856e25 per-cluster differentiator SAN on tenants-wildcard cert (avoid LE Duplicate Cert rate limit) 2026-04-29 22:27:02 +02:00
ops
976c67afd1 cloudflare-token Secret lives in odoosky-system (where cert-manager runs) 2026-04-29 22:03:10 +02:00
ops
4b19af28e3 vendor cert-manager v1.16.1 CRDs (resource-policy:keep stripped); subchart crds.enabled=false 2026-04-29 21:55:56 +02:00
ops
04b989facf cert-manager crds.keep=false (drop resource-policy annotation Argo wont apply) 2026-04-29 21:48:21 +02:00
ops
c8946a8965 cert-manager subchart: use dep-name alias + crds.enabled (v1.16 install fix) 2026-04-29 21:41:40 +02:00
ops
1a301cd3db sync-wave 5 on ClusterIssuer + Certificate (CRD ordering) 2026-04-29 21:36:44 +02:00
pro-777
eccb648276 0.2.0 — vendor cert-manager + traefik; parameterized substrate
bootstrap.sh-equivalent K8s manifests now ship as part of this
chart instead of being installed inline by the customer's
`curl … | sudo bash`. Result: customer terminal time drops from
~5 min to ~1 min once Tower's SubmitConnect (B2) creates the
per-cluster Argo Application that points here.

What's vendored:
  - cert-manager v1.16.1 (helm dep, charts/cert-manager-v1.16.1.tgz)
  - traefik 33.2.1       (helm dep, charts/traefik-33.2.1.tgz)

What's parameterized via .Values.tenant.{domain,wildcardHost}:
  - letsencrypt-prod ClusterIssuer (DNS-01 + tenant's Cloudflare zone)
  - tenants Namespace
  - tenants-wildcard Certificate (commonName + dnsNames from helm.values)

What stays out of Git (Tower kubectl-applies via kubeconfig at
Connect time, sourced from the tenant's Vault paths):
  - cloudflare-api-token Secret (cert-manager ns)
  - s3-backup-creds Secret      (tenants ns)

The chart references both Secrets by name only.

Argo health roll-up: a tenant server is "Ready" when this
Application's Health is `Healthy` and the tenants-wildcard
Certificate's Ready condition is True. Tower's Server card UI
will surface this as "Provisioning…" → "Ready" in B4.

Lint + template clean with a real tenant value set; clean with
empty values too (templates skip themselves so a default-rendered
chart doesn't fail without a tenant).
2026-04-29 15:09:33 +03:00
Tower Deploy
0c17429d4c Registry as NodePort (30500) so kubelet can pull via host loopback while in-cluster pods push via cluster DNS 2026-04-27 00:56:47 +03:00
Tower Deploy
a1dbe14c20 Initial chart: odoosky-system namespace + local container registry (Distribution v2) 2026-04-27 00:47:07 +03:00
049144dc04 Initial commit 2026-04-26 21:46:11 +00:00