From 35d5e8a4eab76efafdfc1efcc19eb7f9863c311a Mon Sep 17 00:00:00 2001 From: Andrey Kolkov Date: Fri, 17 Jul 2026 11:05:23 +0400 Subject: [PATCH] docs(operations): correct the cozy-default backup override path, add backupStorage to the platform values table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The admin-override example on the Backup Classes page told admins to set spec.components.backupstrategy-controller.values on the cozystack.cozystack-platform Package, a path the cozystack operator silently ignores (cozystack/cozystack#3245): that PackageSource exposes only the platform component. cozystack/cozystack#3333 wires the working path — spec.components.platform.values.backupStorage — which the platform chart forwards into the backupstrategy-controller component. Update the example to the working path, explain the forwarding, call out the two plausible-looking paths that do not work, and add the new backupStorage key to the platform-package values reference table. Only the next/ copy is touched: the v1.4 copy stays as-is until the cozystack fix is backported, since no working override path exists on released versions yet. Assisted-By: Claude Co-Authored-By: Claude Fable 5 Signed-off-by: Andrey Kolkov --- .../docs/next/operations/configuration/platform-package.md | 6 ++++++ content/en/docs/next/operations/services/backup-classes.md | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/content/en/docs/next/operations/configuration/platform-package.md b/content/en/docs/next/operations/configuration/platform-package.md index e4d7b26f..5d56f49b 100644 --- a/content/en/docs/next/operations/configuration/platform-package.md +++ b/content/en/docs/next/operations/configuration/platform-package.md @@ -148,6 +148,12 @@ gateway: | --- | --- | --- | | `scheduling.globalAppTopologySpreadConstraints` | `""` | Global pod topology spread constraints applied to all managed applications. | +#### Backup storage + +| Value | Default | Description | +| --- | --- | --- | +| `backupStorage` | `{}` | S3 coordinates for the platform-managed `cozy-default` BackupClass. The whole block is forwarded into the `backupstrategy-controller` component and deep-merged over its chart defaults; keys include `provisionBucket`, `bucketName`, `endpoint`, `region`, `forcePathStyle`, `systemSecretName`, and `systemNamespaces`. See [Backup Classes]({{% ref "/docs/next/operations/services/backup-classes" %}}) for the knob-by-knob reference. | + #### Branding | Value | Default | Description | diff --git a/content/en/docs/next/operations/services/backup-classes.md b/content/en/docs/next/operations/services/backup-classes.md index 2d34565f..d21ebb71 100644 --- a/content/en/docs/next/operations/services/backup-classes.md +++ b/content/en/docs/next/operations/services/backup-classes.md @@ -114,7 +114,7 @@ Alert on `rate(failures_total) > 0` or `absent_over_time(successes_total[10m])` ## Admin overrides for `cozy-default` -`cozy-default` is rendered by the `backupstrategy-controller` chart and owned by Flux's helm-controller. **Direct `kubectl edit backupclass cozy-default` is overwritten on the next helm reconcile** — the same applies to its companion `strategy.backups.cozystack.io/*` CRs (`cozy-default-cnpg`, `cozy-default-etcd`, `cozy-default-mariadb`, `cozy-default-altinity`, `cozy-default-foundationdb`, the two `cozy-default-velero-*`). The supported override path is the cozystack `Package` CR, which lets admins inject Helm values into platform components: +`cozy-default` is rendered by the `backupstrategy-controller` chart and owned by Flux's helm-controller. **Direct `kubectl edit backupclass cozy-default` is overwritten on the next helm reconcile** — the same applies to its companion `strategy.backups.cozystack.io/*` CRs (`cozy-default-cnpg`, `cozy-default-etcd`, `cozy-default-mariadb`, `cozy-default-altinity`, `cozy-default-foundationdb`, the two `cozy-default-velero-*`). The supported override path is the `backupStorage` block on the **`platform` component** of the `cozystack.cozystack-platform` Package CR: ```yaml apiVersion: cozystack.io/v1alpha1 @@ -123,7 +123,7 @@ metadata: name: cozystack.cozystack-platform spec: components: - backupstrategy-controller: + platform: values: backupStorage: provisionBucket: true # default; set false for external S3 @@ -136,6 +136,8 @@ spec: - cozy-velero ``` +The platform chart forwards this block into the child `Package cozystack.backupstrategy-controller` as component values, from where the cozystack operator merges it into the `backupstrategy-controller` HelmRelease over the chart defaults. Two paths that look plausible do **not** work: `spec.components.backupstrategy-controller` on the `cozystack.cozystack-platform` Package is silently ignored (the only component under that PackageSource is `platform`), and patching the child `Package cozystack.backupstrategy-controller` directly is reverted whenever the platform helm-reconcile re-renders it. + | Knob | Effect | |---|---| | `provisionBucket` | Toggle creation of the in-cluster `apps.cozystack.io/Bucket` CR. Set `false` for external S3 (see [Disabling the platform-managed bucket](#disabling-the-platform-managed-bucket)). |