agent:
  enabled: true
  podSecurityContext:
    fsGroup: 1001
    runAsNonRoot: true
    runAsUser: 1001
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - ALL
    readOnlyRootFilesystem: true
    runAsNonRoot: true
aggregator:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: mission-control.datastax.com/role
            operator: In
            values:
            - platform
  customConfig:
    sinks:
      loki:
        encoding:
          codec: json
        endpoint: http://loki-gateway
        inputs:
        - vector_with_defaults
        labels:
          cluster: '{{ "{{" }} cluster {{ "}}" }}'
          container_name: '{{ "{{" }} container_name {{ "}}" }}'
          datacenter: '{{ "{{" }} datacenter {{ "}}" }}'
          file: '{{ "{{" }} file {{ "}}" }}'
          namespace: '{{ "{{" }} namespace {{ "}}" }}'
          pod_name: '{{ "{{" }} pod_name {{ "}}" }}'
          rack: '{{ "{{" }} rack {{ "}}" }}'
          source_type: '{{ "{{" }} source_type {{ "}}" }}'
        out_of_order_action: accept
        request:
          retry_attempts: 1
        tenant_id: anonymous
        type: loki
      mimir:
        endpoint: http://mission-control-mimir-nginx/api/v1/push
        inputs:
        - vector
        - internal_metrics
        - kube_state_metrics
        - cass_operator_metrics
        request:
          retry_attempts: 1
        type: prometheus_remote_write
      new_relic_example:
        account_id: "<ACCOUNT_ID>"
        api: metrics
        inputs:
        - vector
        - internal_metrics
        - kube_state_metrics
        - cass_operator_metrics
        license_key: <LICENSE_KEY>
        type: new_relic
  enabled: true
  persistence:
    enabled: true
    hostPath:
      enabled: false
    storageClassName: null
  podSecurityContext:
    fsGroup: 1001
    runAsNonRoot: true
    runAsUser: 1001
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - ALL
    readOnlyRootFilesystem: true
    runAsNonRoot: true
allowOperatorsOnDatabaseNodes: false
controlPlane: true
controlPlaneRemon: false
dex:
  config:
    enablePasswordDB: true
    issuer: http://mission-control-dex:5556/dex
    staticPasswords:
    - email: admin@example.com
      hash: <HASH>
      userID: <USER_ID>
      username: admin
  podSecurityContext:
    runAsNonRoot: true
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - ALL
    readOnlyRootFilesystem: true
  volumeMounts:
  - mountPath: /tmp
    name: tmp
  volumes:
  - emptyDir: {}
    name: tmp
disableCertManagerCheck: true
grafana:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: mission-control.datastax.com/role
            operator: In
            values:
            - platform
  enabled: true
k8ssandra-operator:
  cass-operator:
    disableCertManagerCheck: true
    nodeSelector:
      mission-control.datastax.com/role: platform
    podSecurityContext:
      runAsNonRoot: true
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      readOnlyRootFilesystem: true
  nodeSelector:
    mission-control.datastax.com/role: platform
  podSecurityContext:
    runAsNonRoot: true
  securityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop:
      - ALL
    readOnlyRootFilesystem: true
global:
  imageConfig:
    # Example configuration for unified image management
    # Uncomment and modify as needed for your environment
    # images:
    #   system-logger:
    #     repository: "k8ssandra"
    #     name: "system-logger"
    #     tag: "v1.27.1"
    #   config-builder:
    #     repository: "datastax"
    #     name: "cass-config-builder"
    #     tag: "1.0-ubi"
    #   k8ssandra-client:
    #     repository: "k8ssandra"
    #     name: "k8ssandra-client"
    #     tag: "v0.8.3"
    #   cql-router:
    #     registry: "proxy.replicated.com"
    #     repository: "proxy/mission-control/account-id.dkr.ecr.us-west-2.amazonaws.com/mission-control"
    #     name: "cql-router"
    #     tag: "96e59d8d"
    #   cqlsh:
    #     registry: "proxy.replicated.com"
    #     repository: "proxy/mission-control/account-id.dkr.ecr.us-west-2.amazonaws.com/mission-control"
    #     name: "cqlsh-pod"
    #     tag: "37e472f9"
    #   data-api:
    #     repository: "stargateio"
    #     name: "data-api"
    #     tag: "v1.0.32"
    #   reaper:
    #     registry: "docker.io"
    #     repository: "thelastpickle"
    #     name: "cassandra-reaper"
    #     tag: "4.0.0"
    #   medusa:
    #     registry: "docker.io"
    #     repository: "k8ssandra"
    #     name: "medusa"
    #     tag: "0.25.1"
    # For airgap installations, override the registry for all images:
    # overrides:
    #   registry: "your-registry.example.com:5000"
    #   pullPolicy: IfNotPresent
    #   pullSecrets:
    #     - "your-pull-secret"
    # Default values used when no specific override is present:
    # defaults:
    #   registry: "docker.io"
    #   pullPolicy: IfNotPresent
    #   pullSecrets:
    #     - "{{ .Release.Name}}-registry"
    # Type-based configurations for different server types:
    # types:
    #   hcd:
    #     registry: "proxy.replicated.com"
    #     repository: "proxy/mission-control/account-id.dkr.ecr.us-west-2.amazonaws.com/engops-shared/hcd/prod"
    #     name: "hcd"
    #     suffix: "-ubi"
    #   cassandra:
    #     repository: "k8ssandra"
    #     name: "cass-management-api"
    #     suffix: "-ubi"
    #   dse:
    #     repository: "datastax"
    #     name: "dse-mgmtapi-6_8"
    #     suffix: "-ubi"
kube-state-metrics:
  nodeSelector:
    mission-control.datastax.com/role: platform
loki:
  backend:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: mission-control.datastax.com/role
                  operator: In
                  values: ["platform"]
    extraEnv:
    - name: GOOGLE_APPLICATION_CREDENTIALS
      value: /etc/loki_secrets/gcp_service_account.json
    extraVolumeMounts:
    - mountPath: /etc/loki_secrets
      name: loki-secrets
    extraVolumes:
    - name: loki-secrets
      secret:
        items:
        - key: gcp_service_account.json
          path: gcp_service_account.json
        secretName: loki-secrets
    persistence:
      size: 10Gi
      storageClass: ""
      volumeClaimsEnabled: "1"
  enabled: true
  gateway:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: mission-control.datastax.com/role
                  operator: In
                  values: ["platform"]
    extraEnv:
    - name: GOOGLE_APPLICATION_CREDENTIALS
      value: /etc/loki_secrets/gcp_service_account.json
    extraVolumeMounts:
    - mountPath: /etc/loki_secrets
      name: loki-secrets
    extraVolumes:
    - name: loki-secrets
      secret:
        items:
        - key: gcp_service_account.json
          path: gcp_service_account.json
        secretName: loki-secrets
  loki:
    commonConfig:
      replication_factor: 1
    compactor:
      retention_enabled: true
      delete_request_store: gcs
      working_directory: /var/loki/retention
    limits_config:
      ingestion_burst_size_mb: 2000
      ingestion_rate_mb: 1000
      retention_period: 7d
    rulerConfig:
      storage:
        local:
          directory: /var/loki/rules
        type: local
    schemaConfig:
      configs:
      - from: 2020-05-15
        index:
          period: 24h
          prefix: index_
        object_store: gcs
        schema: v11
        store: boltdb-shipper
    storage:
      bucketNames:
        chunks: my-logs-bucket
      gcs:
        insecure: true
      type: gcs
  read:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: mission-control.datastax.com/role
                  operator: In
                  values: ["platform"]
    extraEnv:
    - name: GOOGLE_APPLICATION_CREDENTIALS
      value: /etc/loki_secrets/gcp_service_account.json
    extraVolumeMounts:
    - mountPath: /etc/loki_secrets
      name: loki-secrets
    extraVolumes:
    - name: loki-secrets
      secret:
        items:
        - key: gcp_service_account.json
          path: gcp_service_account.json
        secretName: loki-secrets
    persistence:
      enabled: "1"
      size: 10Gi
      storageClassName: ""
    replicas: 1
  sidecar:
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop:
        - ALL
      readOnlyRootFilesystem: true
      runAsNonRoot: true
  write:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: mission-control.datastax.com/role
                  operator: In
                  values: ["platform"]
    extraEnv:
    - name: GOOGLE_APPLICATION_CREDENTIALS
      value: /etc/loki_secrets/gcp_service_account.json
    extraVolumeMounts:
    - mountPath: /etc/loki_secrets
      name: loki-secrets
    extraVolumes:
    - name: loki-secrets
      secret:
        items:
        - key: gcp_service_account.json
          path: gcp_service_account.json
        secretName: loki-secrets
    persistence:
      size: 10Gi
      storageClass: ""
      volumeClaimsEnabled: "1"
    replicas: 1
mimir:
  alertmanager:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    enabled: true
    extraArgs:
      alertmanager-storage.backend: local
      alertmanager-storage.local.path: /etc/alertmanager/config
      alertmanager.configs.fallback: /etc/alertmanager/config/default.yml
      alertmanager.sharding-ring.replication-factor: "2"
    extraVolumeMounts:
    - mountPath: /etc/alertmanager/config
      name: alertmanager-config
    - mountPath: /alertmanager
      name: alertmanager-config-tmp
    extraVolumes:
    - name: alertmanager-config
      secret:
        secretName: alertmanager-config
    - emptyDir: {}
      name: alertmanager-config-tmp
    persistentVolume:
      accessModes:
      - ReadWriteOnce
      enabled: "1"
      size: 10Gi
    replicas: "2"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  compactor:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    extraArgs:
      compactor.blocks-retention-period: 7d
    persistentVolume:
      accessModes:
      - ReadWriteOnce
      enabled: "1"
      size: 300Gi
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  distributor:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    extraArgs:
      ingester.ring.replication-factor: "1"
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  enabled: true
  ingester:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    extraArgs:
      ingester.max-global-series-per-user: "0"
      ingester.ring.replication-factor: "1"
    persistentVolume:
      accessModes:
      - ReadWriteOnce
      enabled: "1"
      size: 50Gi
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  mimir:
    structuredConfig:
      activity_tracker:
        filepath: /data/activity.log
      blocks_storage:
        backend: gcs
        bucket_store:
          sync_dir: /data/tsdb-sync
        gcs:
          bucket_name: my-metrics-bucket
          service_account: ""
        tsdb:
          dir: /data/tsdb
      limits:
        ingestion_burst_size: 100000
        ingestion_rate: 50000
        max_label_names_per_series: 120
        out_of_order_time_window: 5m
  minio:
    enabled: false
  nginx:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
            - matchExpressions:
                - key: mission-control.datastax.com/role
                  operator: In
                  values: ["platform"]
  overrides_exporter:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
  querier:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    extraArgs:
      ingester.ring.replication-factor: "1"
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  query_frontend:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  query_scheduler:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  ruler:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    enabled: true
    extraArgs:
      ingester.ring.replication-factor: "1"
      ruler-storage.backend: local
      ruler-storage.local.directory: /etc/rules
      ruler.alertmanager-url: http://mission-control-mimir-alertmanager:8080/alertmanager
      ruler.query-frontend.address: mission-control-mimir-query-frontend:9095
    extraVolumeMounts:
    - mountPath: /etc/rules/anonymous
      name: ruler-config
    extraVolumes:
    - name: ruler-config
      projected:
        defaultMode: 420
        sources:
        - configMap:
            name: mission-control-ruler-config
        - configMap:
            name: mission-control-ruler-custom-config
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
  store_gateway:
    affinity:
      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: mission-control.datastax.com/role
              operator: In
              values:
              - platform
    persistentVolume:
      accessModes:
      - ReadWriteOnce
      enabled: "1"
      size: 50Gi
    replicas: "1"
    resources:
      limits:
        memory: 2Gi
      requests:
        cpu: 100m
        memory: 128Mi
nodeSelector:
  mission-control.datastax.com/role: platform
podSecurityContext:
  runAsNonRoot: true
replicated:
  enabled: false
  releaseNotes: ""
  statusInformers:
  - mission-control/deployment/mission-control-cass-operator
  - mission-control/deployment/mission-control-k8ssandra-operator
  - mission-control/deployment/mission-control
  versionLabel: v1.15.0
securityContext:
  allowPrivilegeEscalation: false
  capabilities:
    drop:
    - ALL
  readOnlyRootFilesystem: true
ui:
  baseUrl: ""
  enabled: true
  https:
    enabled: true