Merge "[AAI] Make aai log level configurable"
[oom.git] / kubernetes / common / cassandra / values.yaml
index c3d22ce..0ab1f09 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+# Copyright © 2022 Amdocs, Bell Canada, AT&T, Bitnami
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -21,6 +21,65 @@ global: # global defaults
     mountPath: /dockerdata-nfs
     backup:
       mountPath: /dockerdata-nfs/backup
+  cassandra:
+    # flag to enable the DB creation via k8ssandra-operator
+    useOperator: true
+    # if useOperator set to "true", set "enableServiceAccount to "false"
+    # as the SA is created by the Operator
+    enableServiceAccount: false
+
+k8ssandraOperator:
+  cassandraVersion: 4.1.3
+  persistence:
+    #storageClassName: default
+    size: 10Gi
+  config:
+    clusterName: cassandra
+    secretName: &secretName cassandra-default-user
+    superuserName: &superusername cassandra
+    superuserPassword: &superuserpassword cassandra
+    casOptions:
+      authorizer: AllowAllAuthorizer
+      read_request_timeout: 10000ms
+      write_request_timeout: 10000ms
+      counter_write_request_timeout: 15000ms
+    jvmOptions:
+      heap_initial_size: 512M
+      heap_max_size: 8192M
+    hostNetwork: false
+  datacenters:
+    - name: dc1
+      size: 3
+  reaper:
+    enabled: true
+  stargate:
+    enabled: false
+    tag: v1.0.77
+    size: 1
+    jvmOptions:
+      heapSize: 384Mi
+
+#################################################################
+# Secrets metaconfig
+# used to store the default superuser for k8ssandra-operator
+#################################################################
+secrets:
+  - uid: *secretName
+    type: genericKV
+    externalSecret: '{{ tpl (default "" .Values.k8ssandraOperator.config.userCredentialsExternalSecret) . }}'
+    envs:
+      - name: username
+        value: *superusername
+      - name: password
+        value: *superuserpassword
+
+ingress:
+  enabled: false
+  service:
+    - baseaddr: "reaper-dc1"
+      path: "/webui"
+      name: "cassandra-dc1-reaper-service"
+      port: 8080
 
 # application image
 image: cassandra:3.11.4
@@ -33,8 +92,8 @@ debugEnabled: false
 config:
   cluster_domain: cluster.local
   heap:
-    max: 2048M
-    min: 100M
+    max: 4096M
+    min: 200M
   jvmOpts: -Dcassandra.consistent.rangemovement=false
   clusterName: cassandra
   dataCenter: Pod
@@ -54,8 +113,8 @@ affinity: {}
 
 # probe configuration parameters
 liveness:
-  initialDelaySeconds: 60
-  periodSeconds: 20
+  initialDelaySeconds: 1
+  periodSeconds: 10
   timeoutSeconds: 10
   successThreshold: 1
   failureThreshold: 3
@@ -64,12 +123,19 @@ liveness:
   enabled: true
 
 readiness:
-  initialDelaySeconds: 120
-  periodSeconds: 20
+  initialDelaySeconds: 1
+  periodSeconds: 10
   timeoutSeconds: 10
   successThreshold: 1
   failureThreshold: 3
 
+startup:
+  initialDelaySeconds: 10
+  periodSeconds: 10
+  timeoutSeconds: 10
+  successThreshold: 1
+  failureThreshold: 90
+
 service:
   name: cassandra
   headless:
@@ -92,14 +158,16 @@ service:
   - name: tcp-agent
     port: 61621
 
-podAnnotations: {}
+podAnnotations:
+  #  sidecar.istio.io/inject: "false"
+  traffic.sidecar.istio.io/excludeInboundPorts: "7000,7001,7199,50051"
+  traffic.sidecar.istio.io/includeInboundPorts: '*'
+  traffic.sidecar.istio.io/excludeOutboundPorts: "7000,7001,7199,50051"
+
 podManagementPolicy: OrderedReady
 updateStrategy:
   type: RollingUpdate
 
-ingress:
-  enabled: false
-
 persistence:
   enabled: true
 
@@ -119,7 +187,7 @@ persistence:
   ## storageClass: "-"
   ## Not set as it depends of the backup enabledment or not.
   accessMode: ReadWriteOnce
-  size: 2Gi
+  size: 10Gi
   mountPath: /dockerdata-nfs
   mountSubPath: cassandra
   storageType: local
@@ -141,11 +209,11 @@ configOverrides: {}
   # Minimum memory for production is 4 CPU cores and 8GB memory
 resources:
   limits:
-    cpu: 0.8
-    memory: 4Gi
+    cpu: "2"
+    memory: "16Gi"
   requests:
-    cpu: 0.2
-    memory: 2.5Gi
+    cpu: "0.2"
+    memory: "2.5Gi"
 backup:
   enabled: false
   cron: "00 00 * * *"
@@ -155,3 +223,69 @@ backup:
   - name: system_traces
   - name: system_auth
   - name: system_distributed
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: cassandra
+  roles:
+    - nothing
+
+# Cassandra Metrics
+metrics:
+  enabled: false
+  image: bitnami/cassandra-exporter:2.3.4-debian-10-r641
+  pullPolicy: IfNotPresent
+  ports:
+  - name: tcp-metrics
+    port: 8080
+  podAnnotations:
+    prometheus.io/scrape: 'true'
+    prometheus.io/port: '8080'
+  livenessProbe:
+    enabled: true
+    httpGet:
+      path: /metrics
+      port: 8080
+    initialDelaySeconds: 30
+    periodSeconds: 10
+    timeoutSeconds: 5
+    successThreshold: 1
+    failureThreshold: 3
+  readinessProbe:
+    httpGet:
+      path: /metrics
+      port: 8080
+    enabled: true
+    initialDelaySeconds: 5
+    periodSeconds: 10
+    timeoutSeconds: 5
+    successThreshold: 1
+    failureThreshold: 3
+  serviceMonitor:
+    enabled: false
+    targetPort: 8080
+    path: /metrics
+    basicAuth:
+      enabled: false
+    ## Namespace in which Prometheus is running
+    ##
+    # namespace: monitoring
+
+    ## Interval at which metrics should be scraped.
+    #interval: 30s
+
+    ## Timeout after which the scrape is ended
+    # scrapeTimeout: 10s
+
+    ## ServiceMonitor selector labels
+    selector:
+      app.kubernetes.io/name: '{{ include "common.name" . }}'
+      helm.sh/chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
+      app.kubernetes.io/instance: '{{ include "common.release" . }}'
+      app.kubernetes.io/managed-by: '{{ .Release.Service }}'
+
+    ## RelabelConfigs to apply to samples before scraping
+    relabelings: []
+
+    ## MetricRelabelConfigs to apply to samples before ingestion
+    metricRelabelings: []