Skip to content

Simplify external patch definition in ClusterClass #8210

Closed
@killianmuldoon

Description

@killianmuldoon

When a user wants to include an external patch in a ClusterClass they have to specify the following in the ClusterClass .spec

  patches:
  - name: test-patch
    external:
      generateExtension: generate-patches.k8s-upgrade-with-runtimesdk
      validateExtension: validate-topology.k8s-upgrade-with-runtimesdk
      discoverVariablesExtension: discover-variables.k8s-upgrade-with-runtimesdk

This issue is about considering the following improvements to the API:

  1. Change generateExtension and validateExtension to generatePatchExtension and validatePatchExtension respectively to make them consistent with discoverVariablesExtension

  2. Allow users to specify an external patch using a single field. This would result in something like:

  patches:
  - name: test-patch
    external:
      extension: k8s-upgrade-with-runtimesdk

Where the three runtime hooks - generateExtension, validateExtension and discoverVariablesExtension - can be inferred from the extension through the Runtime SDK discovery process.

/area topology
/area runtime-sdk
/kind api-change

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/clusterclassIssues or PRs related to clusterclassarea/runtime-sdkIssues or PRs related to Runtime SDKhelp wantedDenotes an issue that needs help from a contributor. Must meet "help wanted" guidelines.kind/api-changeCategorizes issue or PR as related to adding, removing, or otherwise changing an APIpriority/backlogHigher priority than priority/awaiting-more-evidence.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