Skip to content

etcd: surface conditional required fields for backup.* once cozyvalues-gen supports it #2486

Closed as not planned

Description

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.

Seen in PR review: #2428 (discussion #2428 (comment)).

Activity

  1. added
    kind/featureCategorizes issue or PR as related to a new feature
    area/databaseIssues or PRs related to managed databases (postgres, mariadb, redis, etcd, kafka, clickhouse)
    on Jun 4, 2026
  2. androndo commented on Aug 3, 2026

    @androndo
    Contributor

    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.

    Found during an audit of all open backup issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/databaseIssues or PRs related to managed databases (postgres, mariadb, redis, etcd, kafka, clickhouse)kind/featureCategorizes issue or PR as related to a new feature

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions