Documentation ¶
Overview ¶
Package controller contains all our controllers. They are sorted by binary they run in, which means that for all folders here a corresponding folder in the `cmd/` directory has to exist.
The only exception here are the `util` package which does not contain any controllers but some helpers and the `shared` package which contains controllers that run within more than one binary.
Directories ¶
Path | Synopsis |
---|---|
Package kubeletdnatcontroller contains the kubeletdnat controller which:
|
Package kubeletdnatcontroller contains the kubeletdnat controller which: |
nodeport-proxy
|
|
Package operator contains all controllers that run within the kubermatic operator binary.
|
Package operator contains all controllers that run within the kubermatic operator binary. |
seed/resources/nodeportproxy
Package nodeportproxy is responsible for reconciling a seed-cluster-wide proxy based on Envoy and a custom envoy-manager/lb-updater tools.
|
Package nodeportproxy is responsible for reconciling a seed-cluster-wide proxy based on Envoy and a custom envoy-manager/lb-updater tools. |
Package seedcontrollermanager contains a package for each controller that runs within the seed controller manager binary.
|
Package seedcontrollermanager contains a package for each controller that runs within the seed controller manager binary. |
addon-controller
Package addoncontroller contains a controller that applies addons based on a Addon CRD.
|
Package addoncontroller contains a controller that applies addons based on a Addon CRD. |
addon-installer-controller
Package addon-installer-controller contains a controller that is responsible for making sure a set of addons that are configured via a flag on the controller-manager and are required for basic cluster functionality exist for all clusters.
|
Package addon-installer-controller contains a controller that is responsible for making sure a set of addons that are configured via a flag on the controller-manager and are required for basic cluster functionality exist for all clusters. |
application-secret-cluster-controller
Package applicationsecretclustercontroller contains a controller that ensure ApplicationSecrets are synced from kubermatic namespace to the user cluster namespaces.
|
Package applicationsecretclustercontroller contains a controller that ensure ApplicationSecrets are synced from kubermatic namespace to the user cluster namespaces. |
auto-update-controller
Package autoupdatecontroller contains a controller that auto applies updates to the cluster version and potentially to the MachineDeployments inside the usercluster.
|
Package autoupdatecontroller contains a controller that auto applies updates to the cluster version and potentially to the MachineDeployments inside the usercluster. |
cloud-controller
Package cloud contains a controller that is responsible for creating cluster-level resources at the cloud provider, like networks, subnets or security groups.
|
Package cloud contains a controller that is responsible for creating cluster-level resources at the cloud provider, like networks, subnets or security groups. |
cluster-credentials-controller
Package clustercredentialscontroller contains a controller that watches Cluster objects and is responsible for moving inline credentials (from the CloudSpec) into dedicated Kubernetes Secrets.
|
Package clustercredentialscontroller contains a controller that watches Cluster objects and is responsible for moving inline credentials (from the CloudSpec) into dedicated Kubernetes Secrets. |
cluster-phase-controller
Package clusterphasecontroller contains a controller that updates the Phase on a Cluster object, based on the ClusterStatus.
|
Package clusterphasecontroller contains a controller that updates the Phase on a Cluster object, based on the ClusterStatus. |
cluster-stuck-controller
Package clusterstuckcontroller contains a controller that is only useful during development.
|
Package clusterstuckcontroller contains a controller that is only useful during development. |
cluster-template-controller
Package clustertemplatecontroller contains a controller that is responsible for managing cluster template instances.
|
Package clustertemplatecontroller contains a controller that is responsible for managing cluster template instances. |
cluster-update-controller
Package clusterupdatecontroller contains a controller that coordinates the upgrade of clusters.
|
Package clusterupdatecontroller contains a controller that coordinates the upgrade of clusters. |
cluster-usersshkeys-controller
The clusterusersshkeyscontroller controller is responsible for synchronizing usersshkeys into a secret in the cluster namespace.
|
The clusterusersshkeyscontroller controller is responsible for synchronizing usersshkeys into a secret in the cluster namespace. |
cni-application-installation-controller
Package cniapplicationinstallationcontroller contains a controller that watches Cluster resources, and if the CNI for the Cluster is manged by the Applications infra, reconciles ApplicationInstallation Resources in the user cluster with necessary CNI configuration in ApplicationInstallation's Values.
|
Package cniapplicationinstallationcontroller contains a controller that watches Cluster resources, and if the CNI for the Cluster is manged by the Applications infra, reconciles ApplicationInstallation Resources in the user cluster with necessary CNI configuration in ApplicationInstallation's Values. |
control-plane-controller
Package controlplanecontroller contains a controller that reconciles all controlplane components in the seed needed for Kubernetes clusters.
|
Package controlplanecontroller contains a controller that reconciles all controlplane components in the seed needed for Kubernetes clusters. |
control-plane-status-controller
Package controlplanestatuscontroller contains a controller that is responsible for:
|
Package controlplanestatuscontroller contains a controller that is responsible for: |
datacenter-status-controller
Package datacenterstatuscontroller contains a controller that is responsible for managing the basic parts of the SeedStatus:
|
Package datacenterstatuscontroller contains a controller that is responsible for managing the basic parts of the SeedStatus: |
initial-application-installation-controller
Package initialapplicationinstallationcontroller contains a controller that watches Cluster resources that have the InitialApplicationInstallations annotation.
|
Package initialapplicationinstallationcontroller contains a controller that watches Cluster resources that have the InitialApplicationInstallations annotation. |
initial-machinedeployment-controller
Package initialmachinedeploymentcontroller contains a controller that watches Cluster resources and will transform the InitialMachineDeployment annotation into an actual MachineDeployment once the cluster has become ready.
|
Package initialmachinedeploymentcontroller contains a controller that watches Cluster resources and will transform the InitialMachineDeployment annotation into an actual MachineDeployment once the cluster has become ready. |
ipam-controller
Package ipam contains a controller that is responsible for managing IPAM (Multi-Cluster IP Address Management) pools.
|
Package ipam contains a controller that is responsible for managing IPAM (Multi-Cluster IP Address Management) pools. |
kc-status-controller
Package kcstatuscontroller contains a controller that is responsible for managing the basic parts of the KubermaticConfigurationStatus:
|
Package kcstatuscontroller contains a controller that is responsible for managing the basic parts of the KubermaticConfigurationStatus: |
mla-controller
Package mlacontroller contains controllers that are responsible for configuring MLA (Monitoring, Logging, and Alerting) for user clusters.
|
Package mlacontroller contains controllers that are responsible for configuring MLA (Monitoring, Logging, and Alerting) for user clusters. |
monitoring-controller
package monitoringcontroller contains a controller that reconciles all monitoring-related components for all cluster types in the seed.
|
package monitoringcontroller contains a controller that reconciles all monitoring-related components for all cluster types in the seed. |
operating-system-profile-synchronizer
Package operatingsystemprofilesynchronizer contains a controller that is responsible for ensuring that OperatingSystemProfiles are synced from the seed namespace to the user cluster namespace.
|
Package operatingsystemprofilesynchronizer contains a controller that is responsible for ensuring that OperatingSystemProfiles are synced from the seed namespace to the user cluster namespace. |
preset-controller
Package presetcontroller contains a controller that is responsible for managing presets.
|
Package presetcontroller contains a controller that is responsible for managing presets. |
pvwatcher-controller
Package pvwatchercontroller contains a controller that is responsible for monitoring and recovering users' clusters etcd plane PVs.
|
Package pvwatchercontroller contains a controller that is responsible for monitoring and recovering users' clusters etcd plane PVs. |
Package userclustercontrollermanager contains all controllers running in the usercluster controller manager binary.
|
Package userclustercontrollermanager contains all controllers running in the usercluster controller manager binary. |
application-installation-controller
Package applicationinstallationcontroller contains a controller that is responsible for reconciling ApplicationInstallation (ie install, update or uninstall applications into the user-cluster)
|
Package applicationinstallationcontroller contains a controller that is responsible for reconciling ApplicationInstallation (ie install, update or uninstall applications into the user-cluster) |
ccm-csi-migrator
Package ccmcsimigrator contains a controller that is responsible to ensure the cluster status related to CCM/CSI machine migration.
|
Package ccmcsimigrator contains a controller that is responsible to ensure the cluster status related to CCM/CSI machine migration. |
cluster-role-labeler
Package clusterrolelabeler contains a controller that is responsible for ensuring that the viewer, editor and admin clusterroles have a `component: userClusterRole` label associated.
|
Package clusterrolelabeler contains a controller that is responsible for ensuring that the viewer, editor and admin clusterroles have a `component: userClusterRole` label associated. |
flatcar
Package flatcar linux contains the flatcar linux controller that is responsible for deploying the [Flatcar Linux Update Operator](https://github.com/kinvolk/flatcar-linux-update-operator) operator and DaemonSet
|
Package flatcar linux contains the flatcar linux controller that is responsible for deploying the [Flatcar Linux Update Operator](https://github.com/kinvolk/flatcar-linux-update-operator) operator and DaemonSet |
ipam
Package ipam contains a controller responsible for assigning IP addresses from a configured pool to machines that have an annotation keyed `machine-controller.kubermatic.io/initializers` which contains the value ipam.
|
Package ipam contains a controller responsible for assigning IP addresses from a configured pool to machines that have an annotation keyed `machine-controller.kubermatic.io/initializers` which contains the value ipam. |
kubevirt-vmi-eviction
Package kubevirtvmieviction contains a controller that is responsible for handling bare-metal nodes draining: - watches in the KubeVirt infra cluster the VMI status.evacuationNodeName.
|
Package kubevirtvmieviction contains a controller that is responsible for handling bare-metal nodes draining: - watches in the KubeVirt infra cluster the VMI status.evacuationNodeName. |
node-labeler
Package nodelabeler contains a controller that ensures Nodes have various labels present at all times:
|
Package nodelabeler contains a controller that ensures Nodes have various labels present at all times: |
node-version-controller
Package nodeversioncontroller contains a controller that watches Nodes and updates the Cluster's status with the oldestNodeVersion.
|
Package nodeversioncontroller contains a controller that watches Nodes and updates the Cluster's status with the oldestNodeVersion. |
owner-binding-creator
The ownerbindingcreator controller is responsible for making sure that the binding exists and if it doesn't, will create it and use the cluster owner as subject.
|
The ownerbindingcreator controller is responsible for making sure that the binding exists and if it doesn't, will create it and use the cluster owner as subject. |
resources
Package resources contains the resources controller responsible for making sure the various Kubernetes resources we need in the usercluster like RBAC, Deployments, ServiceAccounts and much more are present.
|
Package resources contains the resources controller responsible for making sure the various Kubernetes resources we need in the usercluster like RBAC, Deployments, ServiceAccounts and much more are present. |
role-cloner-controller
Package roleclonercontroller contains a controller that duplicates all roles with the `component=userClusterRole` label that are in the kube-system namespace into all other namespaces.
|
Package roleclonercontroller contains a controller that duplicates all roles with the `component=userClusterRole` label that are in the kube-system namespace into all other namespaces. |
Package util contains helpers for building controllers.
|
Package util contains helpers for building controllers. |
Click to show internal directories.
Click to hide internal directories.