# Copy these values to your application chart completely and then modify those bits where # the default for your application differs. The image.repository is a prime candidate for that. replicaCount: 1 # revisionHistoryLimit: can be configured to reduce/increase amount of stored replica sets for rollback revisionHistoryLimit: 10 image: repository: confluentinc/cp-kafka pullPolicy: IfNotPresent # Overrides the image tag whose default is latest tag: "7.5.1" # If image is not accessible for Kubernetes without authentication, configure required secrets here # will be added verbatim to imagePullSecrets in deployment pod template imagePullSecrets: [] # Overrides the name being used in, for example, annotations # by default it is the chart name nameOverride: "" # Overrides the name being used for the name of Kubernetes resources # by default release name if it contains the chart name, otherwise releaseName-chartName fullnameOverride: "" serviceAccount: # Specifies whether a service account should be created create: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" # Configure annotations for the pod, will be added verbatim to key annotations in pod metadata podAnnotations: {} # Configure the security context of the application pod podSecurityContext: {} # fsGroup: 2000 # Configure security context of the application container securityContext: seccompProfile: type: RuntimeDefault capabilities: drop: ['ALL'] allowPrivilegeEscalation: false readOnlyRootFilesystem: true # capabilities: # drop: # - ALL # readOnlyRootFilesystem: true # runAsNonRoot: true # runAsUser: 1000 application: port: &applicationPort 9092 actuatorPort: 8081 namespace: template # update to match the desired namespace profile: prod isSpring: false zookeeper: host: zookeeper port: 2181 prometheus: enabled: false # only enable if you have the Prometheus operator installed, otherwise it will fail due to missing CRDs useCRDs: false # namespace: the namespace of the Prometheus installation # the value is templated namespace: # name of helm release or argo cd application releaseName: # Overwrite with application specific environment variables # Each item has key and value, where the value is parsed as a template environment: - name: KAFKA_BROKER_ID value: "1" - name: KAFKA_ZOOKEEPER_CONNECT value: "{{ .Values.application.zookeeper.host }}:{{ .Values.application.zookeeper.port }}" - name: KAFKA_LISTENERS value: "PLAINTEXT://0.0.0.0:{{ .Values.application.port }}" - name: KAFKA_ADVERTISED_LISTENERS value: "PLAINTEXT://kafka.kafka:{{ .Values.application.port }}" - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP value: PLAINTEXT:PLAINTEXT - name: KAFKA_INTER_BROKER_LISTENER_NAME value: PLAINTEXT - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR value: "1" - name: KAFKA_LOG_RETENTION_MINUTES value: "2" enableServiceLinks: false # Contents of this object will be added to a Kubernetes secret data section and Base64 encoded # External secrets are not supported by this template secrets: {} # Configure the service service: type: ClusterIP # port is targeting the containerPort http, described by application.port port: *applicationPort # actuatorPort is targeting the containerPort http-actuator, described by application.actuatorPort # only used if application.isSpring=true actuatorPort: 8081 # Configure the liveness probe # Defaults fitting for Spring Boot application that has livenessProbe enabled livenessProbe: enabled: false path: /actuator/health/liveness port: http-actuator initialDelaySeconds: 30 periodSeconds: 120 # Configure the readiness probe # Defaults fitting for Spring Boot application that has readinessProbe enabled readinessProbe: enabled: false path: /actuator/health/readiness port: http-actuator initialDelaySeconds: 30 periodSeconds: 10 # Allows you to specify the number of seconds the application can take to answer readinessProbe # before failure is assumed by Kubernetes timeoutSeconds: 1 # Configure ingress if desired (exposing app beyond the boundaries of the cluster) ingress: enabled: false className: "" annotations: {} # kubernetes.io/tls-acme: "true" hosts: - host: chart-example.local paths: - path: / pathType: ImplementationSpecific tls: - secretName: chart-example-tls hosts: - chart-example.local resources: limits: cpu: 100m memory: 1Gi requests: cpu: 100m memory: 256Mi # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi # Configure autoscaling autoscaling: enabled: false minReplicas: 1 maxReplicas: 100 targetCPUUtilizationPercentage: 80 # targetMemoryUtilizationPercentage: 80 leaderElection: enabled: false vault: # If enabled, no ordinary secret resource will be created, even if secrets value is populated. enabled: false # name of the Vault secrets applications applicationName: "" # id of the organization in Vault secrets organizationId: "" # id of the project in Vault secrets projectId: "" # if not provided, vault-secrets-operator-system will be used operatorNamespace: "" # Configure nodeSelector, contents will be added verbatim to key nodeSelector in deployment pod template nodeSelector: {} # Configure tolerations, contents will be added verbatim to key tolerations in deployment pod template tolerations: [] # Configure affinity, contents will be added verbatim to key affinity in deployment pod template affinity: {} # volumes: configure volumes volumes: - name: kafka emptyDir: medium: Memory - name: log emptyDir: medium: Memory # volumeMounts: will be mounted in container volumeMounts: - mountPath: /etc/kafka name: kafka - mountPath: /var/log/kafka name: log # podSpec: will be added at the bottom of the pod template in the deployment podSpec: {} # containerSpec: will be added at the bottom of the container specification in the pod template containerSpec: {} prometheus-kafka-exporter: resources: limits: cpu: 100m memory: 128Mi requests: cpu: 100m memory: 128Mi prometheus: serviceMonitor: enabled: true namespace: observability additionalLabels: release: prometheus kafkaServer: - kafka.kafka:9092