To install CAP operator components, we recommend using the Helm chart that is 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 the 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>Or as a
YAMLfile with the values: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.yamlIn this example, the provided values file,
my-cap-operator-values.yaml, can have the following content:subscriptionServer: dnsTarget: public-ingress.<CLUSTER-DOMAIN> domain: cap-operator.<CLUSTER-DOMAIN>
Optional steps
Enable Service Monitors for metrics emitted by controller and subscription server
To enable Monitoring via metrics emitted by CAP Operator components, the following value can be specified:
monitoring: enabled: true # <-- This enables creation of service monitors, for metrics emitted by the cap operator componentsDetailed operational metrics for the controller can be enabled with the following config:
controller: detailedOperationalMetrics: trueSetup Prometheus Integration for Version Monitoring
To use the Version Monitoring feature of the CAP Operator, a Prometheus server URL can be provided to the CAP Operator. When installing the CAP Operator using the Helm chart, the following values can be specified in the 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" # <-- duration after which version metrics are evaluatedWhen the controller is started, the operator will try to connect to the Prometheus server and fetch runtime information to verify the connection. If the connection is not successful, it will be retried after the duration specified as
controller.versionMonitoring.promClientAcquireRetryDelay. Check default values for these attributes here.Note
- When connecting the controller to a Prometheus server running inside the cluster, please ensure that
NetworkPoliciesrequired for connecting to the service in the namespace where Prometheus is running are also created. - If the Prometheus service is configured to use TLS, the relevant CA root certificates which need to be trusted can be mounted as volumes to the controller.
- When connecting the controller to a Prometheus server running inside the cluster, please ensure that