Configuration

Optional configuration steps when installing CAP Operator with Helm

Optional Configuration

  • 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 components
    

    To enable detailed operational metrics for the controller:

    controller:
        detailedOperationalMetrics: true
    
  • Set 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 evaluated
    

    On startup, the controller attempts to connect to the Prometheus server and fetch runtime information to verify the connection. If the connection fails, the controller retries after the delay specified in controller.versionMonitoring.promClientAcquireRetryDelay. See default values here.

  • Configure maximum concurrent reconciles

    The controller reconciles each resource type with a built-in default concurrency. To override these defaults, configure the values explicitly:

    controller:
      maxConcurrentReconciles:
        capApplication: "1"        # default: 1
        capApplicationVersion: "3" # default: 3
        capTenant: "10"            # default: 10
        capTenantOperation: "10"   # default: 10
        domain: "1"                # default: 1
        clusterDomain: "1"         # default: 1
    
  • Configure controller client rate limiting

    To control the rate at which the controller client sends requests to the Kubernetes API server, configure the QPS (queries per second) and burst values:

    controller:
      clientRateLimiting:
        qps: "20"    # <-- maximum queries per second
        burst: "30"  # <-- maximum burst for throttle
    
  • Configure controller rollout delay

    To introduce a delay before the controller rolls out workloads of relevant application versions on credential update (e.g. to allow a safe rollout window), set the rollout delay:

    controller:
      rolloutDelay: "1h" # <-- duration to wait before rolling out version workloads on credential update