Viewing legacy documentation for Kubebuilder, check out the latest documentation instead.

Defining your Custom Config

Now that you have a custom component config we change the config/manager/controller_manager_config.yaml to use the new GVK you defined.

project/config/manager/controller_manager_config.yaml
apiVersion: controller-runtime.sigs.k8s.io/v1alpha1 kind: ControllerManagerConfig metadata: labels: app.kubernetes.io/name: controllermanagerconfig app.kubernetes.io/instance: controller-manager-configuration app.kubernetes.io/component: manager app.kubernetes.io/created-by: project app.kubernetes.io/part-of: project app.kubernetes.io/managed-by: kustomize health: healthProbeBindAddress: :8081 metrics: bindAddress: 127.0.0.1:8080 webhook: port: 9443 leaderElection: leaderElect: true resourceName: 80807133.tutorial.kubebuilder.io clusterName: example-test

This type uses the new ProjectConfig kind under the GVK config.tutorial.kubebuilder.io/v2, with these custom configs we can add any yaml serializable fields that your controller needs and begin to reduce the reliance on flags to configure your project.