Integrating with your ClusterClass

CAREN provides an extension config for the provided runtime hooks for the various supported providers that you can integrate with your own ClusterClass to add to your own customizations. In this way you can take advantage of what CAREN provides instead of having to write your own.

To integrate with your ClusterClasses, you will need to add the appropriate external patch references to your ClusterClass depending on your infrastructure provider under spec.patches. Once you have done this, you will be able to specify the variables clusterConfig and workerConfig1 regardless of infrastructure provider, although remember that each variable will have provider-specific fields as part of the schema.

The required values are shown below per provider.

AWS

  patches:
  - external:
      discoverVariablesExtension: awsclusterconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: awsclusterconfigpatch.cluster-api-runtime-extensions-nutanix
    name: cluster-config
  - external:
      discoverVariablesExtension: awsworkerconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: awsworkerconfigpatch.cluster-api-runtime-extensions-nutanix
    name: worker-config

Nutanix

  patches:
  - external:
      discoverVariablesExtension: nutanixclusterconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: nutanixclusterconfigpatch.cluster-api-runtime-extensions-nutanix
    name: cluster-config
  - external:
      discoverVariablesExtension: nutanixworkerconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: nutanixworkerconfigpatch.cluster-api-runtime-extensions-nutanix
    name: worker-config

Docker (for development and testing only)

  patches:
  - external:
      discoverVariablesExtension: dockerclusterconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: dockerclusterconfigpatch.cluster-api-runtime-extensions-nutanix
    name: cluster-config
  - external:
      discoverVariablesExtension: dockerworkerconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: dockerworkerconfigpatch.cluster-api-runtime-extensions-nutanix
    name: worker-config

Generic (any infrastructure provider)

  patches:
  - external:
      discoverVariablesExtension: genericclusterconfigvars.cluster-api-runtime-extensions-nutanix
      generateExtension: genericclusterconfigpatch.cluster-api-runtime-extensions-nutanix
    name: cluster-config

  1. Generic runtime hooks only include clusterConfig variable as there are no generic worker customizations currently available. ↩︎