-
v0.1.126 Stable
released this
2026-07-27 14:06:46 +00:00 | 76 commits to trunk since this release- chore: delete the
bobtenant instance artifacts —instances/bob.yaml,instances/users/bob/,instances/groups/bob/. None were applied (all three were commented out of their kustomizations since 2026-06-11) and no bob claim exists live. They were kept as a "multi-tenancy template", but that template is structurally dead, not merely unused:apis/tenantdatabasebinds its auth-roles to the BAREory/forgejo/n8nnamespaces, so aStack/bobwould mintbob_kratosand hand it to alice's Kratos, andapis/portalhardcodes those same singletons on nearly every listener. A second apex is a second Portal XR + ory app + external-dns, not a resurrected Stack — so the files were misleading rather than useful.tests/check-acme-approval.shstill passes (bob carried a marked LE-prod line; alice's remains). Composition-level bob handling is deliberately untouched — notably theapis/postgresensure: absenttombstones, which are live config asserting bob's databases stay gone.
Included changes (v0.1.125 -> v0.1.126)
5f0dd2c1fb35chore: delete the bob tenant instance artifacts
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- chore: delete the
-
v0.1.125 Stable
released this
2026-07-27 12:25:53 +00:00 | 80 commits to trunk since this release- feat(stack): remove the
tenant-bucketentry fromapis/stack/composition.yaml— step 3 of promotingXTenantBucket/aliceout of the Stack (Project-A P1). The composite is unchanged; only its applier moved, so no rename, no data migration, no downtime. Ordering is load-bearing and must not be reversed: the ownerReference is stripped from the composite first (step 2, XStack paused), because landing this removal while the composite is still a composed resource would make Crossplane garbage-collect it and cascade all 5 Objects — taking the ClusterSecretStore thatforgejo/forgejo-s3-credentialsdepends on. XStack stays paused between steps 2 and 3 so it cannot re-adopt. XStack is down to 6 composed resources.
Included changes (v0.1.124 -> v0.1.125)
ee3b083a7a1ffeat(stack): drop tenant-bucket from the Stack composition (Project-A P1 step 3)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(stack): remove the
-
v0.1.124 Stable
released this
2026-07-26 16:21:59 +00:00 | 84 commits to trunk since this release- feat(stack): WIDEN step of promoting
XTenantBucket/aliceout of the Stack composition (Project-A P1) — addsinstances/tenantbucket-alice.yamlso Flux co-applies the composite alongside Crossplane. Provably a no-op:kubectl diff -freturns empty (exit 0) against the live XR, andXStack/alice-vh2txkeeps its ownerReference, so nothing changes hands yet. Applied as a RAW XR rather than a claim because the composite is already unclaimed — aTenantBucketclaim would setspec.claimRefand stampcrossplane.io/claim-*labels onto all 5 composed Objects, a full re-render for no benefit. Blast radius documented in the file header: 5 Objects (Password, 2 ExternalSecrets, ClusterSecretStore, bucket-init Job) and exactly ONE downstream consumer,ExternalSecret forgejo/forgejo-s3-credentials— olly, registry and workflows use different stores. Also records the prune hazard that arrives with the later detach:platform-seanfarm-instancesrunsprune: true, so once Crossplane no longer co-owns this, deleting the file cascades all 5 Objects.
Included changes (v0.1.123 -> v0.1.124)
e010bdb2d2fcfeat(stack): widen XTenantBucket/alice into instances/ (Project-A P1 step 1)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(stack): WIDEN step of promoting
-
v0.1.123 Stable
released this
2026-07-26 15:12:10 +00:00 | 88 commits to trunk since this release- chore(stack): remove the
spec.metrics.*XRD block, completing the two-step staged in 0.1.122. That release dropped the VALUE frominstances/alice.yaml; Flux pruned it from both the claim and the XR (verified absent onStack/aliceandXStack/alice-vh2tx, Stack stillSynced=True Ready=True), so deleting the property now orphans nothing. Doing it in one step would have wedged the claim controller withfield not declared in schema, becauseplatform-seanfarm-apisapplies beforeplatform-seanfarm-instances— the schema tightens while the claim still holds the value.
Included changes (v0.1.122 -> v0.1.123)
5526d0d7d8f2chore(stack): retire the dead spec.metrics XRD block (step 2 of 2)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- chore(stack): remove the
-
v0.1.122 Stable
released this
2026-07-25 21:17:55 +00:00 | 92 commits to trunk since this release- feat(safety): repo destruction is no longer reachable by editing
instances/.ForgejoRepositorydeletion is destructive by design — the operator's finalizer callsDeleteRepo(owner,name), wiping all code/refs/history, and the only bypass (status.repositoryID == 0) is closed on all 32 live CRs.apis/gitmirrornow setsdeletionPolicy: Orphanon all three composed Objects (repository, backup cron, collaborator), so deleting or renaming a GitMirror claim leaves the CRs — and the repos — alive. Works because the composed CRs carry no ownerReferences (provider-kubernetes keys offmanifest.metadata.{name,namespace}, not GC).managementPoliciesmust stay["*"]or crossplane-runtime ignoresdeletionPolicy. - feat(safety):
instances/gitops-repos.yaml—kustomize.toolkit.fluxcd.io/prune: disabledon theseanfarm-gitops+platform-seanfarm-gitopsCRs. These are raw CRs (not Crossplane Objects, so Orphan misses them) under aprune: trueKustomization; deleting those manifest lines would have destroyedsean/seanfarmandsean/platform-seanfarm— the repos this cluster reconciles from. - docs(gitmirror): README rewritten — it described a per-tenant API targeting
forgejo-{stack}and theForgejoPushMirrorretired in0063d63. Actual shape: three resources into the bareforgejo/workflowssingletons,spec.stackdead since32a7fb0. Adds the deliberate-decommission runbook (confirm codeberg current → quiesce operator → strip finalizer → delete CR) and records why the push-mirror was retired, so it is not reintroduced. - chore(stack): drop provably-dead XRD surface —
spec.oidc.*(consumer deleted withapis/oidc,8efd0f4) andstatus.oidcReady/authDomain. Safe because nothing materialized them (Stack/alice hadspec.oidc: nulland an empty status), verified live first.spec.metrics.*andspec.tls.{issuerName,issuerKind}are equally dead but KEPT: the live claim holds them, and removing a property a claim still carries wedges the claim controller withfield not declared in schema— on the Stack four Kustomizations healthCheck.instances/alice.yamldrops themetrics.storageSizevalue so a follow-up can delete the block cleanly.spec.tls.acmeServeralso kept — it no longer controls anything (the live issuer renders fromsean/pipelines bundle/dns) but carries thele-prod-approved:markers thattests/check-acme-approval.shenforces. - docs:
README.mdAPI table listed ten deletedapis/directories as current and drew them as Stack children;apis/stack/README.mdhad the same stale tree plusdns-gcp-alice, deleted outright ina8c1bcf. Both corrected to the five resources XStack actually composes, with notes on why XPortal is really the cluster edge.
Included changes (v0.1.121 -> v0.1.122)
a0b1cf099594docs(changelog): release notes for the repo-destruction safety floor + dead-XRD purge0710d73db241chore(stack): drop provably-dead XRD surface; correct three stale docsaa1bdfe4dad3feat(safety): make repo destruction structurally unreachable from instances/
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- feat(safety): repo destruction is no longer reachable by editing
-
v0.1.121 Stable
released this
2026-07-25 13:01:25 +00:00 | 100 commits to trunk since this release- fix(sso): apis/forgejo OIDC-config Job HYDRA_DISCOVERY
hydra-public.ory-${TENANT}(=ory-alice, DELETED at cutover)->hydra-public.ory. The stale discovery URL left Forgejo'soryOIDC source pointing at a dead svc, breaking OIDC login with a 500could not find a matching session. Re-running this Job re-points the live source to the ory singleton.
Included changes (v0.1.120 -> v0.1.121)
eb0a63ab0290fix(sso): forgejo OIDC discovery URL ory-alice->ory (fixes login 500)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- fix(sso): apis/forgejo OIDC-config Job HYDRA_DISCOVERY
-
v0.1.120 Stable
released this
2026-07-25 12:45:18 +00:00 | 104 commits to trunk since this releaseChanged
- Incremental release.
Included changes (v0.1.119 -> v0.1.120)
7d24028efde6chore(forgejo): upgrade app to 16.0.1
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.119 Stable
released this
2026-07-24 16:26:56 +00:00 | 108 commits to trunk since this release- chore(sso): re-point apis/argocd + apis/forgejo hydra-client registrars HYDRA_ADMIN
hydra-admin.ory-{tenant}->hydra-admin.ory(base literal + dropped the ory-%s fmt patches; client_ids argocd-{tenant}/forgejo unchanged) so they register against the ory singleton on rebuild. - chore(sso): delete apis/oidc (XRD + Composition) — the XOIDCProvider child was removed from apis/stack (delta-C) and its stack now runs from the sean/ory ArgoCD app; zero XRs remain.
Included changes (v0.1.118 -> v0.1.119)
8efd0f4ea4cechore(sso): re-point argocd+forgejo HYDRA_ADMIN to ory + delete apis/oidc
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- chore(sso): re-point apis/argocd + apis/forgejo hydra-client registrars HYDRA_ADMIN
-
v0.1.118 Stable
released this
2026-07-24 15:58:39 +00:00 | 112 commits to trunk since this release- narrow-back(sso): portal auth listeners + tenantdatabase kratos/hydra Vault auth-roles drop the transitional
ory-aliceadmit -> bare[ory](ory-alice->ory move complete; ns ory-alice gone).
Included changes (v0.1.117 -> v0.1.118)
015104fb2428narrow-back(sso): portal auth + DB auth-roles -> bare [ory]
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- narrow-back(sso): portal auth listeners + tenantdatabase kratos/hydra Vault auth-roles drop the transitional
-
v0.1.117 Stable
released this
2026-07-24 15:42:13 +00:00 | 116 commits to trunk since this release- delta-C(sso): remove the XOIDCProvider child from apis/stack + shrink apis/platformuser to ForgejoUser-only (Kratos-half → sean/ory ArgoCD). Deletes ns ory-alice; auth.sean.farm flips to the ory singleton pods (cert + routes pre-staged). XPortal.oidcIssuer is spec.domain-derived (unaffected); status.oidcReady/authDomain have no readers.
Included changes (v0.1.116 -> v0.1.117)
8ece6c6fe686delta-C(sso): retire XOIDCProvider child + shrink platformuser (ory-alice->ory)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads