Fixes
- [platform] Migrate ACME HTTP-01 to ingressClassName API:
ClusterIssuerHTTP-01 solvers (letsencrypt-prod,letsencrypt-stage) were hardcoded to ingress classnginx, which does not exist on Cozystack clusters — real classes are named after tenant namespaces (e.g.tenant-root). Certificate issuance only worked because every ingress overrode the issuer via the deprecatedacme.cert-manager.io/http01-ingress-classannotation. Both sides are now migrated to the modern cert-manager API: theClusterIssueruseshttp01.ingress.ingressClassName(parameterized from_cluster.expose-ingress, defaulting totenant-root) and all ingress templates switch to theacme.cert-manager.io/http01-ingress-ingressclassnameannotation. The migration is atomic — mixing the two APIs triggers cert-manager's validation error "fields ingressClassName and class cannot be set at the same time" (@myasnikovdaniil in #2436, backport #2439).
Documentation
-
[website] Document tenant namespace layout and parent/child derivation: Added two new sections to the Tenant System guide describing how tenant workload namespace names are constructed and how downstream integrations should walk the tenant tree without string-parsing namespace names (@lexfrei in cozystack/website#479).
-
[website] Document the checkbox-then-edit-CR customization pattern: Added a Customizing Tenant Services section documenting how to configure a tenant-level service (etcd, monitoring, ingress, seaweedfs) beyond the per-tenant boolean flag — enable the flag then
kubectl editthe downstreamapps.cozystack.io/v1alpha1CR, with callouts for common wrong approaches (@lexfrei in cozystack/website#485). -
[website] Fix 14 broken links and stale talm anchor across v1 docs: Automated pass corrected 14 broken
{{% ref %}}/{{% relref %}}shortcode targets and raw markdown links across 11 files, plus updated a staletalmanchor (@lexfrei in cozystack/website#486). -
[website] Rewrite external applications guide for ApplicationDefinition API: Updated the external apps guide to replace outdated
CozystackResourceDefinitionreferences with the currentApplicationDefinitionAPI and conventions (@kitsunoff in cozystack/website#488). -
[website] Refactor docs versions to major.minor variants: Restructured the docs versioning from
v0/v1to per-minor-version directories (v1.0,v1.1,v1.2), making the site compatible with the push-based docs update pipeline (@myasnikovdaniil in cozystack/website#477). -
[website] Update /docs/v1/ redirect to latest v1.2: Updated the Netlify redirect
/docs/v1/*to point tov1.2(was outdatedv1.0) and added a Hugo alias for GitHub Pages compatibility (@myasnikovdaniil in cozystack/website#492). -
[website] Trunk-based versioning with permanent next/ directory: Replaced the hardcoded draft-directory approach with a permanent
content/en/docs/next/trunk for upcoming/unreleased Cozystack docs, excluded from production builds and promoted tovX.Y/when the upstream release workflow fires (@myasnikovdaniil in cozystack/website#495).
Full Changelog: v1.1.6...v1.1.7