Helm Controller¶
Helm Controller handles management and MOSK clusters core addons, such as StackLight, and the application addons, such as the OpenStack components.
Helm Controller is installed as a separate Helm v3 chart by the provider. Its
Pods are created using Deployment
.
The Helm release information is stored in the KaaSRelease
object for the
management clusters and in the ClusterRelease
object for management and
MOSK clusters. These objects are used by the provider that
uses the information from the ClusterRelease
object together with the
management API Cluster spec
. In Cluster spec
, the operator can specify
the Helm release name and charts to use. By combining the information from the
providerSpec
parameter of the Cluster
object and its ClusterRelease
object, the cluster actuator generates LCMCluster
objects. These objects
are further handled by LCM Controller, and the HelmBundle
object is handled
by Helm Controller. HelmBundle
must have the same name as the
LCMCluster
object for the cluster that HelmBundle
applies to.
Although a cluster actuator can only create a single HelmBundle
per
cluster, Helm Controller can handle multiple HelmBundle
objects per
cluster.
Helm Controller handles HelmBundle
objects and reconciles them with the
state of Helm in its cluster.
Helm Controller can also be used by the management cluster with corresponding
HelmBundle
objects created as part of the initial management cluster setup.