You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
etcd: surface conditional required fields for backup.* once cozyvalues-gen supports it #2486
In packages/extra/etcd, the fields backup.destinationPath, backup.endpointURL, backup.s3AccessKey, and backup.s3SecretKey are effectively required when backup.enabled: true. They are currently validated at Helm render time with clear error messages, but the values.schema.json doesn't express the requirement, which means the dashboard cannot flag missing values until the user tries to submit.
Blocked on cozystack/cozyvalues-gen#23 — the generator has no annotation for conditional required, and the etcd chart follows the generator-first convention like every other chart in the tree. Once support lands, add the annotation to packages/extra/etcd/values.yaml and regenerate.
Obsolete. Closing after verifying against main (04b742670).
The fields this asks to make conditionally required no longer exist. packages/extra/etcd/values.yaml has no backup key at all (top-level keys are version, size, storageClass, replicas, resources) and values.schema.json has no backup property, so there is nothing left for backup.destinationPath, backup.endpointURL, backup.s3AccessKey or backup.s3SecretKey to be required by. The chart says so itself, in packages/extra/etcd/tests/backup-values-compat_test.yaml: "The v1alpha2 chart dropped the backup.* schema and templates entirely" — that test now only pins that leftover tenant backup.* values are ignored rather than rejected on upgrade.
Etcd backups moved onto the BackupClass framework instead (strategy-etcd-default.yaml, with cozy-default routing apps.cozystack.io/Etcd to strategy.backups.cozystack.io/Etcd cozy-default-etcd), where S3 coordinates and credentials come from the platform-projected Secret rather than from chart values — so the validation problem this described is structurally gone, not merely unimplemented.
That also makes this independent of cozyvalues-gen conditional-required support: it is closeable whatever that upstream does. Note #2609 lists this as a related issue; that link is now dead, nothing in #2609 depends on it.
Activity
androndo commentedon Aug 3, 2026
Obsolete. Closing after verifying against
main(04b742670).The fields this asks to make conditionally required no longer exist.
packages/extra/etcd/values.yamlhas nobackupkey at all (top-level keys areversion,size,storageClass,replicas,resources) andvalues.schema.jsonhas nobackupproperty, so there is nothing left forbackup.destinationPath,backup.endpointURL,backup.s3AccessKeyorbackup.s3SecretKeyto be required by. The chart says so itself, inpackages/extra/etcd/tests/backup-values-compat_test.yaml: "The v1alpha2 chart dropped the backup.* schema and templates entirely" — that test now only pins that leftover tenantbackup.*values are ignored rather than rejected on upgrade.Etcd backups moved onto the BackupClass framework instead (
strategy-etcd-default.yaml, withcozy-defaultroutingapps.cozystack.io/Etcdtostrategy.backups.cozystack.io/Etcd cozy-default-etcd), where S3 coordinates and credentials come from the platform-projected Secret rather than from chart values — so the validation problem this described is structurally gone, not merely unimplemented.That also makes this independent of cozyvalues-gen conditional-required support: it is closeable whatever that upstream does. Note #2609 lists this as a related issue; that link is now dead, nothing in #2609 depends on it.
Found during an audit of all open backup issues.