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.