To install CAP Operator components, use the Helm chart published as an OCI package at oci://ghcr.io/sap/cap-operator-lifecycle/helm/cap-operator.
Installation
Create a namespace and install the Helm chart in that namespace by specifying the domain and dnsTarget for your subscription server, either:
As command line parameters:
kubectl create namespace cap-operator-system helm upgrade -i -n cap-operator-system cap-operator oci://ghcr.io/sap/cap-operator-lifecycle/helm/cap-operator --set subscriptionServer.domain=cap-operator.<CLUSTER-DOMAIN> --set subscriptionServer.dnsTarget=public-ingress.<CLUSTER-DOMAIN>As a
YAMLvalues file:kubectl create namespace cap-operator-system helm upgrade -i -n cap-operator-system cap-operator oci://ghcr.io/sap/cap-operator-lifecycle/helm/cap-operator -f my-cap-operator-values.yamlThe values file
my-cap-operator-values.yamlcan have the following content:subscriptionServer: dnsTarget: public-ingress.<CLUSTER-DOMAIN> domain: cap-operator.<CLUSTER-DOMAIN>
Optional steps
Enable Service Monitors for metrics
To enable monitoring via metrics emitted by CAP Operator components, set the following value:
monitoring: enabled: true # <-- enables creation of service monitors for metrics emitted by CAP Operator componentsTo enable detailed operational metrics for the controller:
controller: detailedOperationalMetrics: trueSet up Prometheus integration for Version Monitoring
To use the Version Monitoring feature, provide a Prometheus server URL to the CAP Operator. When installing with the Helm chart, specify the following values:
controller: versionMonitoring: prometheusAddress: "http://prometheus-operated.monitoring.svc.cluster.local:9090" # <-- example of a Prometheus server running inside the same cluster promClientAcquireRetryDelay: "2h" metricsEvaluationInterval: "30m" # <-- interval at which version metrics are evaluatedOn startup, the controller attempts to connect to the Prometheus server and fetch runtime information to verify the connection. If the connection fails, it retries after the delay specified in
controller.versionMonitoring.promClientAcquireRetryDelay. See default values here.Note- When connecting the controller to a Prometheus server running inside the cluster, ensure that the
NetworkPoliciesrequired for connecting to the service in the Prometheus namespace are also created. - If the Prometheus service is configured to use TLS, mount the relevant CA root certificates as volumes to the controller.
- When connecting the controller to a Prometheus server running inside the cluster, ensure that the