Merge pull request #737 from nflondo/main-source

Charts CI
pull/739/head
alex-isv 2023-04-28 12:12:38 -06:00 committed by GitHub
commit 31397c9a85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
108 changed files with 9206 additions and 548 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,5 +1,11 @@
annotations: annotations:
app.aquarist-labs.io/name: s3gw app.aquarist-labs.io/name: s3gw
artifacthub.io/category: storage
artifacthub.io/links: |
- name: homepage
url: https://s3gw.io/
- name: support
url: https://github.com/aquarist-labs/s3gw/issues
catalog.cattle.io/certified: partner catalog.cattle.io/certified: partner
catalog.cattle.io/display-name: S3 Gateway catalog.cattle.io/display-name: S3 Gateway
catalog.cattle.io/experimental: "true" catalog.cattle.io/experimental: "true"
@ -26,4 +32,4 @@ sources:
- https://github.com/aquarist-labs/s3gw - https://github.com/aquarist-labs/s3gw
- https://github.com/aquarist-labs/ceph - https://github.com/aquarist-labs/ceph
type: application type: application
version: 0.14.0 version: 0.15.0

View File

@ -2,97 +2,6 @@
questions: questions:
# General settings # General settings
- variable: useCertManager
label: Use cert-manager
default: "true"
description: "Use cert-manager to provision TLS certificates"
type: boolean
group: "General"
- variable: tls.publicDomain.crt
show_if: "useCertManager=false"
description: "S3 TLS certificate (Public Domain)"
label: "S3 TLS certificate (Public Domain)"
type: string
group: "General"
- variable: tls.publicDomain.key
show_if: "useCertManager=false"
description: "S3 TLS key (Public Domain)"
label: "S3 TLS key (Public Domain)"
type: string
group: "General"
- variable: tls.privateDomain.crt
show_if: "useCertManager=false"
description: "S3 TLS certificate (Private Domain)"
label: "S3 TLS certificate (Private Domain)"
type: string
group: "General"
- variable: tls.privateDomain.key
show_if: "useCertManager=false"
description: "S3 TLS key (Private Domain)"
label: "S3 TLS key (Private Domain)"
type: string
group: "General"
- variable: tls.ui.publicDomain.crt
show_if: "useCertManager=false"
description: "UI TLS certificate"
label: "UI TLS certificate"
type: string
group: "General"
- variable: tls.ui.publicDomain.key
show_if: "useCertManager=false"
description: "UI TLS key"
label: "UI TLS key"
type: string
group: "General"
- variable: certManagerNamespace
show_if: "useCertManager=true"
label: cert-manager's namespace
default: "cert-manager"
description: "cert-manager's namespace"
type: string
required: false
- variable: useCustomTlsIssuer
show_if: "useCertManager=true"
label: Use your own TLS issuer
default: "false"
description: "Use your own TLS issuer"
type: boolean
group: "General"
show_subquestion_if: true
subquestions:
- variable: customTlsIssuer
label: Custom TLS issuer
description: "Name of the custom TLS issuer to use"
type: string
required: false
- variable: tlsIssuer
show_if: "useCertManager=true&&useCustomTlsIssuer=false"
label: TLS issuer
description: "Name of the predefined TLS issuer to use"
type: enum
required: false
group: "General"
options:
- "s3gw-issuer"
- "s3gw-letsencrypt-issuer"
- variable: email
show_if: "useCertManager=true&&tlsIssuer=s3gw-letsencrypt-issuer"
label: email address to use with s3gw-letsencrypt-issuer
description: "email address to use with s3gw-letsencrypt-issuer"
type: string
required: false
group: "General"
- variable: serviceName - variable: serviceName
default: s3gw default: s3gw
description: "S3 Service Name" description: "S3 Service Name"
@ -101,42 +10,6 @@ questions:
type: string type: string
group: "General" group: "General"
- variable: defaultUserCredentialsSecret
default: s3gw-creds
description: |
"The name of the secret containing the
S3 credentials for the default user"
type: string
group: "General"
- variable: useExistingSecret
default: false
description: |
"Check this to use a preexisting secret
containing the S3 credentials for the default user"
type: boolean
group: "General"
- variable: accessKey
show_if: "useExistingSecret=false"
default: test
description: |
"Set this as the empty string to make the Chart
to compute a random alphanumeric value"
label: "S3 Access Key"
type: string
group: "General"
- variable: secretKey
show_if: "useExistingSecret=false"
default: test
description: |
"Set this as the empty string to make the Chart
to compute a random alphanumeric value"
label: "S3 Secret Key"
type: string
group: "General"
- variable: ingress.enabled - variable: ingress.enabled
default: true default: true
description: "Deploy an Ingress (Required for TLS and UI)" description: "Deploy an Ingress (Required for TLS and UI)"
@ -147,7 +20,7 @@ questions:
- variable: publicDomain - variable: publicDomain
show_if: ingress.enabled=true show_if: ingress.enabled=true
default: be.127.0.0.1.omg.howdoi.website default: ""
description: "Public domain of the S3 Service used by the Ingress" description: "Public domain of the S3 Service used by the Ingress"
label: "Public Domain" label: "Public Domain"
required: true required: true
@ -156,13 +29,15 @@ questions:
- variable: privateDomain - variable: privateDomain
default: svc.cluster.local default: svc.cluster.local
description: "Private domain of the S3 Service used inside the Kubernetes cluster" description: |
"Private domain of the S3 Service used inside the Kubernetes cluster"
label: "Private Domain" label: "Private Domain"
required: true required: true
type: string type: string
group: "General" group: "General"
- variable: ui.enabled - variable: ui.enabled
show_if: ingress.enabled=true
default: false default: false
description: "UI Enabled" description: "UI Enabled"
label: "UI Enabled" label: "UI Enabled"
@ -171,6 +46,7 @@ questions:
group: "General" group: "General"
- variable: ui.serviceName - variable: ui.serviceName
show_if: ingress.enabled=true
default: s3gw-ui default: s3gw-ui
description: "UI Service Name" description: "UI Service Name"
label: "UI Service Name" label: "UI Service Name"
@ -180,29 +56,160 @@ questions:
- variable: ui.publicDomain - variable: ui.publicDomain
show_if: ingress.enabled=true show_if: ingress.enabled=true
default: fe.127.0.0.1.omg.howdoi.website default: ""
description: "Public domain of the UI Service used by the Ingress" description: "Public domain of the UI Service used by the Ingress"
label: "UI Public Domain" label: "UI Public Domain"
required: true required: true
type: string type: string
group: "General" group: "General"
- variable: useExistingSecret
default: false
description: |
"Check this to use a preexisting secret
containing the S3 credentials for the default user"
type: boolean
group: "General"
- variable: defaultUserCredentialsSecret
show_if: useExistingSecret=true
default: s3gw-creds
description: |
"The name of the secret containing the
S3 credentials for the default user"
type: secret
group: "General"
- variable: accessKey
show_if: useExistingSecret=false
default: test
description: |
"Set this as the empty string to make the Chart
to compute a random alphanumeric value"
label: "S3 Access Key"
type: string
group: "General"
- variable: secretKey
show_if: useExistingSecret=false
default: test
description: |
"Set this as the empty string to make the Chart
to compute a random alphanumeric value"
label: "S3 Secret Key"
type: string
group: "General"
# TLS / Certificate Management
- variable: useCertManager
label: Use cert-manager
default: "true"
description: "Use cert-manager to provision TLS certificates"
type: boolean
group: "TLS / Certificate Management"
- variable: certManagerNamespace
show_if: "useCertManager=true"
label: cert-manager's namespace
default: "cert-manager"
description: "cert-manager's namespace"
type: string
required: false
group: "TLS / Certificate Management"
- variable: useCustomTlsIssuer
show_if: "useCertManager=true"
label: Use your own TLS issuer
default: "false"
description: "Use your own TLS issuer"
type: boolean
group: "TLS / Certificate Management"
show_subquestions_if: true
subquestions:
- variable: customTlsIssuer
label: Custom TLS issuer
description: "Name of the custom TLS issuer to use"
type: string
required: false
group: "TLS / Certificate Management"
- variable: tlsIssuer
show_if: "useCertManager=true&&useCustomTlsIssuer=false"
label: TLS issuer
description: "Name of the predefined TLS issuer to use"
type: enum
required: false
options:
- "s3gw-issuer"
- "s3gw-letsencrypt-issuer"
group: "TLS / Certificate Management"
- variable: email
show_if: "useCertManager=true&&useCustomTlsIssuer=false"
label: email address to use with s3gw-letsencrypt-issuer
description: "email address to use with s3gw-letsencrypt-issuer"
type: string
required: false
group: "TLS / Certificate Management"
- variable: tls.useExistingSecret
show_if: useCertManager=false
description: "Use the TLS certificates provided within an existing secret"
label: "Use Existing Secret"
type: boolean
default: false
group: "TLS / Certificate Management"
- variable: tls.secretName
show_if: useCertManager=false&&tls.useExistingSecret=true
description: "Secret providing TLS certificates"
label: "Secret Name"
type: secret
group: "TLS / Certificate Management"
- variable: tls.publicDomain.crt
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "S3 TLS certificate (Public Domain)"
label: "S3 TLS certificate (Public Domain)"
type: string
group: "TLS / Certificate Management"
- variable: tls.publicDomain.key
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "S3 TLS key (Public Domain)"
label: "S3 TLS key (Public Domain)"
type: string
group: "TLS / Certificate Management"
- variable: tls.privateDomain.crt
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "S3 TLS certificate (Private Domain)"
label: "S3 TLS certificate (Private Domain)"
type: string
group: "TLS / Certificate Management"
- variable: tls.privateDomain.key
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "S3 TLS key (Private Domain)"
label: "S3 TLS key (Private Domain)"
type: string
group: "TLS / Certificate Management"
- variable: tls.ui.publicDomain.crt
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "UI TLS certificate"
label: "UI TLS certificate"
type: string
group: "TLS / Certificate Management"
- variable: tls.ui.publicDomain.key
show_if: "useCertManager=false&&tls.useExistingSecret=false"
description: "UI TLS key"
label: "UI TLS key"
type: string
group: "TLS / Certificate Management"
# Storage # Storage
- variable: storageSize
description: "Storage Size"
type: string
default: 10Gi
label: "Storage Size"
group: "Storage"
- variable: storageClass.name
description: "Storage Class Name"
type: string
default: "longhorn-single"
required: true
label: "Storage Class"
group: "Storage"
- variable: storageClass.create - variable: storageClass.create
description: | description: |
Create a new opinionated storage class backed by longhorn.io Create a new opinionated storage class backed by longhorn.io
@ -211,11 +218,44 @@ questions:
label: "Create Storage Class" label: "Create Storage Class"
group: "Storage" group: "Storage"
- variable: storageClass.name
show_if: storageClass.create=false
type: storageclass
required: true
label: "Storage Class"
group: "Storage"
- variable: storageClass.name
show_if: storageClass.create=true
description: "New Storage Class Name"
type: string
valid_chars: "[0-9a-zA-Z_-]*"
default: "longhorn-single"
required: true
label: "Storage Class"
group: "Storage"
- variable: storageSize
description: "Volume Size"
type: string
default: 10Gi
label: "Volume Claim Size"
group: "Storage"
# Advanced Options # Advanced Options
- variable: useCustomImages
default: false
type: boolean
description: "Use custom container images"
required: true
group: "Advanced"
show_subquestion_if: true
subquestions:
- variable: imageRegistry - variable: imageRegistry
default: default:
description: "Image Registry" description: "Image Registry"
label: "Image Registry" label: "Registry (e.g. quay.io)"
required: false required: false
type: string type: string
group: "Advanced" group: "Advanced"
@ -244,18 +284,10 @@ questions:
type: string type: string
group: "Advanced" group: "Advanced"
- variable: imagePullPolicy
default:
description: "Image Pull Policy"
label: "Image Pull Policy"
required: false
type: string
group: "Advanced"
- variable: imageName - variable: imageName
default: default:
description: "Gateway Image Name" description: "Gateway Image Name"
label: "Image Name" label: "Image (e.g. s3gw/s3gw)"
required: false required: false
type: string type: string
group: "Advanced" group: "Advanced"
@ -263,7 +295,7 @@ questions:
- variable: imageTag - variable: imageTag
default: default:
description: "Image Tag" description: "Image Tag"
label: "Image Tag" label: "Tag (e.g. latest)"
required: false required: false
type: string type: string
group: "Advanced" group: "Advanced"
@ -271,7 +303,7 @@ questions:
- variable: ui.imageName - variable: ui.imageName
default: default:
description: "UI Image Name" description: "UI Image Name"
label: "UI Image Name" label: "Image (e.g. s3gw/s3gw-ui)"
required: false required: false
type: string type: string
group: "Advanced" group: "Advanced"
@ -279,11 +311,23 @@ questions:
- variable: ui.imageTag - variable: ui.imageTag
default: default:
description: "UI Image Tag" description: "UI Image Tag"
label: "UI Image Tag" label: "Tag (e.g. latest)"
required: false required: false
type: string type: string
group: "Advanced" group: "Advanced"
- variable: imagePullPolicy
default: IfNotPresent
description: "Image Pull Policy"
label: "Image Pull Policy"
required: false
type: enum
options:
- IfNotPresent
- Always
- Never
group: "Advanced"
- variable: logLevel - variable: logLevel
default: "1" default: "1"
description: "s3gw pod log level, lower values are less verbose" description: "s3gw pod log level, lower values are less verbose"

View File

@ -0,0 +1,11 @@
{{- if (empty .Values.publicDomain) }}
{{- fail "Please provide a value for `.Values.publicDomain`." }}
{{- end }}
{{- if (and .Values.ui.enabled (empty .Values.ui.publicDomain)) }}
{{- fail "Please provide a value for `.Values.ui.publicDomain`." }}
{{- end }}
{{- if (and .Values.useExistingSecret (empty .Values.defaultUserCredentialsSecret)) }}
{{- fail "Please provide a secret name for `.Values.defaultUserCredentialSecret`" }}
{{- end }}

View File

@ -8,6 +8,9 @@ metadata:
{{ include "s3gw.labels" . | indent 4}} {{ include "s3gw.labels" . | indent 4}}
data: data:
{{- if .Values.ui.enabled }} {{- if .Values.ui.enabled }}
{{- if or .Values.useCertManager .Values.tls.publicDomain.crt }}
RGW_SERVICE_URL: 'https://{{ .Values.serviceName }}.{{ .Values.publicDomain }}' RGW_SERVICE_URL: 'https://{{ .Values.serviceName }}.{{ .Values.publicDomain }}'
{{- else}}
RGW_SERVICE_URL: 'http://{{ .Values.serviceName }}.{{ .Values.publicDomain }}'
{{- end }}
{{- end }} {{- end }}
RGW_DEFAULT_USER_SYSTEM: "1"

View File

@ -39,14 +39,35 @@ spec:
- "--debug-rgw" - "--debug-rgw"
- '{{ .Values.logLevel }}' - '{{ .Values.logLevel }}'
- "--rgw_frontends" - "--rgw_frontends"
{{- if or .Values.useCertManager .Values.tls.publicDomain.crt }}
- "beast port=7480 ssl_port=7481 - "beast port=7480 ssl_port=7481
ssl_certificate=/s3gw-cluster-ip-tls/tls.crt ssl_certificate=/s3gw-cluster-ip-tls/tls.crt
ssl_private_key=/s3gw-cluster-ip-tls/tls.key" ssl_private_key=/s3gw-cluster-ip-tls/tls.key"
{{ else }}
- "beast port=7480"
{{ end }}
{{- range $.Values.rgwCustomArgs }}
- {{ . | quote}}
{{- end }}
env:
{{- range $.Values.rgwCustomEnvs }}
{{- if (regexMatch "[^=]+=[^=]+" .) }}
{{- $tokens := split "=" . }}
- name: {{ $tokens._0 }}
value: {{ $tokens._1 | quote}}
{{- else if (regexMatch "^[^=]" .) }}
- name: {{ . }}
{{- else }}
{{- fail (print ".Values.rgwCustomEnvs contains an invalid entry: " .) }}
{{- end }}
{{- end }}
ports: ports:
- containerPort: 7480 - containerPort: 7480
name: s3 name: s3
{{- if or .Values.useCertManager .Values.tls.publicDomain.crt }}
- containerPort: 7481 - containerPort: 7481
name: s3-tls name: s3-tls
{{ end }}
envFrom: envFrom:
- secretRef: - secretRef:
name: {{ .Values.defaultUserCredentialsSecret }} name: {{ .Values.defaultUserCredentialsSecret }}

View File

@ -8,10 +8,12 @@ ingress:
useCertManager: true useCertManager: true
# cert-manager namespace # cert-manager namespace
certManagerNamespace: cert-manager certManagerNamespace: cert-manager
# The name of the predefined TLS issuer to use (s3gw-issuer, s3gw-letsencrypt-issuer). # The name of the predefined TLS issuer to use (s3gw-issuer,
# s3gw-letsencrypt-issuer).
tlsIssuer: "s3gw-issuer" tlsIssuer: "s3gw-issuer"
# The email address you are planning to use for getting notifications # The email address you are planning to use for getting notifications
# about your certificates. Fill this if you are using the 's3gw-letsencrypt-issuer'. # about your certificates. Fill this if you are using the
# 's3gw-letsencrypt-issuer'.
email: "mail@example.com" email: "mail@example.com"
# When not using cert-manager you have to manually specify # When not using cert-manager you have to manually specify
@ -45,7 +47,7 @@ ui:
# 'serviceName' is the service name of the S3GW user interface. # 'serviceName' is the service name of the S3GW user interface.
serviceName: "s3gw-ui" serviceName: "s3gw-ui"
# 'publicDomain' is the public domain of the UI Service used by the Ingress. # 'publicDomain' is the public domain of the UI Service used by the Ingress.
publicDomain: "fe.127.0.0.1.omg.howdoi.website" publicDomain: ""
# --- Developer Options --- # --- Developer Options ---
# imageName: "aquarist-labs/s3gw-ui" # imageName: "aquarist-labs/s3gw-ui"
@ -61,15 +63,20 @@ useExistingSecret: false
# 'defaultUserCredentialsSecret' the name of the secret containing # 'defaultUserCredentialsSecret' the name of the secret containing
# the S3 Access Key and the S3 Secret Key for the default user. # the S3 Access Key and the S3 Secret Key for the default user.
defaultUserCredentialsSecret: "s3gw-creds" defaultUserCredentialsSecret: "s3gw-creds"
# 'accessKey' is the S3 Access Key; the value is used when useExistingSecret: false. # 'accessKey' is the S3 Access Key; the value is used when
# Set this as the empty string to make the Chart to compute a random alphanumeric value. # `useExistingSecret: false`.
# Set this as the empty string to make the Chart to compute a random
# alphanumeric value.
accessKey: "test" accessKey: "test"
# 'secretKey' is the S3 Secret Key; the value is used when useExistingSecret: false # 'secretKey' is the S3 Secret Key; the value is used when
# Set this as the empty string to make the Chart to compute a random alphanumeric value. # `useExistingSecret: false`.
# Set this as the empty string to make the Chart to compute a random
# alphanumeric value.
secretKey: "test" secretKey: "test"
# 'publicDomain' is the public domain of S3GW used by the Ingress # 'publicDomain' is the public domain of S3GW used by the Ingress
publicDomain: "be.127.0.0.1.omg.howdoi.website" publicDomain: ""
# 'privateDomain' is the private domain of S3GW used inside the Kubernetes cluster # 'privateDomain' is the private domain of S3GW used inside the Kubernetes
# cluster
privateDomain: "svc.cluster.local" privateDomain: "svc.cluster.local"
# Backing storage. # Backing storage.
@ -99,3 +106,43 @@ storageClass:
# Valid values are positive integers starting from 0. # Valid values are positive integers starting from 0.
# Higher values are more verbose. # Higher values are more verbose.
logLevel: "1" logLevel: "1"
# --- Advanced Configuration ---
# radosgw's custom arguments for the s3gw pod
#
# With 'helm install/update' you can specify custom arguments
# for the radosgw process using the '--set' option:
#
# --set "rgwCustomArgs={--foo,bar,--color,green,--org,SUSE,--flag-param-foo}"
#
# The same effect could be obtained modifying rgwCustomArgs
# directly in the values.yaml:
#
# rgwCustomArgs:
# - --foo
# - bar
# - --color
# - green
# - --org
# - SUSE
# - --flag-param-foo
#
rgwCustomArgs: []
# radosgw's custom environment variables for the s3gw pod
#
# With 'helm install/update' you can specify custom environment variables
# for the radosgw process using the '--set' option:
#
# --set "rgwCustomEnvs={ENV_1=ON,ENV_2=OFF,ENV_3}"
#
# The same effect could be obtained modifying rgwCustomEnvs
# directly in the values.yaml:
#
# rgwCustomEnvs:
# - ENV_1=ON
# - ENV_2=OFF
# - ENV_3
#
rgwCustomEnvs: []

View File

@ -35,4 +35,4 @@ name: kafka
sources: sources:
- https://github.com/bitnami/containers/tree/main/bitnami/kafka - https://github.com/bitnami/containers/tree/main/bitnami/kafka
- https://kafka.apache.org/ - https://kafka.apache.org/
version: 22.0.0 version: 22.0.1

View File

@ -64,7 +64,7 @@ type: servicebinding.io/kafka
data: data:
provider: {{ print "bitnami" | b64enc | quote }} provider: {{ print "bitnami" | b64enc | quote }}
type: {{ print "kafka" | b64enc | quote }} type: {{ print "kafka" | b64enc | quote }}
user: {{ index $clientUsers $i | b64enc | quote }} username: {{ index $clientUsers $i | b64enc | quote }}
password: {{ index $clientPasswords $i | b64enc | quote }} password: {{ index $clientPasswords $i | b64enc | quote }}
host: {{ join "," $host | b64enc | quote }} host: {{ join "," $host | b64enc | quote }}
port: {{ print $port | b64enc | quote }} port: {{ print $port | b64enc | quote }}

View File

@ -32,4 +32,4 @@ sources:
- https://github.com/bitnami/containers/tree/main/bitnami/mariadb - https://github.com/bitnami/containers/tree/main/bitnami/mariadb
- https://github.com/prometheus/mysqld_exporter - https://github.com/prometheus/mysqld_exporter
- https://mariadb.org - https://mariadb.org
version: 12.1.1 version: 12.1.3

View File

@ -84,7 +84,7 @@ The command removes all the Kubernetes components associated with the chart and
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| `image.registry` | MariaDB image registry | `docker.io` | | `image.registry` | MariaDB image registry | `docker.io` |
| `image.repository` | MariaDB image repository | `bitnami/mariadb` | | `image.repository` | MariaDB image repository | `bitnami/mariadb` |
| `image.tag` | MariaDB image tag (immutable tags are recommended) | `10.11.2-debian-11-r20` | | `image.tag` | MariaDB image tag (immutable tags are recommended) | `10.11.2-debian-11-r21` |
| `image.digest` | MariaDB image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `image.digest` | MariaDB image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | MariaDB image pull policy | `IfNotPresent` | | `image.pullPolicy` | MariaDB image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -306,7 +306,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` | | `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` | | `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` | | `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r109` | | `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r110` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` | | `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -320,7 +320,7 @@ The command removes all the Kubernetes components associated with the chart and
| `metrics.enabled` | Start a side-car prometheus exporter | `false` | | `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Exporter image registry | `docker.io` | | `metrics.image.registry` | Exporter image registry | `docker.io` |
| `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` | | `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` |
| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r111` | | `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r112` |
| `metrics.image.digest` | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `metrics.image.digest` | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` | | `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |

View File

@ -58,7 +58,7 @@ data:
type: {{ print "mysql" | b64enc | quote }} type: {{ print "mysql" | b64enc | quote }}
host: {{ print $host | b64enc | quote }} host: {{ print $host | b64enc | quote }}
port: {{ print $port | b64enc | quote }} port: {{ print $port | b64enc | quote }}
user: {{ print "root" | b64enc | quote }} username: {{ print "root" | b64enc | quote }}
password: {{ print $rootPassword | b64enc | quote }} password: {{ print $rootPassword | b64enc | quote }}
uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }} uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }}
@ -83,7 +83,7 @@ data:
type: {{ print "mysql" | b64enc | quote }} type: {{ print "mysql" | b64enc | quote }}
host: {{ print $host | b64enc | quote }} host: {{ print $host | b64enc | quote }}
port: {{ print $port | b64enc | quote }} port: {{ print $port | b64enc | quote }}
user: {{ print .Values.auth.username | b64enc | quote }} username: {{ print .Values.auth.username | b64enc | quote }}
{{- if $database }} {{- if $database }}
database: {{ print $database | b64enc | quote }} database: {{ print $database | b64enc | quote }}
{{- end }} {{- end }}

View File

@ -87,7 +87,7 @@ serviceBindings:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/mariadb repository: bitnami/mariadb
tag: 10.11.2-debian-11-r20 tag: 10.11.2-debian-11-r21
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -1001,7 +1001,7 @@ volumePermissions:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/bitnami-shell repository: bitnami/bitnami-shell
tag: 11-debian-11-r109 tag: 11-debian-11-r110
digest: "" digest: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
@ -1037,7 +1037,7 @@ metrics:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/mysqld-exporter repository: bitnami/mysqld-exporter
tag: 0.14.0-debian-11-r111 tag: 0.14.0-debian-11-r112
digest: "" digest: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace) ## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)

View File

@ -1,6 +1,6 @@
dependencies: dependencies:
- name: common - name: common
repository: https://charts.bitnami.com/bitnami repository: oci://registry-1.docker.io/bitnamicharts
version: 2.2.4 version: 2.2.4
digest: sha256:634d19e9b7f6e4c07d7c04a0161ab96b3f83335ebdd70b35b952319ef0a2586b digest: sha256:829fc25cbbb396161e735c83d152d74a8b3a82d07f08866b885b812d30b920df
generated: "2023-04-01T13:13:50.11325071Z" generated: "2023-04-20T09:34:54.353267+02:00"

View File

@ -30,4 +30,4 @@ name: mysql
sources: sources:
- https://github.com/bitnami/containers/tree/main/bitnami/mysql - https://github.com/bitnami/containers/tree/main/bitnami/mysql
- https://mysql.com - https://mysql.com
version: 9.7.2 version: 9.8.2

View File

@ -11,8 +11,7 @@ Trademarks: This software listing is packaged by Bitnami. The respective tradema
## TL;DR ## TL;DR
```console ```console
helm repo add my-repo https://charts.bitnami.com/bitnami helm install my-release oci://registry-1.docker.io/bitnamicharts/mysql
helm install my-release my-repo/mysql
``` ```
## Introduction ## Introduction
@ -32,8 +31,7 @@ Bitnami charts can be used with [Kubeapps](https://kubeapps.dev/) for deployment
To install the chart with the release name `my-release`: To install the chart with the release name `my-release`:
```console ```console
helm repo add my-repo https://charts.bitnami.com/bitnami helm install my-release oci://registry-1.docker.io/bitnamicharts/mysql
helm install my-release my-repo/mysql
``` ```
These commands deploy MySQL on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation. These commands deploy MySQL on the Kubernetes cluster in the default configuration. The [Parameters](#parameters) section lists the parameters that can be configured during installation.
@ -83,7 +81,7 @@ The command removes all the Kubernetes components associated with the chart and
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
| `image.registry` | MySQL image registry | `docker.io` | | `image.registry` | MySQL image registry | `docker.io` |
| `image.repository` | MySQL image repository | `bitnami/mysql` | | `image.repository` | MySQL image repository | `bitnami/mysql` |
| `image.tag` | MySQL image tag (immutable tags are recommended) | `8.0.33-debian-11-r0` | | `image.tag` | MySQL image tag (immutable tags are recommended) | `8.0.33-debian-11-r3` |
| `image.digest` | MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `image.digest` | MySQL image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `image.pullPolicy` | MySQL image pull policy | `IfNotPresent` | | `image.pullPolicy` | MySQL image pull policy | `IfNotPresent` |
| `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -307,7 +305,7 @@ The command removes all the Kubernetes components associated with the chart and
| `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` | | `volumePermissions.enabled` | Enable init container that changes the owner and group of the persistent volume(s) mountpoint to `runAsUser:fsGroup` | `false` |
| `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` | | `volumePermissions.image.registry` | Init container volume-permissions image registry | `docker.io` |
| `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` | | `volumePermissions.image.repository` | Init container volume-permissions image repository | `bitnami/bitnami-shell` |
| `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r108` | | `volumePermissions.image.tag` | Init container volume-permissions image tag (immutable tags are recommended) | `11-debian-11-r110` |
| `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `volumePermissions.image.digest` | Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` | | `volumePermissions.image.pullPolicy` | Init container volume-permissions image pull policy | `IfNotPresent` |
| `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `volumePermissions.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -320,7 +318,7 @@ The command removes all the Kubernetes components associated with the chart and
| `metrics.enabled` | Start a side-car prometheus exporter | `false` | | `metrics.enabled` | Start a side-car prometheus exporter | `false` |
| `metrics.image.registry` | Exporter image registry | `docker.io` | | `metrics.image.registry` | Exporter image registry | `docker.io` |
| `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` | | `metrics.image.repository` | Exporter image repository | `bitnami/mysqld-exporter` |
| `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r109` | | `metrics.image.tag` | Exporter image tag (immutable tags are recommended) | `0.14.0-debian-11-r112` |
| `metrics.image.digest` | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` | | `metrics.image.digest` | Exporter image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag | `""` |
| `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` | | `metrics.image.pullPolicy` | Exporter image pull policy | `IfNotPresent` |
| `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` | | `metrics.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
@ -369,7 +367,7 @@ Specify each parameter using the `--set key=value[,key=value]` argument to `helm
```console ```console
helm install my-release \ helm install my-release \
--set auth.rootPassword=secretpassword,auth.database=app_database \ --set auth.rootPassword=secretpassword,auth.database=app_database \
my-repo/mysql oci://registry-1.docker.io/bitnamicharts/mysql
``` ```
The above command sets the MySQL `root` account password to `secretpassword`. Additionally it creates a database named `app_database`. The above command sets the MySQL `root` account password to `secretpassword`. Additionally it creates a database named `app_database`.
@ -379,7 +377,7 @@ The above command sets the MySQL `root` account password to `secretpassword`. Ad
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```console ```console
helm install my-release -f values.yaml my-repo/mysql helm install my-release -f values.yaml oci://registry-1.docker.io/bitnamicharts/mysql
``` ```
> **Tip**: You can use the default [values.yaml](values.yaml) > **Tip**: You can use the default [values.yaml](values.yaml)
@ -470,7 +468,7 @@ Find more information about how to deal with common errors related to Bitnami's
It's necessary to set the `auth.rootPassword` parameter when upgrading for readiness/liveness probes to work properly. When you install this chart for the first time, some notes will be displayed providing the credentials you must use under the 'Administrator credentials' section. Please note down the password and run the command below to upgrade your chart: It's necessary to set the `auth.rootPassword` parameter when upgrading for readiness/liveness probes to work properly. When you install this chart for the first time, some notes will be displayed providing the credentials you must use under the 'Administrator credentials' section. Please note down the password and run the command below to upgrade your chart:
```console ```console
helm upgrade my-release my-repo/mysql --set auth.rootPassword=[ROOT_PASSWORD] helm upgrade my-release oci://registry-1.docker.io/bitnamicharts/mysql --set auth.rootPassword=[ROOT_PASSWORD]
``` ```
| Note: you need to substitute the placeholder _[ROOT_PASSWORD]_ with the value obtained in the installation notes. | Note: you need to substitute the placeholder _[ROOT_PASSWORD]_ with the value obtained in the installation notes.
@ -513,7 +511,7 @@ Consequences:
- Reuse the PVC used to hold the master data on your previous release. To do so, use the `primary.persistence.existingClaim` parameter. The following example assumes that the release name is `mysql`: - Reuse the PVC used to hold the master data on your previous release. To do so, use the `primary.persistence.existingClaim` parameter. The following example assumes that the release name is `mysql`:
```console ```console
helm install mysql my-repo/mysql --set auth.rootPassword=[ROOT_PASSWORD] --set primary.persistence.existingClaim=[EXISTING_PVC] helm install mysql oci://registry-1.docker.io/bitnamicharts/mysql --set auth.rootPassword=[ROOT_PASSWORD] --set primary.persistence.existingClaim=[EXISTING_PVC]
``` ```
| Note: you need to substitute the placeholder _[EXISTING_PVC]_ with the name of the PVC used on your previous release, and _[ROOT_PASSWORD]_ with the root password used in your previous release. | Note: you need to substitute the placeholder _[EXISTING_PVC]_ with the name of the PVC used on your previous release, and _[ROOT_PASSWORD]_ with the root password used in your previous release.

View File

@ -43,7 +43,7 @@ data:
type: {{ print "mysql" | b64enc | quote }} type: {{ print "mysql" | b64enc | quote }}
host: {{ print $host | b64enc | quote }} host: {{ print $host | b64enc | quote }}
port: {{ print $port | b64enc | quote }} port: {{ print $port | b64enc | quote }}
user: {{ print "root" | b64enc | quote }} username: {{ print "root" | b64enc | quote }}
password: {{ print $rootPassword | b64enc | quote }} password: {{ print $rootPassword | b64enc | quote }}
uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }} uri: {{ printf "mysql://root:%s@%s:%s" $rootPassword $host $port | b64enc | quote }}
@ -68,7 +68,7 @@ data:
type: {{ print "mysql" | b64enc | quote }} type: {{ print "mysql" | b64enc | quote }}
host: {{ print $host | b64enc | quote }} host: {{ print $host | b64enc | quote }}
port: {{ print $port | b64enc | quote }} port: {{ print $port | b64enc | quote }}
user: {{ print .Values.auth.username | b64enc | quote }} username: {{ print .Values.auth.username | b64enc | quote }}
{{- if $database }} {{- if $database }}
database: {{ print $database | b64enc | quote }} database: {{ print $database | b64enc | quote }}
{{- end }} {{- end }}

View File

@ -82,7 +82,7 @@ diagnosticMode:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/mysql repository: bitnami/mysql
tag: 8.0.33-debian-11-r0 tag: 8.0.33-debian-11-r3
digest: "" digest: ""
## Specify a imagePullPolicy ## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
@ -1008,7 +1008,7 @@ volumePermissions:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/bitnami-shell repository: bitnami/bitnami-shell
tag: 11-debian-11-r108 tag: 11-debian-11-r110
digest: "" digest: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets. ## Optionally specify an array of imagePullSecrets.
@ -1042,7 +1042,7 @@ metrics:
image: image:
registry: docker.io registry: docker.io
repository: bitnami/mysqld-exporter repository: bitnami/mysqld-exporter
tag: 0.14.0-debian-11-r109 tag: 0.14.0-debian-11-r112
digest: "" digest: ""
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets. ## Optionally specify an array of imagePullSecrets.

View File

@ -32,4 +32,4 @@ name: postgresql
sources: sources:
- https://github.com/bitnami/containers/tree/main/bitnami/postgresql - https://github.com/bitnami/containers/tree/main/bitnami/postgresql
- https://www.postgresql.org/ - https://www.postgresql.org/
version: 12.4.1 version: 12.4.2

View File

@ -68,7 +68,7 @@ data:
type: {{ print "postgresql" | b64enc | quote }} type: {{ print "postgresql" | b64enc | quote }}
host: {{ $host | b64enc | quote }} host: {{ $host | b64enc | quote }}
port: {{ $port | b64enc | quote }} port: {{ $port | b64enc | quote }}
user: {{ print "postgres" | b64enc | quote }} username: {{ print "postgres" | b64enc | quote }}
database: {{ print "postgres" | b64enc | quote }} database: {{ print "postgres" | b64enc | quote }}
password: {{ $postgresPassword | b64enc | quote }} password: {{ $postgresPassword | b64enc | quote }}
uri: {{ printf "postgresql://postgres:%s@%s:%s/postgres" $postgresPassword $host $port | b64enc | quote }} uri: {{ printf "postgresql://postgres:%s@%s:%s/postgres" $postgresPassword $host $port | b64enc | quote }}
@ -93,7 +93,7 @@ data:
type: {{ print "postgresql" | b64enc | quote }} type: {{ print "postgresql" | b64enc | quote }}
host: {{ $host | b64enc | quote }} host: {{ $host | b64enc | quote }}
port: {{ $port | b64enc | quote }} port: {{ $port | b64enc | quote }}
user: {{ $customUser | b64enc | quote }} username: {{ $customUser | b64enc | quote }}
password: {{ $password | b64enc | quote }} password: {{ $password | b64enc | quote }}
{{- if $database }} {{- if $database }}
database: {{ $database | b64enc | quote }} database: {{ $database | b64enc | quote }}

View File

@ -6,10 +6,10 @@ apiVersion: v2
appVersion: 0.2.1 appVersion: 0.2.1
dependencies: dependencies:
- name: standard-defs - name: standard-defs
repository: file://./charts/standard-defs repository: https://btp-charts-stable.s3.amazonaws.com/charts/
version: ~0.1.0 version: ~0.1.0
- name: sawtooth - name: sawtooth
repository: file://./charts/sawtooth repository: https://btp-charts-stable.s3.amazonaws.com/charts/
version: ~0.2.0 version: ~0.2.0
description: 'Chronicle is an open-source, blockchain-backed, domain-agnostic provenance description: 'Chronicle is an open-source, blockchain-backed, domain-agnostic provenance
product. Chronicle makes it easy for users to record and query immutable provenance product. Chronicle makes it easy for users to record and query immutable provenance
@ -22,4 +22,4 @@ keywords:
- blockchain - blockchain
name: chronicle name: chronicle
type: application type: application
version: 0.1.6 version: 0.1.7

View File

@ -19,6 +19,18 @@ spec:
serviceAccountName: {{ include "lib.serviceAccountName" . }} serviceAccountName: {{ include "lib.serviceAccountName" . }}
affinity: {{ include "lib.safeToYaml" .Values.affinity | nindent 8 }} affinity: {{ include "lib.safeToYaml" .Values.affinity | nindent 8 }}
initContainers: initContainers:
- name: chronicle-permissions
image: busybox:1.36
command: [ "sh", "-c"]
args:
- |
chown -R 999:999 /var/lib/chronicle || true
volumeMounts:
- name: chronicle-config
mountPath: /etc/chronicle/config/
- name: chronicle-secrets
mountPath: /var/lib/chronicle/secrets/
readOnly: false
- name: chronicle-keystore - name: chronicle-keystore
{{- include "lib.image" (dict "imageRoot" .Values.image "global" .Values.global ) | nindent 10 }} {{- include "lib.image" (dict "imageRoot" .Values.image "global" .Values.global ) | nindent 10 }}
command: [ "bash", "-c"] command: [ "bash", "-c"]
@ -72,7 +84,7 @@ spec:
-c /etc/chronicle/config/config.toml \ -c /etc/chronicle/config/config.toml \
--console-logging json \ --console-logging json \
--sawtooth tcp://{{ include "chronicle.sawtooth.service" . }}:{{ include "chronicle.sawtooth.sawcomp" . }} \ --sawtooth tcp://{{ include "chronicle.sawtooth.service" . }}:{{ include "chronicle.sawtooth.sawcomp" . }} \
serve-graphql --interface 0.0.0.0:{{ .Values.port}} {{ if .Values.webUi }} --open {{ end }} serve-api --interface 0.0.0.0:{{ .Values.port}} {{ if .Values.webUi }} --open {{ end }}
env: {{ include "lib.safeToYaml" .Values.env | nindent 12 }} env: {{ include "lib.safeToYaml" .Values.env | nindent 12 }}
- name: RUST_LOG - name: RUST_LOG
value: {{ .Values.logLevel }} value: {{ .Values.logLevel }}

View File

@ -4,7 +4,7 @@ annotations:
catalog.cattle.io/kube-version: '>=1.15-0' catalog.cattle.io/kube-version: '>=1.15-0'
catalog.cattle.io/release-name: confluent-for-kubernetes catalog.cattle.io/release-name: confluent-for-kubernetes
apiVersion: v1 apiVersion: v1
appVersion: 2.5.2 appVersion: 2.6.0
description: A Helm chart to deploy Confluent for Kubernetes description: A Helm chart to deploy Confluent for Kubernetes
home: https://www.confluent.io/ home: https://www.confluent.io/
icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png icon: https://cdn.confluent.io/wp-content/uploads/seo-logo-meadow.png
@ -19,4 +19,4 @@ maintainers:
name: confluent-for-kubernetes name: confluent-for-kubernetes
sources: sources:
- https://docs.confluent.io/current/index.html - https://docs.confluent.io/current/index.html
version: 0.581.55 version: 0.771.13

View File

@ -1482,19 +1482,22 @@ spec:
where podId starts from `0` to `replicaCount -1`. This is where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.' inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties: properties:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -1653,14 +1656,16 @@ spec:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:

View File

@ -968,19 +968,22 @@ spec:
where podId starts from `0` to `replicaCount -1`. This is where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.' inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties: properties:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -1139,14 +1142,16 @@ spec:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:

View File

@ -876,19 +876,22 @@ spec:
where podId starts from `0` to `replicaCount -1`. This is where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.' inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties: properties:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -1047,14 +1050,16 @@ spec:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:

View File

@ -981,6 +981,9 @@ spec:
externalAccess: externalAccess:
description: externalAccess specifies the configurations for the endpoints description: externalAccess specifies the configurations for the endpoints
and services to make the ksqlDB accessible from outside the cluster. and services to make the ksqlDB accessible from outside the cluster.
When `spec.listeners` is configured, configuring `spec.externalAccess`
is not allowed. Please configure `spec.listeners.external.externalAccess`
instead".
properties: properties:
loadBalancer: loadBalancer:
description: loadBalancer specifies the configuration to create description: loadBalancer specifies the configuration to create
@ -995,19 +998,22 @@ spec:
where podId starts from `0` to `replicaCount -1`. This is where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.' inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties: properties:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -1166,14 +1172,16 @@ spec:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -1472,6 +1480,542 @@ spec:
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string type: string
type: object type: object
listeners:
description: listeners specify the listeners configurations.
properties:
external:
description: external specifies the Confluent component external
listener.
properties:
externalAccess:
description: externalAccess defines the external access configuration
for the Confluent component.
properties:
loadBalancer:
description: loadBalancer specifies the configuration
to create a Kubernetes load balancer service.
properties:
advertisedURL:
description: 'advertisedURL specifies the configuration
for advertised listener per pod. It is only supported
for MDS currently. If it is enabled, instead of
using internal endpoint, the MDS advertised listener
for each broker will be set to: `<httpSchema>://<advertisedUrl.prefix><podId>.<domain>`
where podId starts from `0` to `replicaCount -1`.
This is only recommended if you cannot add internal
SANs to the TLS certificates for MDS and the external
DNS must be resolved inside the Kubernetes cluster.
This configuration will not take effect if MDS enabled
dual listener setup.'
properties:
enabled:
description: enabled indicates whether to set
the MDS advertised listener url with external
endpoint for each broker. Has no effect with
Zookeeper, which will always create a listener
per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix
for MDS/Zookeeper advertised endpoint. If not
configured, it uses `b` as default prefix for
MDS, such as `b#.domain` where `#` will start
from `0` to `replicaCount -1`. It uses 'zookeeper'
as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain is the domain name of the component
cluster.
minLength: 1
type: string
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are
`Local` and `Cluster`.
enum:
- Local
- Cluster
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
loadBalancerSourceRanges:
description: loadBalancerSourceRanges specify the
source ranges.
items:
type: string
type: array
port:
description: port specifies the external port for
the client consumption. If not configured, the same
internal/external port is configured for the component.
Information about the port can be retrieved through
the status API.
format: int32
type: integer
prefix:
description: prefix specify the prefix for the given
domain. The default value is the name of the cluster.
minLength: 1
type: string
servicePorts:
description: servicePorts specify the user-provided
service port(s).
items:
description: ServicePort contains information on
service's port.
properties:
appProtocol:
description: The application protocol for this
port. This field follows standard Kubernetes
label syntax. Un-prefixed names are reserved
for IANA standard service names (as per RFC-6335
and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed
names such as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the
service. This must be a DNS_LABEL. All ports
within a ServiceSpec must have unique names.
When considering the endpoints for a Service,
this must match the 'name' field in the EndpointPort.
Optional if only one ServicePort is defined
on this service.
type: string
nodePort:
description: 'The port on each node on which
this service is exposed when type is NodePort
or LoadBalancer. Usually assigned by the
system. If a value is specified, in-range,
and not in use it will be used, otherwise
the operation will fail. If not specified,
a port will be allocated if this Service requires
one. If this field is specified when creating
a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing
type from NodePort to ClusterIP). More info:
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by
this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port.
Supports "TCP", "UDP", and "SCTP". Default
is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to
access on the pods targeted by the service.
Number must be in the range 1 to 65535. Name
must be an IANA_SVC_NAME. If this is a string,
it will be looked up as a named port in the
target Pod''s container ports. If this is
not specified, the value of the ''port'' field
is used (an identity map). This field is ignored
for services with clusterIP=None, and should
be omitted or set equal to the ''port'' field.
More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes
session affinity. The valid options are `ClientIP`
and `None`. `ClientIP` enables the client IP-based
session affinity. The default value is `None`. More
info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations
of Client IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the
seconds of ClientIP type session sticky
time. The value must be >0 && <=86400(for
1 day) if ServiceAffinity == "ClientIP".
Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- domain
type: object
nodePort:
description: nodePort specifies the configuration to create
a Kubernetes node port service.
properties:
advertisedURL:
description: advertisedURL specifies the configuration
for advertised listener per pod. It is only supported
for MDS currently. If it is enabled, instead of
using internal endpoint, the MDS advertised listener
for each broker will be set to `<httpSchema>://<host>:<nodePortOffset
+ podId + 1>, where`podId` starts from `0` to `replicaCount
- 1`. This is only recommended if you cannot add
internal SANs to the TLS certificates for MDS and
the external DNS must be resolved inside the Kubernetes
cluster.
properties:
enabled:
description: enabled indicates whether to set
the MDS advertised listener url with external
endpoint for each broker. Has no effect with
Zookeeper, which will always create a listener
per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix
for MDS/Zookeeper advertised endpoint. If not
configured, it uses `b` as default prefix for
MDS, such as `b#.domain` where `#` will start
from `0` to `replicaCount -1`. It uses 'zookeeper'
as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are
`Local` and `Cluster`.
enum:
- Local
- Cluster
type: string
host:
description: host defines the host name of the cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
nodePortOffset:
description: nodePortOffset specifies the starting
offset of the node ports. The port numbers go in
ascending order with respect to the replicas count.
NodePort service creation fails if the node port
is not in the range supported by the Kubernetes
API server. The default Kubernetes Node Port range
is `30000` - `32762`.
format: int32
minimum: 0
type: integer
servicePorts:
description: servicePorts specify user-provided service
port(s). For Kafka with the nodePort type, this
setting is only applied to Kafka bootstrap service.
items:
description: ServicePort contains information on
service's port.
properties:
appProtocol:
description: The application protocol for this
port. This field follows standard Kubernetes
label syntax. Un-prefixed names are reserved
for IANA standard service names (as per RFC-6335
and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed
names such as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the
service. This must be a DNS_LABEL. All ports
within a ServiceSpec must have unique names.
When considering the endpoints for a Service,
this must match the 'name' field in the EndpointPort.
Optional if only one ServicePort is defined
on this service.
type: string
nodePort:
description: 'The port on each node on which
this service is exposed when type is NodePort
or LoadBalancer. Usually assigned by the
system. If a value is specified, in-range,
and not in use it will be used, otherwise
the operation will fail. If not specified,
a port will be allocated if this Service requires
one. If this field is specified when creating
a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing
type from NodePort to ClusterIP). More info:
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by
this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port.
Supports "TCP", "UDP", and "SCTP". Default
is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to
access on the pods targeted by the service.
Number must be in the range 1 to 65535. Name
must be an IANA_SVC_NAME. If this is a string,
it will be looked up as a named port in the
target Pod''s container ports. If this is
not specified, the value of the ''port'' field
is used (an identity map). This field is ignored
for services with clusterIP=None, and should
be omitted or set equal to the ''port'' field.
More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes
session affinity. The valid options are `ClientIP`
and `None`. `ClientIP` enables the client IP-based
session affinity. The default value is `None`. More
info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations
of Client IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the
seconds of ClientIP type session sticky
time. The value must be >0 && <=86400(for
1 day) if ServiceAffinity == "ClientIP".
Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- host
- nodePortOffset
type: object
route:
description: route specifies the configuration to create
a route service in OpenShift.
properties:
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain specifies the domain name of the
Confluent component cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
prefix:
description: prefix specifies the component prefix
when configured for the domain. The default value
is the name of the cluster.
minLength: 1
type: string
wildcardPolicy:
description: wildcardPolicy allows you to define a
route that covers all hosts within a domain. Valid
options are `Subdomain` and `None`. The default
value is `None`.
enum:
- Subdomain
- None
type: string
required:
- domain
type: object
type:
description: type specifies the Kubernetes external service
for the component. Valid options are `loadBalancer`,
`nodePort`, and `route`.
enum:
- loadBalancer
- nodePort
- route
minLength: 1
type: string
required:
- type
type: object
tls:
description: tls specifies the TLS configuration for the listener.
properties:
directoryPathInContainer:
description: directoryPathInContainer specifies the directory
path in the container where `keystore.jks`, `truststore.jks`,
and `jksPassword.txt` keys are mounted. `truststore.jks`
is not configured and can be ignored when the `ignoreTrustStoreConfig`
field is set to `true`.
minLength: 1
type: string
enabled:
description: enabled specifies to enable the TLS configuration
for the Confluent component.
type: boolean
ignoreTrustStoreConfig:
description: ignoreTrustStoreConfig indicates whether
to ignore the truststore configuration for the Confluent
component.
type: boolean
jksPassword:
description: jksPassword references the secret containing
the JKS password.
properties:
secretRef:
description: 'secretRef references the name of the
secret containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- secretRef
type: object
secretRef:
description: 'secretRef references the secret containing
the certificates. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- enabled
type: object
type: object
internal:
description: internal specifies the Confluent component's internal
listener. This internal listener is for intra-communication
between the pods.
properties:
port:
description: port binds the given port to the internal listener.
If not configured, it will be defaulted to the component-specific
internal port. Port numbers lower than `9093` are reserved
by CFK.
format: int32
minimum: 9093
type: integer
tls:
description: tls specifies the TLS configuration for the listener.
properties:
directoryPathInContainer:
description: directoryPathInContainer specifies the directory
path in the container where `keystore.jks`, `truststore.jks`,
and `jksPassword.txt` keys are mounted. `truststore.jks`
is not configured and can be ignored when the `ignoreTrustStoreConfig`
field is set to `true`.
minLength: 1
type: string
enabled:
description: enabled specifies to enable the TLS configuration
for the Confluent component.
type: boolean
ignoreTrustStoreConfig:
description: ignoreTrustStoreConfig indicates whether
to ignore the truststore configuration for the Confluent
component.
type: boolean
jksPassword:
description: jksPassword references the secret containing
the JKS password.
properties:
secretRef:
description: 'secretRef references the name of the
secret containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- secretRef
type: object
secretRef:
description: 'secretRef references the secret containing
the certificates. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- enabled
type: object
type: object
type: object
metrics: metrics:
description: metrics specify the security settings for the metric description: metrics specify the security settings for the metric
services. services.
@ -4910,7 +5454,8 @@ spec:
type: boolean type: boolean
type: object type: object
tls: tls:
description: tls specifies the TLS configurations for the ksqlDB cluster. description: tls specifies the global TLS configurations for the ksqlDB
cluster.
properties: properties:
autoGeneratedCerts: autoGeneratedCerts:
description: autoGeneratedCerts specifies that the certificates description: autoGeneratedCerts specifies that the certificates
@ -5040,6 +5585,41 @@ spec:
dependency. dependency.
type: boolean type: boolean
type: object type: object
listeners:
additionalProperties:
description: ListenerStatus describes general information about
the listeners.
properties:
advertisedExternalEndpoints:
description: advertisedExternalEndpoints specifies other advertised
endpoints used, especially for Kafka.
items:
type: string
type: array
authenticationType:
description: authenticationType shows the authentication type
configured by the listener.
type: string
externalAccessType:
description: externalAccessType shows the external access type
used for the listener.
type: string
externalEndpoint:
description: externalEndpoint specifies the external endpoint
to connect to the Confluent component cluster.
type: string
internalEndpoint:
description: internalEndpoint specifies the internal endpoint
to connect to the Confluent component cluster.
type: string
tls:
description: tls shows whether TLS is configured for the listener.
type: boolean
type: object
description: listeners is a map of listener type and the status of
KsqlDB Listeners.
type: object
x-kubernetes-map-type: granular
observedGeneration: observedGeneration:
description: observedGeneration is the most recent generation observed description: observedGeneration is the most recent generation observed
for this Confluent component. for this Confluent component.

View File

@ -430,6 +430,9 @@ spec:
type: boolean type: boolean
externalAccess: externalAccess:
description: externalAccess specifies the external access configuration. description: externalAccess specifies the external access configuration.
When `spec.listeners` is configured, configuring `spec.externalAccess`
is not allowed. Please configure `spec.listeners.external.externalAccess`
instead".
properties: properties:
loadBalancer: loadBalancer:
description: loadBalancer specifies the configuration to create description: loadBalancer specifies the configuration to create
@ -444,19 +447,22 @@ spec:
where podId starts from `0` to `replicaCount -1`. This is where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.' inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties: properties:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -615,14 +621,16 @@ spec:
enabled: enabled:
description: enabled indicates whether to set the MDS description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each advertised listener url with external endpoint for each
broker. broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean type: boolean
prefix: prefix:
description: prefix specifies the broker prefix for MDS description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint if using loadBalancer external access. advertised endpoint. If not configured, it uses `b`
If not configured, it uses `b` as default prefix, such as default prefix for MDS, such as `b#.domain` where
as `b#.domain` where `#` will start from `0` to `replicaCount `#` will start from `0` to `replicaCount -1`. It uses
-1`. 'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1 minLength: 1
type: string type: string
required: required:
@ -922,6 +930,542 @@ spec:
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string type: string
type: object type: object
listeners:
description: listeners specify the listeners configurations.
properties:
external:
description: external specifies the Confluent component external
listener.
properties:
externalAccess:
description: externalAccess defines the external access configuration
for the Confluent component.
properties:
loadBalancer:
description: loadBalancer specifies the configuration
to create a Kubernetes load balancer service.
properties:
advertisedURL:
description: 'advertisedURL specifies the configuration
for advertised listener per pod. It is only supported
for MDS currently. If it is enabled, instead of
using internal endpoint, the MDS advertised listener
for each broker will be set to: `<httpSchema>://<advertisedUrl.prefix><podId>.<domain>`
where podId starts from `0` to `replicaCount -1`.
This is only recommended if you cannot add internal
SANs to the TLS certificates for MDS and the external
DNS must be resolved inside the Kubernetes cluster.
This configuration will not take effect if MDS enabled
dual listener setup.'
properties:
enabled:
description: enabled indicates whether to set
the MDS advertised listener url with external
endpoint for each broker. Has no effect with
Zookeeper, which will always create a listener
per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix
for MDS/Zookeeper advertised endpoint. If not
configured, it uses `b` as default prefix for
MDS, such as `b#.domain` where `#` will start
from `0` to `replicaCount -1`. It uses 'zookeeper'
as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain is the domain name of the component
cluster.
minLength: 1
type: string
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are
`Local` and `Cluster`.
enum:
- Local
- Cluster
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
loadBalancerSourceRanges:
description: loadBalancerSourceRanges specify the
source ranges.
items:
type: string
type: array
port:
description: port specifies the external port for
the client consumption. If not configured, the same
internal/external port is configured for the component.
Information about the port can be retrieved through
the status API.
format: int32
type: integer
prefix:
description: prefix specify the prefix for the given
domain. The default value is the name of the cluster.
minLength: 1
type: string
servicePorts:
description: servicePorts specify the user-provided
service port(s).
items:
description: ServicePort contains information on
service's port.
properties:
appProtocol:
description: The application protocol for this
port. This field follows standard Kubernetes
label syntax. Un-prefixed names are reserved
for IANA standard service names (as per RFC-6335
and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed
names such as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the
service. This must be a DNS_LABEL. All ports
within a ServiceSpec must have unique names.
When considering the endpoints for a Service,
this must match the 'name' field in the EndpointPort.
Optional if only one ServicePort is defined
on this service.
type: string
nodePort:
description: 'The port on each node on which
this service is exposed when type is NodePort
or LoadBalancer. Usually assigned by the
system. If a value is specified, in-range,
and not in use it will be used, otherwise
the operation will fail. If not specified,
a port will be allocated if this Service requires
one. If this field is specified when creating
a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing
type from NodePort to ClusterIP). More info:
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by
this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port.
Supports "TCP", "UDP", and "SCTP". Default
is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to
access on the pods targeted by the service.
Number must be in the range 1 to 65535. Name
must be an IANA_SVC_NAME. If this is a string,
it will be looked up as a named port in the
target Pod''s container ports. If this is
not specified, the value of the ''port'' field
is used (an identity map). This field is ignored
for services with clusterIP=None, and should
be omitted or set equal to the ''port'' field.
More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes
session affinity. The valid options are `ClientIP`
and `None`. `ClientIP` enables the client IP-based
session affinity. The default value is `None`. More
info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations
of Client IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the
seconds of ClientIP type session sticky
time. The value must be >0 && <=86400(for
1 day) if ServiceAffinity == "ClientIP".
Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- domain
type: object
nodePort:
description: nodePort specifies the configuration to create
a Kubernetes node port service.
properties:
advertisedURL:
description: advertisedURL specifies the configuration
for advertised listener per pod. It is only supported
for MDS currently. If it is enabled, instead of
using internal endpoint, the MDS advertised listener
for each broker will be set to `<httpSchema>://<host>:<nodePortOffset
+ podId + 1>, where`podId` starts from `0` to `replicaCount
- 1`. This is only recommended if you cannot add
internal SANs to the TLS certificates for MDS and
the external DNS must be resolved inside the Kubernetes
cluster.
properties:
enabled:
description: enabled indicates whether to set
the MDS advertised listener url with external
endpoint for each broker. Has no effect with
Zookeeper, which will always create a listener
per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix
for MDS/Zookeeper advertised endpoint. If not
configured, it uses `b` as default prefix for
MDS, such as `b#.domain` where `#` will start
from `0` to `replicaCount -1`. It uses 'zookeeper'
as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are
`Local` and `Cluster`.
enum:
- Local
- Cluster
type: string
host:
description: host defines the host name of the cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
nodePortOffset:
description: nodePortOffset specifies the starting
offset of the node ports. The port numbers go in
ascending order with respect to the replicas count.
NodePort service creation fails if the node port
is not in the range supported by the Kubernetes
API server. The default Kubernetes Node Port range
is `30000` - `32762`.
format: int32
minimum: 0
type: integer
servicePorts:
description: servicePorts specify user-provided service
port(s). For Kafka with the nodePort type, this
setting is only applied to Kafka bootstrap service.
items:
description: ServicePort contains information on
service's port.
properties:
appProtocol:
description: The application protocol for this
port. This field follows standard Kubernetes
label syntax. Un-prefixed names are reserved
for IANA standard service names (as per RFC-6335
and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed
names such as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the
service. This must be a DNS_LABEL. All ports
within a ServiceSpec must have unique names.
When considering the endpoints for a Service,
this must match the 'name' field in the EndpointPort.
Optional if only one ServicePort is defined
on this service.
type: string
nodePort:
description: 'The port on each node on which
this service is exposed when type is NodePort
or LoadBalancer. Usually assigned by the
system. If a value is specified, in-range,
and not in use it will be used, otherwise
the operation will fail. If not specified,
a port will be allocated if this Service requires
one. If this field is specified when creating
a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing
type from NodePort to ClusterIP). More info:
https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by
this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port.
Supports "TCP", "UDP", and "SCTP". Default
is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to
access on the pods targeted by the service.
Number must be in the range 1 to 65535. Name
must be an IANA_SVC_NAME. If this is a string,
it will be looked up as a named port in the
target Pod''s container ports. If this is
not specified, the value of the ''port'' field
is used (an identity map). This field is ignored
for services with clusterIP=None, and should
be omitted or set equal to the ''port'' field.
More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes
session affinity. The valid options are `ClientIP`
and `None`. `ClientIP` enables the client IP-based
session affinity. The default value is `None`. More
info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations
of Client IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the
seconds of ClientIP type session sticky
time. The value must be >0 && <=86400(for
1 day) if ServiceAffinity == "ClientIP".
Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- host
- nodePortOffset
type: object
route:
description: route specifies the configuration to create
a route service in OpenShift.
properties:
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and
value pairs. It specifies Kubernetes annotations
for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain specifies the domain name of the
Confluent component cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value
pairs. It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
prefix:
description: prefix specifies the component prefix
when configured for the domain. The default value
is the name of the cluster.
minLength: 1
type: string
wildcardPolicy:
description: wildcardPolicy allows you to define a
route that covers all hosts within a domain. Valid
options are `Subdomain` and `None`. The default
value is `None`.
enum:
- Subdomain
- None
type: string
required:
- domain
type: object
type:
description: type specifies the Kubernetes external service
for the component. Valid options are `loadBalancer`,
`nodePort`, and `route`.
enum:
- loadBalancer
- nodePort
- route
minLength: 1
type: string
required:
- type
type: object
tls:
description: tls specifies the TLS configuration for the listener.
properties:
directoryPathInContainer:
description: directoryPathInContainer specifies the directory
path in the container where `keystore.jks`, `truststore.jks`,
and `jksPassword.txt` keys are mounted. `truststore.jks`
is not configured and can be ignored when the `ignoreTrustStoreConfig`
field is set to `true`.
minLength: 1
type: string
enabled:
description: enabled specifies to enable the TLS configuration
for the Confluent component.
type: boolean
ignoreTrustStoreConfig:
description: ignoreTrustStoreConfig indicates whether
to ignore the truststore configuration for the Confluent
component.
type: boolean
jksPassword:
description: jksPassword references the secret containing
the JKS password.
properties:
secretRef:
description: 'secretRef references the name of the
secret containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- secretRef
type: object
secretRef:
description: 'secretRef references the secret containing
the certificates. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- enabled
type: object
type: object
internal:
description: internal specifies the Confluent component's internal
listener. This internal listener is for intra-communication
between the pods.
properties:
port:
description: port binds the given port to the internal listener.
If not configured, it will be defaulted to the component-specific
internal port. Port numbers lower than `9093` are reserved
by CFK.
format: int32
minimum: 9093
type: integer
tls:
description: tls specifies the TLS configuration for the listener.
properties:
directoryPathInContainer:
description: directoryPathInContainer specifies the directory
path in the container where `keystore.jks`, `truststore.jks`,
and `jksPassword.txt` keys are mounted. `truststore.jks`
is not configured and can be ignored when the `ignoreTrustStoreConfig`
field is set to `true`.
minLength: 1
type: string
enabled:
description: enabled specifies to enable the TLS configuration
for the Confluent component.
type: boolean
ignoreTrustStoreConfig:
description: ignoreTrustStoreConfig indicates whether
to ignore the truststore configuration for the Confluent
component.
type: boolean
jksPassword:
description: jksPassword references the secret containing
the JKS password.
properties:
secretRef:
description: 'secretRef references the name of the
secret containing the JKS password. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- secretRef
type: object
secretRef:
description: 'secretRef references the secret containing
the certificates. More info: https://docs.confluent.io/operator/current/co-network-encryption.html#configure-user-provided-tls-certificates'
maxLength: 30
minLength: 1
pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
type: string
required:
- enabled
type: object
type: object
type: object
metrics: metrics:
description: metrics specify the security settings for the metric description: metrics specify the security settings for the metric
services. services.
@ -4369,8 +4913,8 @@ spec:
type: boolean type: boolean
type: object type: object
tls: tls:
description: tls specifies the TLS configurations for the REST API description: tls specifies the global TLS configurations for the REST
endpoint. API endpoint.
properties: properties:
autoGeneratedCerts: autoGeneratedCerts:
description: autoGeneratedCerts specifies that the certificates description: autoGeneratedCerts specifies that the certificates
@ -4503,6 +5047,41 @@ spec:
dependency. dependency.
type: boolean type: boolean
type: object type: object
listeners:
additionalProperties:
description: ListenerStatus describes general information about
the listeners.
properties:
advertisedExternalEndpoints:
description: advertisedExternalEndpoints specifies other advertised
endpoints used, especially for Kafka.
items:
type: string
type: array
authenticationType:
description: authenticationType shows the authentication type
configured by the listener.
type: string
externalAccessType:
description: externalAccessType shows the external access type
used for the listener.
type: string
externalEndpoint:
description: externalEndpoint specifies the external endpoint
to connect to the Confluent component cluster.
type: string
internalEndpoint:
description: internalEndpoint specifies the internal endpoint
to connect to the Confluent component cluster.
type: string
tls:
description: tls shows whether TLS is configured for the listener.
type: boolean
type: object
description: listeners is a map of listener type and the status of
Schema Registry Listeners.
type: object
x-kubernetes-map-type: granular
metricPrefix: metricPrefix:
description: metricPrefix is the prefix for the JMX metric of the description: metricPrefix is the prefix for the JMX metric of the
Schema Registry cluster. Schema Registry cluster.

View File

@ -153,6 +153,394 @@ spec:
description: dataVolumeCapacity specifies the data volume size. description: dataVolumeCapacity specifies the data volume size.
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true x-kubernetes-int-or-string: true
externalAccess:
description: externalAccess specifies the external access configuration.
Should only be specified when Zookeeper peers are on another network.
properties:
loadBalancer:
description: loadBalancer specifies the configuration to create
a Kubernetes load balancer service.
properties:
advertisedURL:
description: 'advertisedURL specifies the configuration for
advertised listener per pod. It is only supported for MDS
currently. If it is enabled, instead of using internal endpoint,
the MDS advertised listener for each broker will be set
to: `<httpSchema>://<advertisedUrl.prefix><podId>.<domain>`
where podId starts from `0` to `replicaCount -1`. This is
only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster. This configuration will not
take effect if MDS enabled dual listener setup.'
properties:
enabled:
description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each
broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint. If not configured, it uses `b`
as default prefix for MDS, such as `b#.domain` where
`#` will start from `0` to `replicaCount -1`. It uses
'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and value
pairs. It specifies Kubernetes annotations for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain is the domain name of the component cluster.
minLength: 1
type: string
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are `Local`
and `Cluster`.
enum:
- Local
- Cluster
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value pairs.
It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
loadBalancerSourceRanges:
description: loadBalancerSourceRanges specify the source ranges.
items:
type: string
type: array
port:
description: port specifies the external port for the client
consumption. If not configured, the same internal/external
port is configured for the component. Information about
the port can be retrieved through the status API.
format: int32
type: integer
prefix:
description: prefix specify the prefix for the given domain.
The default value is the name of the cluster.
minLength: 1
type: string
servicePorts:
description: servicePorts specify the user-provided service
port(s).
items:
description: ServicePort contains information on service's
port.
properties:
appProtocol:
description: The application protocol for this port.
This field follows standard Kubernetes label syntax.
Un-prefixed names are reserved for IANA standard service
names (as per RFC-6335 and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed names such
as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the service.
This must be a DNS_LABEL. All ports within a ServiceSpec
must have unique names. When considering the endpoints
for a Service, this must match the 'name' field in
the EndpointPort. Optional if only one ServicePort
is defined on this service.
type: string
nodePort:
description: 'The port on each node on which this service
is exposed when type is NodePort or LoadBalancer. Usually
assigned by the system. If a value is specified, in-range,
and not in use it will be used, otherwise the operation
will fail. If not specified, a port will be allocated
if this Service requires one. If this field is specified
when creating a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing type
from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port. Supports
"TCP", "UDP", and "SCTP". Default is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to access on
the pods targeted by the service. Number must be in
the range 1 to 65535. Name must be an IANA_SVC_NAME.
If this is a string, it will be looked up as a named
port in the target Pod''s container ports. If this
is not specified, the value of the ''port'' field
is used (an identity map). This field is ignored for
services with clusterIP=None, and should be omitted
or set equal to the ''port'' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes session
affinity. The valid options are `ClientIP` and `None`. `ClientIP`
enables the client IP-based session affinity. The default
value is `None`. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations of Client
IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the seconds
of ClientIP type session sticky time. The value
must be >0 && <=86400(for 1 day) if ServiceAffinity
== "ClientIP". Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- domain
type: object
nodePort:
description: nodePort specifies the configuration to create a
Kubernetes node port service.
properties:
advertisedURL:
description: advertisedURL specifies the configuration for
advertised listener per pod. It is only supported for MDS
currently. If it is enabled, instead of using internal endpoint,
the MDS advertised listener for each broker will be set
to `<httpSchema>://<host>:<nodePortOffset + podId + 1>,
where`podId` starts from `0` to `replicaCount - 1`. This
is only recommended if you cannot add internal SANs to the
TLS certificates for MDS and the external DNS must be resolved
inside the Kubernetes cluster.
properties:
enabled:
description: enabled indicates whether to set the MDS
advertised listener url with external endpoint for each
broker. Has no effect with Zookeeper, which will always
create a listener per pod.
type: boolean
prefix:
description: prefix specifies the broker prefix for MDS/Zookeeper
advertised endpoint. If not configured, it uses `b`
as default prefix for MDS, such as `b#.domain` where
`#` will start from `0` to `replicaCount -1`. It uses
'zookeeper' as default prefix for Zookeeper in the same
way.
minLength: 1
type: string
required:
- enabled
type: object
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and value
pairs. It specifies Kubernetes annotations for this service.
type: object
x-kubernetes-map-type: granular
externalTrafficPolicy:
description: externalTrafficPolicy specifies the external
traffic policy for the service. Valid options are `Local`
and `Cluster`.
enum:
- Local
- Cluster
type: string
host:
description: host defines the host name of the cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value pairs.
It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
nodePortOffset:
description: nodePortOffset specifies the starting offset
of the node ports. The port numbers go in ascending order
with respect to the replicas count. NodePort service creation
fails if the node port is not in the range supported by
the Kubernetes API server. The default Kubernetes Node Port
range is `30000` - `32762`.
format: int32
minimum: 0
type: integer
servicePorts:
description: servicePorts specify user-provided service port(s).
For Kafka with the nodePort type, this setting is only applied
to Kafka bootstrap service.
items:
description: ServicePort contains information on service's
port.
properties:
appProtocol:
description: The application protocol for this port.
This field follows standard Kubernetes label syntax.
Un-prefixed names are reserved for IANA standard service
names (as per RFC-6335 and http://www.iana.org/assignments/service-names).
Non-standard protocols should use prefixed names such
as mycompany.com/my-custom-protocol.
type: string
name:
description: The name of this port within the service.
This must be a DNS_LABEL. All ports within a ServiceSpec
must have unique names. When considering the endpoints
for a Service, this must match the 'name' field in
the EndpointPort. Optional if only one ServicePort
is defined on this service.
type: string
nodePort:
description: 'The port on each node on which this service
is exposed when type is NodePort or LoadBalancer. Usually
assigned by the system. If a value is specified, in-range,
and not in use it will be used, otherwise the operation
will fail. If not specified, a port will be allocated
if this Service requires one. If this field is specified
when creating a Service which does not need it, creation
will fail. This field will be wiped when updating
a Service to no longer need it (e.g. changing type
from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport'
format: int32
type: integer
port:
description: The port that will be exposed by this service.
format: int32
type: integer
protocol:
default: TCP
description: The IP protocol for this port. Supports
"TCP", "UDP", and "SCTP". Default is TCP.
type: string
targetPort:
anyOf:
- type: integer
- type: string
description: 'Number or name of the port to access on
the pods targeted by the service. Number must be in
the range 1 to 65535. Name must be an IANA_SVC_NAME.
If this is a string, it will be looked up as a named
port in the target Pod''s container ports. If this
is not specified, the value of the ''port'' field
is used (an identity map). This field is ignored for
services with clusterIP=None, and should be omitted
or set equal to the ''port'' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service'
x-kubernetes-int-or-string: true
required:
- port
type: object
type: array
sessionAffinity:
description: 'sessionAffinity defines the Kubernetes session
affinity. The valid options are `ClientIP` and `None`. `ClientIP`
enables the client IP-based session affinity. The default
value is `None`. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies.'
enum:
- ClientIP
- None
type: string
sessionAffinityConfig:
description: SessionAffinityConfig contains the configurations
of the session affinity.
properties:
clientIP:
description: clientIP contains the configurations of Client
IP based session affinity.
properties:
timeoutSeconds:
description: timeoutSeconds specifies the seconds
of ClientIP type session sticky time. The value
must be >0 && <=86400(for 1 day) if ServiceAffinity
== "ClientIP". Default value is 10800(for 3 hours).
format: int32
type: integer
type: object
type: object
required:
- host
- nodePortOffset
type: object
route:
description: route specifies the configuration to create a route
service in OpenShift.
properties:
annotations:
additionalProperties:
type: string
description: annotations is a map of string key and value
pairs. It specifies Kubernetes annotations for this service.
type: object
x-kubernetes-map-type: granular
domain:
description: domain specifies the domain name of the Confluent
component cluster.
minLength: 1
type: string
labels:
additionalProperties:
type: string
description: labels is a map of string key and value pairs.
It specifies Kubernetes labels for this service.
type: object
x-kubernetes-map-type: granular
prefix:
description: prefix specifies the component prefix when configured
for the domain. The default value is the name of the cluster.
minLength: 1
type: string
wildcardPolicy:
description: wildcardPolicy allows you to define a route that
covers all hosts within a domain. Valid options are `Subdomain`
and `None`. The default value is `None`.
enum:
- Subdomain
- None
type: string
required:
- domain
type: object
type:
description: type specifies the Kubernetes external service for
the component. Valid options are `loadBalancer`, `nodePort`,
and `route`.
enum:
- loadBalancer
- nodePort
- route
minLength: 1
type: string
required:
- type
type: object
headlessService: headlessService:
description: headlessService specifies the configuration of the Kubernetes description: headlessService specifies the configuration of the Kubernetes
headless service. headless service.
@ -2036,6 +2424,15 @@ spec:
using the pod anti-affinity capability. Enabling this configuration using the pod anti-affinity capability. Enabling this configuration
in an existing cluster will roll the cluster. in an existing cluster will roll the cluster.
type: boolean type: boolean
peers:
description: peers specify a list of dynamic peer configurations for
the Zookeeper cluster. This is only required when deploying stretch
Zookeeper for MRC deployments and should include all the Zookeeper
peers in other DCs that form the ensemble. This will either add
or update the existing configuration.
items:
type: string
type: array
podTemplate: podTemplate:
description: podTemplate specifies the statefulset pod template configuration. description: podTemplate specifies the statefulset pod template configuration.
properties: properties:
@ -3746,10 +4143,6 @@ spec:
description: arbitraryData is the map for any arbitrary data associated description: arbitraryData is the map for any arbitrary data associated
with this Confluent component. with this Confluent component.
x-kubernetes-preserve-unknown-fields: true x-kubernetes-preserve-unknown-fields: true
authenticationType:
description: authenticationType is the authentication method for the
Zookeeper cluster.
type: string
authorizationType: authorizationType:
description: authorizationType is the authorization type for this description: authorizationType is the authorization type for this
Confluent component. Confluent component.
@ -3800,9 +4193,6 @@ spec:
description: currentReplicas is the number of currently running replicas. description: currentReplicas is the number of currently running replicas.
format: int32 format: int32
type: integer type: integer
endpoint:
description: endpoint is the Zookeeper cluster endpoint.
type: string
internalSecrets: internalSecrets:
description: internalSecrets are internal secrets created by CFK for description: internalSecrets are internal secrets created by CFK for
this Confluent component. this Confluent component.
@ -3842,15 +4232,41 @@ spec:
description: replicas is the number of replicas. description: replicas is the number of replicas.
format: int32 format: int32
type: integer type: integer
restConfig:
description: restConfig is the REST API configuration of the Zookeeper
cluster.
properties:
advertisedExternalEndpoints:
description: advertisedExternalEndpoints specifies other advertised
endpoints used, especially for Kafka.
items:
type: string
type: array
authenticationType:
description: authenticationType shows the authentication type
configured by the listener.
type: string
externalAccessType:
description: externalAccessType shows the external access type
used for the listener.
type: string
externalEndpoint:
description: externalEndpoint specifies the external endpoint
to connect to the Confluent component cluster.
type: string
internalEndpoint:
description: internalEndpoint specifies the internal endpoint
to connect to the Confluent component cluster.
type: string
tls:
description: tls shows whether TLS is configured for the listener.
type: boolean
type: object
selector: selector:
description: selector gets the label selector of the child pod. The description: selector gets the label selector of the child pod. The
Horizontal Pod Autoscaler(HPA) will scale using the label selector Horizontal Pod Autoscaler(HPA) will scale using the label selector
of the child pod. of the child pod.
type: string type: string
tls:
description: tls shows whether TLS is configured for the Zookeeper
cluster.
type: boolean
type: object type: object
required: required:
- spec - spec

View File

@ -1,5 +1,5 @@
{{- if .Values.rbac }} {{- if .Values.rbac }}
{{- $clusterRole := or (not .Values.namespaced) (gt (len .Values.namespaceList) 0)}} {{- $clusterRole := or (not .Values.namespaced) (.Values.kRaftEnabled) (gt (len .Values.namespaceList) 0)}}
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
{{- if not $clusterRole }} {{- if not $clusterRole }}
kind: Role kind: Role
@ -66,11 +66,18 @@ rules:
- update - update
- patch - patch
- delete - delete
- apiGroups:
- apps
resources:
- deployments
verbs:
- get
- apiGroups: - apiGroups:
- "" - ""
resources: resources:
- configmaps - configmaps
- persistentvolumeclaims - persistentvolumeclaims
- persistentvolumes
- secrets - secrets
- secrets/finalizers - secrets/finalizers
- pods - pods

View File

@ -1,5 +1,5 @@
{{- if .Values.rbac }} {{- if .Values.rbac }}
{{- $clusterRoleBinding := or (not .Values.namespaced) (gt (len .Values.namespaceList) 0)}} {{- $clusterRoleBinding := or (not .Values.namespaced) (.Values.kRaftEnabled) (gt (len .Values.namespaceList) 0)}}
{{- if not $clusterRoleBinding }} {{- if not $clusterRoleBinding }}
kind: RoleBinding kind: RoleBinding
{{- else }} {{- else }}

View File

@ -97,6 +97,8 @@ spec:
valueFrom: valueFrom:
fieldRef: fieldRef:
fieldPath: metadata.uid fieldPath: metadata.uid
- name: DEPLOYMENT_NAME
value: {{ .Values.name }}
{{- if .Values.managedCerts.enabled }} {{- if .Values.managedCerts.enabled }}
{{- if and (empty .Values.managedCerts.caCertificate.secretRef) (empty .Values.managedCerts.caCertificate.directoryPathInContainer) }} {{- if and (empty .Values.managedCerts.caCertificate.secretRef) (empty .Values.managedCerts.caCertificate.directoryPathInContainer) }}
{{- $_ := required "secretRef or directoryPathInContainer must be configured when managedCerts is enabled" .Values.managedCerts.secretRef }} {{- $_ := required "secretRef or directoryPathInContainer must be configured when managedCerts is enabled" .Values.managedCerts.secretRef }}
@ -139,10 +141,14 @@ spec:
- name: CONFLUENT_LICENSE_DIRECTORY_PATH - name: CONFLUENT_LICENSE_DIRECTORY_PATH
value: {{ .Values.license.directoryPathInContainer }} value: {{ .Values.license.directoryPathInContainer }}
{{- end }} {{- end }}
{{- if .Values.telemetry.enabled }} {{- if or (.Values.telemetry.enabled) (.Values.telemetry.operator.enabled) }}
{{- if and (empty .Values.telemetry.secretRef) (empty .Values.telemetry.directoryPathInContainer) }} {{- if and (empty .Values.telemetry.secretRef) (empty .Values.telemetry.directoryPathInContainer) }}
{{- $_ := required "secretRef or directoryPathInContainer must be configured when telemetry is enabled" .Values.telemetry.secretRef }} {{- $_ := required "secretRef or directoryPathInContainer must be configured when telemetry is enabled" .Values.telemetry.secretRef }}
{{- end }} {{- end }}
- name: CP_TELEMETRY_ENABLED
value: {{ quote .Values.telemetry.enabled }}
- name: OPERATOR_TELEMETRY_ENABLED
value: {{ quote .Values.telemetry.operator.enabled }}
{{- if .Values.telemetry.secretRef }} {{- if .Values.telemetry.secretRef }}
- name: CONFLUENT_TELEMETRY_SECRET_NAME - name: CONFLUENT_TELEMETRY_SECRET_NAME
value: {{ .Values.telemetry.secretRef }} value: {{ .Values.telemetry.secretRef }}

View File

@ -53,6 +53,7 @@ webhooks:
resources: resources:
- zookeepers - zookeepers
- kafkas - kafkas
- kraftcontrollers
- ksqldbs - ksqldbs
- controlcenters - controlcenters
scope: Namespaced scope: Namespaced

View File

@ -81,7 +81,7 @@ image:
registry: docker.io registry: docker.io
repository: confluentinc/confluent-operator repository: confluentinc/confluent-operator
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
tag: "0.581.55" tag: "0.771.13"
### ###
## Priority class for Confluent Operator pod ## Priority class for Confluent Operator pod
@ -196,6 +196,8 @@ clusterRole:
## proxy.password=<proxy_password> ## proxy.password=<proxy_password>
## ##
telemetry: telemetry:
operator:
enabled: false
enabled: false enabled: false
proxy: proxy:
enabled: false enabled: false
@ -205,6 +207,11 @@ telemetry:
## you mount telemetry.txt in the path you provided here in each pod ## you mount telemetry.txt in the path you provided here in each pod
directoryPathInContainer: "" directoryPathInContainer: ""
## In case of KRaft, we need to preserve the KRaft ClusterID in PV annotation
## for disaster recovery case. Enabling this ensures we create proper ClusterRoles
## to be able to set this annotation in PersistentVolumes.
kRaftEnabled: false
### ###
### Webhooks configuration ### Webhooks configuration
## To enable webhooks, it requires TLS certificates to set up webhook server, ## To enable webhooks, it requires TLS certificates to set up webhook server,

View File

@ -1,5 +1,21 @@
# Datadog changelog # Datadog changelog
## 3.27.0
* Default `Agent` and `Cluster-Agent` to `7.44.0` version.
## 3.26.2
* Adds statx syscall to seccomp for system-probe
## 3.26.1
* Add support for `topologySpreadConstraints` in pod templates
## 3.26.0
* Default `Agent` and `Cluster-Agent` to `7.43.2` version.
## 3.25.5 ## 3.25.5
* Adds securityContext and resource annotations for initContainers in cluster agent * Adds securityContext and resource annotations for initContainers in cluster agent

View File

@ -19,4 +19,4 @@ name: datadog
sources: sources:
- https://app.datadoghq.com/account/settings#agent/kubernetes - https://app.datadoghq.com/account/settings#agent/kubernetes
- https://github.com/DataDog/datadog-agent - https://github.com/DataDog/datadog-agent
version: 3.25.5 version: 3.27.0

View File

@ -1,6 +1,6 @@
# Datadog # Datadog
![Version: 3.25.5](https://img.shields.io/badge/Version-3.25.5-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) ![Version: 3.27.0](https://img.shields.io/badge/Version-3.27.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
[Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/). [Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/).
@ -449,7 +449,7 @@ helm install <RELEASE_NAME> \
| agents.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy | | agents.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy |
| agents.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) | | agents.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) |
| agents.image.repository | string | `nil` | Override default registry + image.name for Agent | | agents.image.repository | string | `nil` | Override default registry + image.name for Agent |
| agents.image.tag | string | `"7.43.1"` | Define the Agent version to use | | agents.image.tag | string | `"7.44.0"` | Define the Agent version to use |
| agents.image.tagSuffix | string | `""` | Suffix to append to Agent tag | | agents.image.tagSuffix | string | `""` | Suffix to append to Agent tag |
| agents.localService.forceLocalServiceEnabled | bool | `false` | Force the creation of the internal traffic policy service to target the agent running on the local node. By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default. This option allows to force the creation of the internal traffic service on kubernetes 1.21 where the feature was alpha and required a feature gate to be explicitly enabled. | | agents.localService.forceLocalServiceEnabled | bool | `false` | Force the creation of the internal traffic policy service to target the agent running on the local node. By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default. This option allows to force the creation of the internal traffic service on kubernetes 1.21 where the feature was alpha and required a feature gate to be explicitly enabled. |
| agents.localService.overrideName | string | `""` | Name of the internal traffic service to target the agent running on the local node | | agents.localService.overrideName | string | `""` | Name of the internal traffic service to target the agent running on the local node |
@ -511,7 +511,7 @@ helm install <RELEASE_NAME> \
| clusterAgent.image.pullPolicy | string | `"IfNotPresent"` | Cluster Agent image pullPolicy | | clusterAgent.image.pullPolicy | string | `"IfNotPresent"` | Cluster Agent image pullPolicy |
| clusterAgent.image.pullSecrets | list | `[]` | Cluster Agent repository pullSecret (ex: specify docker registry credentials) | | clusterAgent.image.pullSecrets | list | `[]` | Cluster Agent repository pullSecret (ex: specify docker registry credentials) |
| clusterAgent.image.repository | string | `nil` | Override default registry + image.name for Cluster Agent | | clusterAgent.image.repository | string | `nil` | Override default registry + image.name for Cluster Agent |
| clusterAgent.image.tag | string | `"7.43.1"` | Cluster Agent image tag to use | | clusterAgent.image.tag | string | `"7.44.0"` | Cluster Agent image tag to use |
| clusterAgent.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default Cluster Agent liveness probe settings | | clusterAgent.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default Cluster Agent liveness probe settings |
| clusterAgent.metricsProvider.aggregator | string | `"avg"` | Define the aggregator the cluster agent will use to process the metrics. The options are (avg, min, max, sum) | | clusterAgent.metricsProvider.aggregator | string | `"avg"` | Define the aggregator the cluster agent will use to process the metrics. The options are (avg, min, max, sum) |
| clusterAgent.metricsProvider.createReaderRbac | bool | `true` | Create `external-metrics-reader` RBAC automatically (to allow HPA to read data from Cluster Agent) | | clusterAgent.metricsProvider.createReaderRbac | bool | `true` | Create `external-metrics-reader` RBAC automatically (to allow HPA to read data from Cluster Agent) |
@ -542,6 +542,7 @@ helm install <RELEASE_NAME> \
| clusterAgent.token | string | `""` | Cluster Agent token is a preshared key between node agents and cluster agent (autogenerated if empty, needs to be at least 32 characters a-zA-z) | | clusterAgent.token | string | `""` | Cluster Agent token is a preshared key between node agents and cluster agent (autogenerated if empty, needs to be at least 32 characters a-zA-z) |
| clusterAgent.tokenExistingSecret | string | `""` | Existing secret name to use for Cluster Agent token. Put the Cluster Agent token in a key named `token` inside the Secret | | clusterAgent.tokenExistingSecret | string | `""` | Existing secret name to use for Cluster Agent token. Put the Cluster Agent token in a key named `token` inside the Secret |
| clusterAgent.tolerations | list | `[]` | Allow the Cluster Agent Deployment to schedule on tainted nodes ((requires Kubernetes >= 1.6)) | | clusterAgent.tolerations | list | `[]` | Allow the Cluster Agent Deployment to schedule on tainted nodes ((requires Kubernetes >= 1.6)) |
| clusterAgent.topologySpreadConstraints | list | `[]` | Allow the Cluster Agent Deployment to schedule using pod topology spreading |
| clusterAgent.useHostNetwork | bool | `false` | Bind ports on the hostNetwork | | clusterAgent.useHostNetwork | bool | `false` | Bind ports on the hostNetwork |
| clusterAgent.volumeMounts | list | `[]` | Specify additional volumes to mount in the cluster-agent container | | clusterAgent.volumeMounts | list | `[]` | Specify additional volumes to mount in the cluster-agent container |
| clusterAgent.volumes | list | `[]` | Specify additional volumes to mount in the cluster-agent container | | clusterAgent.volumes | list | `[]` | Specify additional volumes to mount in the cluster-agent container |
@ -560,7 +561,7 @@ helm install <RELEASE_NAME> \
| clusterChecksRunner.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy | | clusterChecksRunner.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy |
| clusterChecksRunner.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) | | clusterChecksRunner.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) |
| clusterChecksRunner.image.repository | string | `nil` | Override default registry + image.name for Cluster Check Runners | | clusterChecksRunner.image.repository | string | `nil` | Override default registry + image.name for Cluster Check Runners |
| clusterChecksRunner.image.tag | string | `"7.43.1"` | Define the Agent version to use | | clusterChecksRunner.image.tag | string | `"7.44.0"` | Define the Agent version to use |
| clusterChecksRunner.image.tagSuffix | string | `""` | Suffix to append to Agent tag | | clusterChecksRunner.image.tagSuffix | string | `""` | Suffix to append to Agent tag |
| clusterChecksRunner.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default agent liveness probe settings | | clusterChecksRunner.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default agent liveness probe settings |
| clusterChecksRunner.networkPolicy.create | bool | `false` | If true, create a NetworkPolicy for the cluster checks runners. DEPRECATED. Use datadog.networkPolicy.create instead | | clusterChecksRunner.networkPolicy.create | bool | `false` | If true, create a NetworkPolicy for the cluster checks runners. DEPRECATED. Use datadog.networkPolicy.create instead |
@ -580,6 +581,7 @@ helm install <RELEASE_NAME> \
| clusterChecksRunner.securityContext | object | `{}` | Allows you to overwrite the default PodSecurityContext on the clusterchecks pods. | | clusterChecksRunner.securityContext | object | `{}` | Allows you to overwrite the default PodSecurityContext on the clusterchecks pods. |
| clusterChecksRunner.strategy | object | `{"rollingUpdate":{"maxSurge":1,"maxUnavailable":0},"type":"RollingUpdate"}` | Allow the ClusterChecks deployment to perform a rolling update on helm update | | clusterChecksRunner.strategy | object | `{"rollingUpdate":{"maxSurge":1,"maxUnavailable":0},"type":"RollingUpdate"}` | Allow the ClusterChecks deployment to perform a rolling update on helm update |
| clusterChecksRunner.tolerations | list | `[]` | Tolerations for pod assignment | | clusterChecksRunner.tolerations | list | `[]` | Tolerations for pod assignment |
| clusterChecksRunner.topologySpreadConstraints | list | `[]` | Allow the ClusterChecks Deployment to schedule using pod topology spreading |
| clusterChecksRunner.volumeMounts | list | `[]` | Specify additional volumes to mount in the cluster checks container | | clusterChecksRunner.volumeMounts | list | `[]` | Specify additional volumes to mount in the cluster checks container |
| clusterChecksRunner.volumes | list | `[]` | Specify additional volumes to mount in the cluster checks container | | clusterChecksRunner.volumes | list | `[]` | Specify additional volumes to mount in the cluster checks container |
| commonLabels | object | `{}` | Labels to apply to all resources | | commonLabels | object | `{}` | Labels to apply to all resources |

View File

@ -254,4 +254,8 @@ spec:
tolerations: tolerations:
{{ toYaml .Values.clusterChecksRunner.tolerations | indent 8 }} {{ toYaml .Values.clusterChecksRunner.tolerations | indent 8 }}
{{- end }} {{- end }}
{{- with .Values.clusterChecksRunner.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{ end }} {{ end }}

View File

@ -419,4 +419,8 @@ spec:
{{- if .Values.clusterAgent.nodeSelector }} {{- if .Values.clusterAgent.nodeSelector }}
{{ toYaml .Values.clusterAgent.nodeSelector | indent 8 }} {{ toYaml .Values.clusterAgent.nodeSelector | indent 8 }}
{{- end }} {{- end }}
{{- with .Values.clusterAgent.topologySpreadConstraints }}
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{ end }} {{ end }}

View File

@ -239,6 +239,7 @@ data:
"stat", "stat",
"stat64", "stat64",
"statfs", "statfs",
"statx",
"symlinkat", "symlinkat",
"sysinfo", "sysinfo",
"tgkill", "tgkill",

View File

@ -802,7 +802,7 @@ clusterAgent:
name: cluster-agent name: cluster-agent
# clusterAgent.image.tag -- Cluster Agent image tag to use # clusterAgent.image.tag -- Cluster Agent image tag to use
tag: 7.43.1 tag: 7.44.0
# clusterAgent.image.digest -- Cluster Agent image digest to use, takes precedence over tag if specified # clusterAgent.image.digest -- Cluster Agent image digest to use, takes precedence over tag if specified
digest: "" digest: ""
@ -1024,6 +1024,12 @@ clusterAgent:
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {} affinity: {}
# clusterAgent.topologySpreadConstraints -- Allow the Cluster Agent Deployment to schedule using pod topology spreading
## By default, no constraints are set, allowing cluster defaults to be used for scheduling
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
topologySpreadConstraints: []
# clusterAgent.healthPort -- Port number to use in the Cluster Agent for the healthz endpoint # clusterAgent.healthPort -- Port number to use in the Cluster Agent for the healthz endpoint
healthPort: 5556 healthPort: 5556
@ -1148,7 +1154,7 @@ agents:
name: agent name: agent
# agents.image.tag -- Define the Agent version to use # agents.image.tag -- Define the Agent version to use
tag: 7.43.1 tag: 7.44.0
# agents.image.digest -- Define Agent image digest to use, takes precedence over tag if specified # agents.image.digest -- Define Agent image digest to use, takes precedence over tag if specified
digest: "" digest: ""
@ -1614,7 +1620,7 @@ clusterChecksRunner:
name: agent name: agent
# clusterChecksRunner.image.tag -- Define the Agent version to use # clusterChecksRunner.image.tag -- Define the Agent version to use
tag: 7.43.1 tag: 7.44.0
# clusterChecksRunner.image.digest -- Define Agent image digest to use, takes precedence over tag if specified # clusterChecksRunner.image.digest -- Define Agent image digest to use, takes precedence over tag if specified
digest: "" digest: ""
@ -1682,6 +1688,12 @@ clusterChecksRunner:
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {} affinity: {}
# clusterChecksRunner.topologySpreadConstraints -- Allow the ClusterChecks Deployment to schedule using pod topology spreading
## By default, no constraints are set, allowing cluster defaults to be used for scheduling
## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
topologySpreadConstraints: []
# clusterChecksRunner.strategy -- Allow the ClusterChecks deployment to perform a rolling update on helm update # clusterChecksRunner.strategy -- Allow the ClusterChecks deployment to perform a rolling update on helm update
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy

View File

@ -4,7 +4,7 @@ annotations:
catalog.cattle.io/kube-version: '>=1.19.0-0' catalog.cattle.io/kube-version: '>=1.19.0-0'
catalog.cattle.io/release-name: dynatrace-operator catalog.cattle.io/release-name: dynatrace-operator
apiVersion: v2 apiVersion: v2
appVersion: 0.11.0 appVersion: 0.11.1
description: The Dynatrace Operator Helm chart for Kubernetes and OpenShift description: The Dynatrace Operator Helm chart for Kubernetes and OpenShift
home: https://www.dynatrace.com/ home: https://www.dynatrace.com/
icon: https://assets.dynatrace.com/global/resources/Signet_Logo_RGB_CP_512x512px.png icon: https://assets.dynatrace.com/global/resources/Signet_Logo_RGB_CP_512x512px.png
@ -20,4 +20,4 @@ name: dynatrace-operator
sources: sources:
- https://github.com/Dynatrace/dynatrace-operator - https://github.com/Dynatrace/dynatrace-operator
type: application type: application
version: 0.11.0 version: 0.11.1

View File

@ -3383,6 +3383,16 @@ spec:
properties: properties:
activeGate: activeGate:
properties: properties:
connectionInfoStatus:
properties:
endpoints:
type: string
lastRequest:
format: date-time
type: string
tenantUUID:
type: string
type: object
imageID: imageID:
type: string type: string
lastProbeTimestamp: lastProbeTimestamp:
@ -3477,12 +3487,6 @@ spec:
type: array type: array
dynatraceApi: dynatraceApi:
properties: properties:
lastActiveGateConnectionInfoRequest:
format: date-time
type: string
lastOneAgentConnectionInfoRequest:
format: date-time
type: string
lastTokenScopeRequest: lastTokenScopeRequest:
format: date-time format: date-time
type: string type: string
@ -3499,6 +3503,28 @@ spec:
type: string type: string
oneAgent: oneAgent:
properties: properties:
connectionInfoStatus:
properties:
communicationHosts:
items:
properties:
host:
type: string
port:
format: int32
type: integer
protocol:
type: string
type: object
type: array
endpoints:
type: string
lastRequest:
format: date-time
type: string
tenantUUID:
type: string
type: object
imageID: imageID:
type: string type: string
instances: instances:

View File

@ -89,4 +89,4 @@ sources:
- https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-logging - https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-logging
- https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-pixie - https://github.com/newrelic/helm-charts/tree/master/charts/newrelic-pixie
- https://github.com/newrelic/newrelic-infra-operator/tree/master/charts/newrelic-infra-operator - https://github.com/newrelic/newrelic-infra-operator/tree/master/charts/newrelic-infra-operator
version: 5.0.10 version: 5.0.11

View File

@ -177,8 +177,7 @@ honors global options as described below.
| global.serviceAccount.name | string | `nil` | Change the name of the service account. This is honored if you disable on this chart the creation of the service account so you can use your own | | global.serviceAccount.name | string | `nil` | Change the name of the service account. This is honored if you disable on this chart the creation of the service account so you can use your own |
| global.tolerations | list | `[]` | Sets pod's tolerations to node taints | | global.tolerations | list | `[]` | Sets pod's tolerations to node taints |
| global.verboseLog | bool | false | Sets the debug logs to this integration or all integrations if it is set globally | | global.verboseLog | bool | false | Sets the debug logs to this integration or all integrations if it is set globally |
| kube-state-metrics.collectors | object | See [`values.yaml`](values.yaml) of the kube-state-metric chart | Collectors configuration of kube-state-metric | | kube-state-metrics.enabled | bool | `false` | Install the [`kube-state-metrics` chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics) from the stable helm charts repository. This is mandatory if `infrastructure.enabled` is set to `true` and the user does not provide its own instance of KSM version >=1.8 and <=2.0 |
| kube-state-metrics.enabled | bool | `false` | Install the [`kube-state-metrics` chart](https://github.com/kubernetes/kube-state-metrics/tree/master/charts/kube-state-metrics) from the stable helm charts repository. This is mandatory if `infrastructure.enabled` is set to `true` and the user does not provide its own instance of KSM version >=1.8 and <=2.0. Note, kube-state-metrics v2+ disables labels/annotations metrics by default. You can enable the target labels/annotations metrics to be monitored by using the metricLabelsAllowlist/metricAnnotationsAllowList options described [here](https://github.com/kubernetes/kube-state-metrics/blob/main/docs/cli-arguments.md) in your Kubernetes clusters |
| newrelic-infra-operator.enabled | bool | `false` | Install the [`newrelic-infra-operator` chart](https://github.com/newrelic/newrelic-infra-operator/tree/main/charts/newrelic-infra-operator) (Beta) | | newrelic-infra-operator.enabled | bool | `false` | Install the [`newrelic-infra-operator` chart](https://github.com/newrelic/newrelic-infra-operator/tree/main/charts/newrelic-infra-operator) (Beta) |
| newrelic-infrastructure.enabled | bool | `true` | Install the [`newrelic-infrastructure` chart](https://github.com/newrelic/nri-kubernetes/tree/main/charts/newrelic-infrastructure) | | newrelic-infrastructure.enabled | bool | `true` | Install the [`newrelic-infrastructure` chart](https://github.com/newrelic/nri-kubernetes/tree/main/charts/newrelic-infrastructure) |
| newrelic-k8s-metrics-adapter.enabled | bool | `false` | Install the [`newrelic-k8s-metrics-adapter.` chart](https://github.com/newrelic/newrelic-k8s-metrics-adapter/tree/main/charts/newrelic-k8s-metrics-adapter) (Beta) | | newrelic-k8s-metrics-adapter.enabled | bool | `false` | Install the [`newrelic-k8s-metrics-adapter.` chart](https://github.com/newrelic/newrelic-k8s-metrics-adapter/tree/main/charts/newrelic-k8s-metrics-adapter) (Beta) |

View File

@ -17,7 +17,7 @@ here is a list of components that this chart installs and where you can find mor
|------------------------------|-----------------------|-------------| |------------------------------|-----------------------|-------------|
| [newrelic-infrastructure](https://github.com/newrelic/nri-kubernetes/tree/main/charts/newrelic-infrastructure) | Yes | Sends metrics about nodes, cluster objects (e.g. Deployments, Pods), and the control plane to New Relic. | | [newrelic-infrastructure](https://github.com/newrelic/nri-kubernetes/tree/main/charts/newrelic-infrastructure) | Yes | Sends metrics about nodes, cluster objects (e.g. Deployments, Pods), and the control plane to New Relic. |
| [nri-metadata-injection](https://github.com/newrelic/k8s-metadata-injection/tree/main/charts/nri-metadata-injection) | Yes | Enriches New Relic-instrumented applications (APM) with Kubernetes information. | | [nri-metadata-injection](https://github.com/newrelic/k8s-metadata-injection/tree/main/charts/nri-metadata-injection) | Yes | Enriches New Relic-instrumented applications (APM) with Kubernetes information. |
| [kube-state-metrics](https://github.com/kubernetes/kube-state-metrics/tree/master/charts/kube-state-metrics) | | Required for `newrelic-infrastructure` to gather cluster-level metrics. | | [kube-state-metrics](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics) | | Required for `newrelic-infrastructure` to gather cluster-level metrics. |
| [nri-kube-events](https://github.com/newrelic/nri-kube-events/tree/main/charts/nri-kube-events) | | Reports Kubernetes events to New Relic. | | [nri-kube-events](https://github.com/newrelic/nri-kube-events/tree/main/charts/nri-kube-events) | | Reports Kubernetes events to New Relic. |
| [newrelic-infra-operator](https://github.com/newrelic/newrelic-infra-operator/tree/main/charts/newrelic-infra-operator) | | (Beta) Used with Fargate or serverless environments to inject `newrelic-infrastructure` as a sidecar instead of the usual DaemonSet. | | [newrelic-infra-operator](https://github.com/newrelic/newrelic-infra-operator/tree/main/charts/newrelic-infra-operator) | | (Beta) Used with Fargate or serverless environments to inject `newrelic-infrastructure` as a sidecar instead of the usual DaemonSet. |
| [newrelic-k8s-metrics-adapter](https://github.com/newrelic/newrelic-k8s-metrics-adapter/tree/main/charts/newrelic-k8s-metrics-adapter) | | (Beta) Provides a source of data for Horizontal Pod Autoscalers (HPA) based on a NRQL query from New Relic. | | [newrelic-k8s-metrics-adapter](https://github.com/newrelic/newrelic-k8s-metrics-adapter/tree/main/charts/newrelic-k8s-metrics-adapter) | | (Beta) Provides a source of data for Horizontal Pod Autoscalers (HPA) based on a NRQL query from New Relic. |

View File

@ -11,7 +11,7 @@ nri-metadata-injection:
enabled: true enabled: true
kube-state-metrics: kube-state-metrics:
# kube-state-metrics.enabled -- Install the [`kube-state-metrics` chart](https://github.com/kubernetes/kube-state-metrics/tree/master/charts/kube-state-metrics) from the stable helm charts repository. # kube-state-metrics.enabled -- Install the [`kube-state-metrics` chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics) from the stable helm charts repository.
# This is mandatory if `infrastructure.enabled` is set to `true` and the user does not provide its own instance of KSM version >=1.8 and <=2.0 # This is mandatory if `infrastructure.enabled` is set to `true` and the user does not provide its own instance of KSM version >=1.8 and <=2.0
enabled: false enabled: false

View File

@ -22,6 +22,6 @@ dependencies:
version: 0.10.0 version: 0.10.0
- name: mayastor - name: mayastor
repository: https://openebs.github.io/mayastor-extensions repository: https://openebs.github.io/mayastor-extensions
version: 2.0.1 version: 2.1.0
digest: sha256:3f27864981685c4f67b201ecf1afd8f876685f3ffe5fec626dfd808e625674d4 digest: sha256:7a5581f9f69600f76a026edd6057b40b598d989b7e8f4852409ba1f285777392
generated: "2023-03-15T11:40:02.953579044Z" generated: "2023-04-26T18:11:53.841045084Z"

View File

@ -3,7 +3,7 @@ annotations:
catalog.cattle.io/display-name: OpenEBS catalog.cattle.io/display-name: OpenEBS
catalog.cattle.io/release-name: openebs catalog.cattle.io/release-name: openebs
apiVersion: v2 apiVersion: v2
appVersion: 3.5.0 appVersion: 3.6.0
dependencies: dependencies:
- condition: openebs-ndm.enabled - condition: openebs-ndm.enabled
name: openebs-ndm name: openebs-ndm
@ -36,7 +36,7 @@ dependencies:
- condition: mayastor.enabled - condition: mayastor.enabled
name: mayastor name: mayastor
repository: file://./charts/mayastor repository: file://./charts/mayastor
version: 2.0.1 version: 2.1.0
description: Containerized Attached Storage for Kubernetes description: Containerized Attached Storage for Kubernetes
home: http://www.openebs.io/ home: http://www.openebs.io/
icon: https://raw.githubusercontent.com/cncf/artwork/HEAD/projects/openebs/icon/color/openebs-icon-color.png icon: https://raw.githubusercontent.com/cncf/artwork/HEAD/projects/openebs/icon/color/openebs-icon-color.png
@ -58,4 +58,4 @@ maintainers:
name: openebs name: openebs
sources: sources:
- https://github.com/openebs/openebs - https://github.com/openebs/openebs
version: 3.5.0 version: 3.6.0

View File

@ -148,7 +148,7 @@ The following table lists the common configurable parameters of the OpenEBS char
| `mayastor.etcd.persistence.size` | Set the size of the volume(s) used by the etcd | `""` | | `mayastor.etcd.persistence.size` | Set the size of the volume(s) used by the etcd | `""` |
| `mayastor.image.registry` | Set the container image registry for the mayastor containers | `"docker.io"` | | `mayastor.image.registry` | Set the container image registry for the mayastor containers | `"docker.io"` |
| `mayastor.image.repo` | Set the container image repository for the mayastor containers | `"openebs"` | | `mayastor.image.repo` | Set the container image repository for the mayastor containers | `"openebs"` |
| `mayastor.image.tag` | Set the container image tag for the mayastor containers | `"v2.0.1"` | | `mayastor.image.tag` | Set the container image tag for the mayastor containers | `"v2.1.0"` |
| `mayastor.image.pullPolicy` | Set the container ImagePullPolicy for the mayastor containers | `"Always"` | | `mayastor.image.pullPolicy` | Set the container ImagePullPolicy for the mayastor containers | `"Always"` |
| `mayastor.csi.image.registry` | Set the container image registry for the Kubernetes CSI sidecar containers | `"registry.k8s.io"` | | `mayastor.csi.image.registry` | Set the container image registry for the Kubernetes CSI sidecar containers | `"registry.k8s.io"` |
| `mayastor.csi.image.repo` | Set the container image repository for the Kubernetes CSI sidecar containers | `"sig-storage"` | | `mayastor.csi.image.repo` | Set the container image repository for the Kubernetes CSI sidecar containers | `"sig-storage"` |

View File

@ -9,4 +9,4 @@ dependencies:
repository: https://grafana.github.io/helm-charts repository: https://grafana.github.io/helm-charts
version: 2.6.4 version: 2.6.4
digest: sha256:3d832d0ef2dd68bda649805711ef21fd5e5fb3841c1c6b9a4200703475cf6c28 digest: sha256:3d832d0ef2dd68bda649805711ef21fd5e5fb3841c1c6b9a4200703475cf6c28
generated: "2023-03-13T17:37:10.19817861Z" generated: "2023-04-26T16:19:24.221513168Z"

View File

@ -1,5 +1,5 @@
apiVersion: v2 apiVersion: v2
appVersion: 2.0.1 appVersion: 2.1.0
dependencies: dependencies:
- name: etcd - name: etcd
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -15,4 +15,4 @@ dependencies:
description: Mayastor Helm chart for Kubernetes description: Mayastor Helm chart for Kubernetes
name: mayastor name: mayastor
type: application type: application
version: 2.0.1 version: 2.1.0

View File

@ -8,7 +8,7 @@ repository:
name: mayastor name: mayastor
chart: chart:
name: mayastor name: mayastor
version: 2.0.1 version: 2.1.0
values: "-- generate from values file --" values: "-- generate from values file --"
valuesExample: "-- generate from values file --" valuesExample: "-- generate from values file --"
prerequisites: prerequisites:

View File

@ -98,14 +98,38 @@ Usage:
{{- end }} {{- end }}
{{- end -}} {{- end -}}
{{/* Generate CPU list specification based on CPU count (-l param of mayastor) */}} {{/* Generate Core list specification (-l param of io-engine) */}}
{{- define "cpuFlag" -}} {{- define "cpuFlag" -}}
{{- range $i, $e := until (int .Values.io_engine.cpuCount) }} {{- include "coreListUniq" . -}}
{{- if gt $i 0 }} {{- end -}}
{{- printf "," }}
{{- end }} {{/* Get the number of cores from the coreList */}}
{{- printf "%d" (add $i 1) }} {{- define "coreCount" -}}
{{- end }} {{- include "coreListUniq" . | split "," | len -}}
{{- end -}}
{{/* Get a list of cores as a comma-separated list */}}
{{- define "coreListUniq" -}}
{{- if .Values.io_engine.coreList -}}
{{- $cores_pre := .Values.io_engine.coreList -}}
{{- if not (kindIs "slice" .Values.io_engine.coreList) -}}
{{- $cores_pre = list $cores_pre -}}
{{- end -}}
{{- $cores := list -}}
{{- range $index, $value := $cores_pre | uniq -}}
{{- $value = $value | toString | replace " " "" }}
{{- if eq ($value | int | toString) $value -}}
{{- $cores = append $cores $value -}}
{{- end -}}
{{- end -}}
{{- $first := first $cores | required (print "At least one core must be specified in io_engine.coreList") -}}
{{- $cores | join "," -}}
{{- else -}}
{{- if gt 1 (.Values.io_engine.cpuCount | int) -}}
{{- fail ".Values.io_engine.cpuCount must be >= 1" -}}
{{- end -}}
{{- untilStep 1 (add 1 .Values.io_engine.cpuCount | int) 1 | join "," -}}
{{- end -}}
{{- end }} {{- end }}
{{/* {{/*

View File

@ -25,11 +25,11 @@ spec:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
initContainers: initContainers:
{{- include "base_init_core_containers" . }} {{- include "base_init_core_containers" . }}
priorityClassName: {{ default "system-cluster-critical" .Values.priorityClassName }}
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
tolerations: {{- toYaml .Values.earlyEvictionTolerations | nindent 8}} tolerations: {{- toYaml .Values.earlyEvictionTolerations | nindent 8}}
priorityClassName: system-cluster-critical # Priority class provided by k8s by default.
containers: containers:
- name: agent-core - name: agent-core
resources: resources:
@ -39,7 +39,7 @@ spec:
requests: requests:
cpu: {{ .Values.agents.core.resources.requests.cpu | quote }} cpu: {{ .Values.agents.core.resources.requests.cpu | quote }}
memory: {{ .Values.agents.core.resources.requests.memory | quote }} memory: {{ .Values.agents.core.resources.requests.memory | quote }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-core:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-core:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
args: args:
- "-s{{ .Release.Name }}-etcd:{{ .Values.etcd.service.port }}" - "-s{{ .Release.Name }}-etcd:{{ .Values.etcd.service.port }}"
@ -47,6 +47,9 @@ spec:
- "--cache-period={{ .Values.base.cache_poll_period }}"{{ if .Values.base.jaeger.enabled }} - "--cache-period={{ .Values.base.cache_poll_period }}"{{ if .Values.base.jaeger.enabled }}
- "--jaeger={{ .Values.base.jaeger.agent.name }}:{{ .Values.base.jaeger.agent.port }}"{{ end }} - "--jaeger={{ .Values.base.jaeger.agent.name }}:{{ .Values.base.jaeger.agent.port }}"{{ end }}
- "--grpc-server-addr=0.0.0.0:50051" - "--grpc-server-addr=0.0.0.0:50051"
- "--pool-commitment={{ .Values.agents.core.capacity.thin.poolCommitment }}"
- "--volume-commitment-initial={{ .Values.agents.core.capacity.thin.volumeCommitmentInitial }}"
- "--volume-commitment={{ .Values.agents.core.capacity.thin.volumeCommitment }}"
ports: ports:
- containerPort: 50051 - containerPort: 50051
env: env:
@ -72,7 +75,7 @@ spec:
requests: requests:
cpu: {{ .Values.agents.ha.cluster.resources.requests.cpu | quote }} cpu: {{ .Values.agents.ha.cluster.resources.requests.cpu | quote }}
memory: {{ .Values.agents.ha.cluster.resources.requests.memory | quote }} memory: {{ .Values.agents.ha.cluster.resources.requests.memory | quote }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-ha-cluster:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-ha-cluster:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
args: args:
- "-g=0.0.0.0:50052" - "-g=0.0.0.0:50052"

View File

@ -31,6 +31,9 @@ spec:
{{- include "base_init_ha_node_containers" . }} {{- include "base_init_ha_node_containers" . }}
imagePullSecrets: imagePullSecrets:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
nodeSelector: nodeSelector:
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
{{- toYaml .Values.nodeSelector | nindent 8 }} {{- toYaml .Values.nodeSelector | nindent 8 }}
@ -42,7 +45,7 @@ spec:
{{- end }} {{- end }}
containers: containers:
- name: agent-ha-node - name: agent-ha-node
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-ha-node:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-agent-ha-node:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext: securityContext:
privileged: true privileged: true

View File

@ -24,11 +24,11 @@ spec:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
initContainers: initContainers:
{{- include "base_init_containers" . }} {{- include "base_init_containers" . }}
priorityClassName: {{ default "system-cluster-critical" .Values.priorityClassName }}
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
tolerations: {{- toYaml .Values.earlyEvictionTolerations | nindent 8 }} tolerations: {{- toYaml .Values.earlyEvictionTolerations | nindent 8 }}
priorityClassName: system-cluster-critical # Priority class provided by k8s by default.
containers: containers:
- name: api-rest - name: api-rest
resources: resources:
@ -38,7 +38,7 @@ spec:
requests: requests:
cpu: {{ .Values.apis.rest.resources.requests.cpu | quote }} cpu: {{ .Values.apis.rest.resources.requests.cpu | quote }}
memory: {{ .Values.apis.rest.resources.requests.memory | quote }} memory: {{ .Values.apis.rest.resources.requests.memory | quote }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-api-rest:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-api-rest:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
args: args:
- "--dummy-certificates" - "--dummy-certificates"

View File

@ -28,6 +28,9 @@ spec:
initContainers: initContainers:
{{- include "jaeger_agent_init_container" . }} {{- include "jaeger_agent_init_container" . }}
{{- include "rest_agent_init_container" . }} {{- include "rest_agent_init_container" . }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
@ -67,7 +70,7 @@ spec:
requests: requests:
cpu: {{ .Values.csi.controller.resources.requests.cpu | quote }} cpu: {{ .Values.csi.controller.resources.requests.cpu | quote }}
memory: {{ .Values.csi.controller.resources.requests.memory | quote }} memory: {{ .Values.csi.controller.resources.requests.memory | quote }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-csi-controller:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-csi-controller:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
args: args:
- "--csi-socket=/var/lib/csi/sockets/pluginproxy/csi.sock" - "--csi-socket=/var/lib/csi/sockets/pluginproxy/csi.sock"
@ -89,4 +92,3 @@ spec:
volumes: volumes:
- name: socket-dir - name: socket-dir
emptyDir: emptyDir:

View File

@ -31,6 +31,9 @@ spec:
hostNetwork: true hostNetwork: true
imagePullSecrets: imagePullSecrets:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
nodeSelector: nodeSelector:
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
{{- toYaml .Values.nodeSelector | nindent 8 }} {{- toYaml .Values.nodeSelector | nindent 8 }}
@ -46,7 +49,7 @@ spec:
# the same. # the same.
containers: containers:
- name: csi-node - name: csi-node
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-csi-node:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-csi-node:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
# we need privileged because we mount filesystems and use mknod # we need privileged because we mount filesystems and use mknod
securityContext: securityContext:
@ -75,7 +78,7 @@ spec:
- "--nvme-core-io-timeout={{ .Values.csi.node.nvme.io_timeout }}"{{ end }}{{ if .Values.csi.node.nvme.ctrl_loss_tmo }} - "--nvme-core-io-timeout={{ .Values.csi.node.nvme.io_timeout }}"{{ end }}{{ if .Values.csi.node.nvme.ctrl_loss_tmo }}
- "--nvme-ctrl-loss-tmo={{ .Values.csi.node.nvme.ctrl_loss_tmo }}"{{ end }}{{ if .Values.csi.node.nvme.keep_alive_tmo }} - "--nvme-ctrl-loss-tmo={{ .Values.csi.node.nvme.ctrl_loss_tmo }}"{{ end }}{{ if .Values.csi.node.nvme.keep_alive_tmo }}
- "--nvme-keep-alive-tmo={{ .Values.csi.node.nvme.keep_alive_tmo }}"{{ end }} - "--nvme-keep-alive-tmo={{ .Values.csi.node.nvme.keep_alive_tmo }}"{{ end }}
- "--nvme-nr-io-queues={{ .Values.io_engine.cpuCount }}" - "--nvme-nr-io-queues={{ include "coreCount" . }}"
{{- range $key, $val := .Values.csi.node.topology.segments }} {{- range $key, $val := .Values.csi.node.topology.segments }}
- "--node-selector={{ $key }}={{ $val }}" - "--node-selector={{ $key }}={{ $val }}"
{{- end }} {{- end }}

View File

@ -28,12 +28,15 @@ spec:
# To resolve services in the namespace # To resolve services in the namespace
dnsPolicy: ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
nodeSelector: {{- .Values.io_engine.nodeSelector | toYaml | nindent 8 }} nodeSelector: {{- .Values.io_engine.nodeSelector | toYaml | nindent 8 }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
initContainers: initContainers:
{{- include "base_init_containers" . }} {{- include "base_init_containers" . }}
containers: containers:
{{- if .Values.base.metrics.enabled }} {{- if .Values.base.metrics.enabled }}
- name: metrics-exporter-pool - name: metrics-exporter-pool
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-metrics-exporter-pool:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-metrics-exporter-pool:{{ default .Values.image.tag .Values.image.repoTags.extensions }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
env: env:
- name: MY_NODE_NAME - name: MY_NODE_NAME
@ -55,7 +58,7 @@ spec:
name: metrics name: metrics
{{- end }} {{- end }}
- name: io-engine - name: io-engine
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-io-engine:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-io-engine:{{ default .Values.image.tag .Values.image.repoTags.dataPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
env: env:
- name: RUST_LOG - name: RUST_LOG
@ -109,11 +112,11 @@ spec:
mountPath: /dev/hugepages mountPath: /dev/hugepages
resources: resources:
limits: limits:
cpu: {{ .Values.io_engine.resources.limits.cpu | default .Values.io_engine.cpuCount | quote }} cpu: {{ .Values.io_engine.resources.limits.cpu | default (include "coreCount" .) | quote }}
memory: {{ .Values.io_engine.resources.limits.memory | quote }} memory: {{ .Values.io_engine.resources.limits.memory | quote }}
hugepages-2Mi: {{ .Values.io_engine.resources.limits.hugepages2Mi | quote }} hugepages-2Mi: {{ .Values.io_engine.resources.limits.hugepages2Mi | quote }}
requests: requests:
cpu: {{ .Values.io_engine.resources.requests.cpu | default .Values.io_engine.cpuCount | quote }} cpu: {{ .Values.io_engine.resources.requests.cpu | default (include "coreCount" .) | quote }}
memory: {{ .Values.io_engine.resources.requests.memory | quote }} memory: {{ .Values.io_engine.resources.requests.memory | quote }}
hugepages-2Mi: {{ .Values.io_engine.resources.requests.hugepages2Mi | quote }} hugepages-2Mi: {{ .Values.io_engine.resources.requests.hugepages2Mi | quote }}
ports: ports:

View File

@ -23,12 +23,15 @@ spec:
serviceAccount: {{ .Release.Name }}-service-account serviceAccount: {{ .Release.Name }}-service-account
imagePullSecrets: imagePullSecrets:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
containers: containers:
- name: obs-callhome - name: obs-callhome
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-obs-callhome:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-obs-callhome:{{ default .Values.image.tag .Values.image.repoTags.extensions }}"
args: args:
- "-e http://{{ .Release.Name }}-api-rest:8081" - "-e http://{{ .Release.Name }}-api-rest:8081"
- "-n {{ .Release.Namespace }}" - "-n {{ .Release.Namespace }}"

View File

@ -25,6 +25,9 @@ spec:
{{- include "base_pull_secrets" . }} {{- include "base_pull_secrets" . }}
initContainers: initContainers:
{{- include "base_init_containers" . }} {{- include "base_init_containers" . }}
{{- if .Values.priorityClassName }}
priorityClassName: {{ .Values.priorityClassName }}
{{- end }}
{{- if .Values.nodeSelector }} {{- if .Values.nodeSelector }}
nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }} nodeSelector: {{- toYaml .Values.nodeSelector | nindent 8 }}
{{- end }} {{- end }}
@ -37,7 +40,7 @@ spec:
requests: requests:
cpu: {{ .Values.operators.pool.resources.requests.cpu | quote }} cpu: {{ .Values.operators.pool.resources.requests.cpu | quote }}
memory: {{ .Values.operators.pool.resources.requests.memory | quote }} memory: {{ .Values.operators.pool.resources.requests.memory | quote }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-operator-diskpool:{{ .Values.image.tag }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repo }}/{{ .Chart.Name }}-operator-diskpool:{{ default .Values.image.tag .Values.image.repoTags.controlPlane }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
args: args:
- "-e http://{{ .Release.Name }}-api-rest:8081" - "-e http://{{ .Release.Name }}-api-rest:8081"

View File

@ -20,10 +20,14 @@ rules:
- apiGroups: ["apiextensions.k8s.io"] - apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"] resources: ["customresourcedefinitions"]
verbs: ["create", "get", "update", "list"] verbs: ["create", "get", "update", "list"]
# must read mayastorpools info. This is needed to handle upgrades from v1.
- apiGroups: [ "openebs.io" ]
resources: [ "mayastorpools" ]
verbs: ["get", "list", "patch", "delete", "deletecollection"]
# must read diskpool info # must read diskpool info
- apiGroups: ["openebs.io"] - apiGroups: ["openebs.io"]
resources: ["diskpools"] resources: ["diskpools"]
verbs: ["get", "list", "watch", "update", "replace", "patch"] verbs: ["get", "list", "watch", "update", "replace", "patch", "create"]
# must update diskpool status # must update diskpool status
- apiGroups: ["openebs.io"] - apiGroups: ["openebs.io"]
resources: ["diskpools/status"] resources: ["diskpools/status"]

View File

@ -4,7 +4,17 @@ image:
# -- Image registry's namespace # -- Image registry's namespace
repo: openebs repo: openebs
# -- Release tag for our images # -- Release tag for our images
tag: v2.0.1 tag: v2.1.0
repoTags:
# Note: Below image tag configuration is optional and typically should never be
# used. Setting specific image tags for the different repositories proves useful
# for some integration testing scenarios. Use the 'tag' option above to set
# release/pre-release container image tags.
# The below tag values will be picked for images by default.
# If not specified, 'tag' option provided above will be picked.
controlPlane: ""
dataPlane: ""
extensions: ""
# -- ImagePullPolicy for our images # -- ImagePullPolicy for our images
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
@ -15,6 +25,10 @@ image:
nodeSelector: nodeSelector:
kubernetes.io/arch: amd64 kubernetes.io/arch: amd64
# -- Pod scheduling priority
# ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: ""
earlyEvictionTolerations: earlyEvictionTolerations:
- effect: NoExecute - effect: NoExecute
key: node.kubernetes.io/unreachable key: node.kubernetes.io/unreachable
@ -119,6 +133,20 @@ agents:
core: core:
# -- Log level for the core service # -- Log level for the core service
logLevel: info logLevel: info
capacity:
thin:
# -- The allowed pool commitment limit when dealing with thin provisioned volumes.
# Example: If the commitment is 250 and the pool is 10GiB we can overcommit the pool
# up to 25GiB (create 2 10GiB and 1 5GiB volume) but no further.
poolCommitment: "250%"
# -- When creating replicas for an existing volume, each replica pool must have at least
# this much free space percentage of the volume size.
# Example: if this value is 40, the pool has 40GiB free, then the max volume size allowed
# to be created on the pool is 100GiB.
volumeCommitment: "40%"
# -- Same as the `volumeCommitment` argument, but applicable only when creating replicas
# for a new volume.
volumeCommitmentInitial: "40%"
resources: resources:
limits: limits:
# -- Cpu limits for core agents # -- Cpu limits for core agents
@ -250,7 +278,7 @@ csi:
io_engine: io_engine:
# -- Log level for the io-engine service # -- Log level for the io-engine service
logLevel: info,io_engine=info logLevel: info
api: "v1" api: "v1"
target: target:
nvmf: nvmf:
@ -263,8 +291,11 @@ io_engine:
envcontext: "" envcontext: ""
reactorFreezeDetection: reactorFreezeDetection:
enabled: false enabled: false
# -- The number of cpu that each io-engine instance will bind to. # -- The number of cores that each io-engine instance will bind to.
cpuCount: "2" cpuCount: "2"
# -- If not empty, overrides the cpuCount and explicitly sets the list of cores.
# Example: --set='io_engine.coreList={30,31}'
coreList: []
# -- Node selectors to designate storage nodes for diskpool creation # -- Node selectors to designate storage nodes for diskpool creation
# Note that if multi-arch images support 'kubernetes.io/arch: amd64' # Note that if multi-arch images support 'kubernetes.io/arch: amd64'
# should be removed. # should be removed.
@ -349,9 +380,13 @@ etcd:
# extra debug information on logs # extra debug information on logs
debug: false debug: false
initialClusterState: "new" initialClusterState: "new"
# Pod anti-affinity preset
# -- Pod anti-affinity preset
# Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity # Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
podAntiAffinityPreset: "hard" podAntiAffinityPreset: "hard"
## -- nodeSelector [object] Node labels for pod assignment
## Ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}
# etcd service parameters defines how the etcd service is exposed # etcd service parameters defines how the etcd service is exposed
service: service:

View File

@ -18,7 +18,7 @@ imagePullSecrets: []
release: release:
# "openebs.io/version" label for control plane components # "openebs.io/version" label for control plane components
version: "3.5.0" version: "3.6.0"
# Legacy components will be installed if it is enabled. # Legacy components will be installed if it is enabled.
# Legacy components are - admission-server, maya api-server, snapshot-operator # Legacy components are - admission-server, maya api-server, snapshot-operator
@ -404,7 +404,7 @@ mayastor:
# Sample configuration, if you want to configure mayastor with custom values. # Sample configuration, if you want to configure mayastor with custom values.
# This is a small part of the full configuration. Full configuration available # This is a small part of the full configuration. Full configuration available
# here - https://github.com/openebs/mayastor-extensions/blob/v2.0.1/chart/values.yaml # here - https://github.com/openebs/mayastor-extensions/blob/v2.1.0/chart/values.yaml
image: image:
# -- Image registry to pull Mayastor product images # -- Image registry to pull Mayastor product images
@ -412,9 +412,13 @@ mayastor:
# -- Image registry's namespace # -- Image registry's namespace
repo: openebs repo: openebs
# -- Release tag for Mayastor images # -- Release tag for Mayastor images
tag: v2.0.1 tag: v2.1.0
# -- ImagePullPolicy for Mayastor images # -- ImagePullPolicy for Mayastor images
pullPolicy: Always pullPolicy: IfNotPresent
# -- Pod scheduling priority
# ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
# priorityClassName: ""
# base: # base:
# # docker-secrets required to pull images if the container registry from image.Registry is protected # # docker-secrets required to pull images if the container registry from image.Registry is protected
@ -455,6 +459,20 @@ mayastor:
# core: # core:
# # -- Log level for the core service # # -- Log level for the core service
# logLevel: info # logLevel: info
# capacity:
# thin:
# # -- The allowed pool commitment limit when dealing with thin provisioned volumes.
# # Example: If the commitment is 250 and the pool is 10GiB we can overcommit the pool
# # up to 25GiB (create 2 10GiB and 1 5GiB volume) but no further.
# poolCommitment: "250%"
# # -- When creating replicas for an existing volume, each replica pool must have at least
# # this much free space percentage of the volume size.
# # Example: if this value is 40, the pool has 40GiB free, then the max volume size allowed
# # to be created on the pool is 100GiB.
# volumeCommitment: "40%"
# # -- Same as the `volumeCommitment` argument, but applicable only when creating replicas
# # for a new volume.
# volumeCommitmentInitial: "40%"
# ha: # ha:
# enabled: true # enabled: true
# node: # node:
@ -501,7 +519,7 @@ mayastor:
# io_engine: # io_engine:
# # -- Log level for the io-engine service # # -- Log level for the io-engine service
# logLevel: info,io_engine=info # logLevel: info
# # -- Node selectors to designate storage nodes for diskpool creation # # -- Node selectors to designate storage nodes for diskpool creation
# # Note that if multi-arch images support 'kubernetes.io/arch: amd64' # # Note that if multi-arch images support 'kubernetes.io/arch: amd64'
# # should be removed. # # should be removed.

View File

@ -16,4 +16,4 @@ maintainers:
- email: sergey.pronin@percona.com - email: sergey.pronin@percona.com
name: spron-in name: spron-in
name: psmdb-operator name: psmdb-operator
version: 1.14.1 version: 1.14.2

View File

@ -40,6 +40,7 @@ The chart can be customized using the following configurable parameters:
| `rbac.create` | If false RBAC will not be created. RBAC resources will need to be created manually | `true` | | `rbac.create` | If false RBAC will not be created. RBAC resources will need to be created manually | `true` |
| `securityContext` | Container Security Context | `{}` | | `securityContext` | Container Security Context | `{}` |
| `serviceAccount.create` | If false the ServiceAccounts will not be created. The ServiceAccounts must be created manually | `true` | | `serviceAccount.create` | If false the ServiceAccounts will not be created. The ServiceAccounts must be created manually | `true` |
| `disableTelemetry` | Disable sending PSMDB Operator telemetry data to Percona | `false` |
Specify parameters using `--set key=value[,key=value]` argument to `helm install` Specify parameters using `--set key=value[,key=value]` argument to `helm install`

View File

@ -56,6 +56,8 @@ spec:
value: "{{ .Values.env.resyncPeriod }}" value: "{{ .Values.env.resyncPeriod }}"
- name: LOG_VERBOSE - name: LOG_VERBOSE
value: "{{ .Values.env.logVerbose }}" value: "{{ .Values.env.logVerbose }}"
- name: DISABLE_TELEMETRY
value: "{{ .Values.disableTelemetry }}"
# livenessProbe: # livenessProbe:
# httpGet: # httpGet:
# path: / # path: /

View File

@ -9,6 +9,12 @@ image:
tag: 1.14.0 tag: 1.14.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
# disableTelemetry: according to
# https://docs.percona.com/percona-operator-for-mongodb/telemetry.html
# this is how you can disable telemetry collection
# default is false which means telemetry will be collected
disableTelemetry: false
# set if you want to specify a namespace to watch # set if you want to specify a namespace to watch
# defaults to `.Release.namespace` if left blank # defaults to `.Release.namespace` if left blank
# watchNamespace: # watchNamespace:

View File

@ -31,4 +31,4 @@ name: redpanda
sources: sources:
- https://github.com/redpanda-data/helm-charts - https://github.com/redpanda-data/helm-charts
type: application type: application
version: 4.0.7 version: 4.0.12

View File

@ -19,7 +19,8 @@ statefulset:
external: external:
enabled: true enabled: true
type: LoadBalancer # was LoadBalancer, here we are concerned with external addresses working so this is ok
type: NodePort
domain: my-domain domain: my-domain
addresses: addresses:
- redpanda-1 - redpanda-1

View File

@ -1,49 +0,0 @@
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
license_key: "dGVzdAo=.dGVzdAo="
storage:
tieredConfig:
cloud_storage_enabled: true
false_value: false
zero_value: 0
null_value: null
empty_array_value: []
empty_map_value: {}
empty_string_value: ""
config:
cluster:
false_value: false
zero_value: 0
null_value: null
empty_array_value: []
empty_map_value: {}
empty_string_value: ""
tunable:
false_value: false
zero_value: 0
null_value: null
empty_array_value: []
empty_map_value: {}
empty_string_value: ""
node:
false_value: false
zero_value: 0
null_value: null
empty_array_value: []
empty_map_value: {}
empty_string_value: ""

View File

@ -449,9 +449,8 @@ than 1 core.
{{- define "tunable" -}} {{- define "tunable" -}}
{{- $tunable := dig "tunable" dict .Values.config -}} {{- $tunable := dig "tunable" dict .Values.config -}}
{{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool -}} {{- if (include "redpanda-atleast-22-3-0" . | fromJson).bool -}}
{{- toYaml $tunable | nindent 4 -}}
{{- range $key, $element := $tunable }} {{- range $key, $element := $tunable }}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -460,7 +459,7 @@ than 1 core.
{{- $tunable = unset $tunable "log_segment_size_max" -}} {{- $tunable = unset $tunable "log_segment_size_max" -}}
{{- $tunable = unset $tunable "kafka_batch_max_bytes" -}} {{- $tunable = unset $tunable "kafka_batch_max_bytes" -}}
{{- range $key, $element := $tunable }} {{- range $key, $element := $tunable }}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@ -71,7 +71,7 @@ data:
{{- end }} {{- end }}
{{- with (dig "cluster" dict .Values.config) }} {{- with (dig "cluster" dict .Values.config) }}
{{- range $key, $element := .}} {{- range $key, $element := .}}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -87,7 +87,7 @@ data:
{{- $tieredStorageConfig = unset $tieredStorageConfig "cloud_storage_credentials_source"}} {{- $tieredStorageConfig = unset $tieredStorageConfig "cloud_storage_credentials_source"}}
{{- end }} {{- end }}
{{- range $key, $element := $tieredStorageConfig}} {{- range $key, $element := $tieredStorageConfig}}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -115,14 +115,14 @@ data:
{{- end }} {{- end }}
{{- with (dig "cluster" dict .Values.config) }} {{- with (dig "cluster" dict .Values.config) }}
{{- range $key, $element := .}} {{- range $key, $element := .}}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with (dig "tunable" dict .Values.config) }} {{- with (dig "tunable" dict .Values.config) }}
{{- range $key, $element := .}} {{- range $key, $element := .}}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -132,7 +132,7 @@ data:
{{- end }} {{- end }}
{{- with dig "node" dict .Values.config }} {{- with dig "node" dict .Values.config }}
{{- range $key, $element := .}} {{- range $key, $element := .}}
{{- if $element }} {{- if or (eq (typeOf $element) "bool") $element }}
{{ $key }}: {{ $element | toYaml }} {{ $key }}: {{ $element | toYaml }}
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -200,7 +200,7 @@ data:
{{- $certPath := printf "/etc/tls/certs/%s" $certName }} {{- $certPath := printf "/etc/tls/certs/%s" $certName }}
{{- $cert := get $values.tls.certs $certName }} {{- $cert := get $values.tls.certs $certName }}
{{- if empty $cert }} {{- if empty $cert }}
{{- fail (printf "Certificate, '%s', used but not defined")}} {{- fail (printf "Certificate, '%s', used but not defined" $certName)}}
{{- end }} {{- end }}
- name: {{ $name }} - name: {{ $name }}
enabled: true enabled: true

View File

@ -26,6 +26,15 @@ limitations under the License.
{{- $uid := dig "podSecurityContext" "runAsUser" .Values.statefulset.securityContext.runAsUser .Values.statefulset -}} {{- $uid := dig "podSecurityContext" "runAsUser" .Values.statefulset.securityContext.runAsUser .Values.statefulset -}}
{{- $gid := dig "podSecurityContext" "fsGroup" .Values.statefulset.securityContext.fsGroup .Values.statefulset -}} {{- $gid := dig "podSecurityContext" "fsGroup" .Values.statefulset.securityContext.fsGroup .Values.statefulset -}}
{{- $root := deepCopy . }} {{- $root := deepCopy . }}
{{- if not (include "redpanda-atleast-22-2-0" . | fromJson).bool -}}
{{- if eq (get .Values "force" | default false) false -}}
{{- fail (
printf "\n\nError: The Redpanda version (%s) is not longer supported \nTo accept this risk, run the upgrade again adding `--set force=true`\n" (( include "redpanda.semver" . ))
)
-}}
{{- end -}}
{{- end -}}
--- ---
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
@ -68,7 +77,7 @@ spec:
rpk redpanda tune all rpk redpanda tune all
securityContext: securityContext:
capabilities: capabilities:
add: ["CAP_SYS_RESOURCE"] add: ["SYS_RESOURCE"]
privileged: true privileged: true
runAsUser: 0 runAsUser: 0
runAsGroup: 0 runAsGroup: 0

View File

@ -14,9 +14,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/}} */}}
{{- if and .Values.rbac.enabled (include "redpanda-atleast-23-1-1" .|fromJson).bool -}}
{{- $sasl := .Values.auth.sasl }} {{- $sasl := .Values.auth.sasl }}
{{- $useSaslSecret := and $sasl.enabled (not (empty $sasl.secretRef )) }} {{- $useSaslSecret := and $sasl.enabled (not (empty $sasl.secretRef )) }}
{{- if .Values.rbac.enabled -}}
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:

View File

@ -149,7 +149,7 @@ tls:
# -- Example external tls configuration # -- Example external tls configuration
# uncomment and set the right key to the listeners that require them # uncomment and set the right key to the listeners that require them
# also enable the tls setting for those listeners. # also enable the tls setting for those listeners.
# external: external:
# -- To use a custom pre-installed Issuer, # -- To use a custom pre-installed Issuer,
# add its name and kind to the `issuerRef` object. # add its name and kind to the `issuerRef` object.
# issuerRef: # issuerRef:
@ -160,7 +160,7 @@ tls:
# name: my-tls-secret # name: my-tls-secret
# -- Set the `caEnabled` flag to `true` only for Certificates # -- Set the `caEnabled` flag to `true` only for Certificates
# that are not authenticated using public authorities. # that are not authenticated using public authorities.
# caEnabled: true caEnabled: true
# duration: 43800h # duration: 43800h
# -- External access settings. # -- External access settings.
@ -639,6 +639,9 @@ listeners:
# List one port if you want to use the same port for each broker (would be the case when using NodePort service). # List one port if you want to use the same port for each broker (would be the case when using NodePort service).
# Otherwise, list the port you want to use for each broker in order of StatefulSet replicas. # Otherwise, list the port you want to use for each broker in order of StatefulSet replicas.
# If undefined, `listeners.admin.port` is used. # If undefined, `listeners.admin.port` is used.
tls:
# enabled: true
cert: external
advertisedPorts: advertisedPorts:
- 31644 - 31644
# -- Optional TLS section (required if global TLS is enabled) # -- Optional TLS section (required if global TLS is enabled)
@ -666,11 +669,9 @@ listeners:
# -- If undefined, `listeners.kafka.external.default.port` is used. # -- If undefined, `listeners.kafka.external.default.port` is used.
advertisedPorts: advertisedPorts:
- 31092 - 31092
# -- Uncomment to define external tls tls:
# tls: # enabled: true
# # Optional flag to override the global TLS enabled flag. cert: external
# # enabled: true
# cert: external
# -- RPC listener (this is never externally accessible). # -- RPC listener (this is never externally accessible).
rpc: rpc:
port: 33145 port: 33145
@ -695,11 +696,9 @@ listeners:
port: 8084 port: 8084
advertisedPorts: advertisedPorts:
- 30081 - 30081
# -- Uncomment to define external tls tls:
# tls: # enabled: true
# # Optional flag to override the global TLS enabled flag. cert: external
# # enabled: true
# cert: external
# -- HTTP API listeners (aka PandaProxy). # -- HTTP API listeners (aka PandaProxy).
http: http:
enabled: true enabled: true
@ -716,11 +715,9 @@ listeners:
port: 8083 port: 8083
advertisedPorts: advertisedPorts:
- 30082 - 30082
# -- Uncomment to define external tls tls:
# tls: # enabled: true
# # Optional flag to override the global TLS enabled flag. cert: external
# # enabled: true
# cert: external
# Expert Config # Expert Config
# Here be dragons! # Here be dragons!

View File

@ -4,7 +4,7 @@ annotations:
catalog.cattle.io/kube-version: '>= 1.17.0-0' catalog.cattle.io/kube-version: '>= 1.17.0-0'
catalog.cattle.io/release-name: speedscale-operator catalog.cattle.io/release-name: speedscale-operator
apiVersion: v1 apiVersion: v1
appVersion: 1.2.551 appVersion: 1.2.575
description: Stress test your APIs with real world scenarios. Collect and replay description: Stress test your APIs with real world scenarios. Collect and replay
traffic without scripting. traffic without scripting.
home: https://speedscale.com home: https://speedscale.com
@ -24,4 +24,4 @@ maintainers:
- email: support@speedscale.com - email: support@speedscale.com
name: Speedscale Support name: Speedscale Support
name: speedscale-operator name: speedscale-operator
version: 1.2.36 version: 1.2.40

View File

@ -101,10 +101,10 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
incompatible breaking change needing manual actions. incompatible breaking change needing manual actions.
### Upgrade to 1.2.36 ### Upgrade to 1.2.40
```bash ```bash
kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.36/templates/crds/trafficreplays.yaml kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.40/templates/crds/trafficreplays.yaml
``` ```
### Upgrade to 1.1.0 ### Upgrade to 1.1.0

View File

@ -101,10 +101,10 @@ _See [helm upgrade](https://helm.sh/docs/helm/helm_upgrade/) for command documen
A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an A major chart version change (like v1.2.3 -> v2.0.0) indicates that there is an
incompatible breaking change needing manual actions. incompatible breaking change needing manual actions.
### Upgrade to 1.2.36 ### Upgrade to 1.2.40
```bash ```bash
kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.36/templates/crds/trafficreplays.yaml kubectl apply --server-side -f https://raw.githubusercontent.com/speedscale/operator-helm/main/1.2.40/templates/crds/trafficreplays.yaml
``` ```
### Upgrade to 1.1.0 ### Upgrade to 1.1.0

View File

@ -58,15 +58,15 @@ spec:
image: '{{ .Values.image.registry }}/operator:{{ .Values.image.tag }}' image: '{{ .Values.image.registry }}/operator:{{ .Values.image.tag }}'
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
livenessProbe: livenessProbe:
failureThreshold: 3 failureThreshold: 5
httpGet: httpGet:
path: /healthz path: /healthz
port: health-check port: health-check
scheme: HTTP scheme: HTTP
initialDelaySeconds: 1 initialDelaySeconds: 30
periodSeconds: 10 periodSeconds: 30
successThreshold: 1 successThreshold: 1
timeoutSeconds: 2 timeoutSeconds: 5
name: operator name: operator
ports: ports:
- containerPort: 9443 - containerPort: 9443
@ -74,15 +74,15 @@ spec:
- containerPort: 8081 - containerPort: 8081
name: health-check name: health-check
readinessProbe: readinessProbe:
failureThreshold: 5 failureThreshold: 10
httpGet: httpGet:
path: /readyz path: /readyz
port: health-check port: health-check
scheme: HTTP scheme: HTTP
initialDelaySeconds: 5 initialDelaySeconds: 5
periodSeconds: 1 periodSeconds: 5
successThreshold: 1 successThreshold: 1
timeoutSeconds: 2 timeoutSeconds: 5
resources: resources:
limits: limits:
cpu: 100m cpu: 100m

View File

@ -20,7 +20,7 @@ clusterName: "my-cluster"
# Speedscale components image settings. # Speedscale components image settings.
image: image:
registry: gcr.io/speedscale registry: gcr.io/speedscale
tag: v1.2.551 tag: v1.2.575
pullPolicy: Always pullPolicy: Always
# Log level for Speedscale components. # Log level for Speedscale components.

Some files were not shown because too many files have changed in this diff Show More