Skip to content

Improve validation in Cluster.spec.topology #8721

Open
@sbueringer

Description

@sbueringer

What would you like to be added (User Story)?

I think it would be good if we can go over Cluster.spec.topology and check if we have validation for all fields where it is appropriate.

Some examples:

  • MachineHealthCheckTopology: we should have validation that if enable is set to false no MachineHealthCheckClass fields should be set
  • MachineDeploymentStrategy: fields from MachineRollingUpdateDeployment should only be allowed to be set if Type is RollingUpdate
    • The same check is missing in the MD webhook

We should in general check if there is any validation that we either have only in Cluster.spec.topology or the corresponding webhook of the core type (MD/MHC) and make sure they are sync.

This way we can avoid that the Cluster topology controller is creating MD/MHC objects which are already invalid based on their webhook

Detailed Description

Anything else you would like to add?

No response

Label(s) to be applied

/kind feature
One or more /area label. See https://github.com/kubernetes-sigs/cluster-api/labels?q=area for the list of labels.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/clusterclassIssues or PRs related to clusterclasshelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/featureCategorizes issue or PR as related to a new feature.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions