bitnami/dataplatform-bp1 Adding Data Platform metrics emitter and Prometheus Exporter (#7504)

* updated chart with exporter and emitter yamls

* updated sa and DP_URI

* set serviceaccount to disabled

* added sa and rolebinding, updated comments in values.yaml

* updated annotations and readme

* removed trailing spaces

* updated docker images

* updated README

* removed trailing spaces

* removed trailing spaces after image tag

* Fixes

* [bitnami/dataplatform-bp1] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

* Fix metadata

* [bitnami/dataplatform-bp1] Update components versions

Signed-off-by: Bitnami Containers <containers@bitnami.com>

Co-authored-by: Javier Salmeron Garcia <jsalmeron@vmware.com>
Co-authored-by: Bitnami Containers <containers@bitnami.com>
This commit is contained in:
gkulkarni32
2021-09-23 13:55:39 +05:30
committed by GitHub
parent 7e0f5a360f
commit adfbaecba7
12 changed files with 1318 additions and 26 deletions

View File

@@ -13,9 +13,9 @@ dependencies:
version: 7.4.3
- name: wavefront
repository: https://charts.bitnami.com/bitnami
version: 3.1.11
version: 3.1.12
- name: common
repository: https://charts.bitnami.com/bitnami
version: 1.9.0
digest: sha256:5acfa9c65351d12a4822fa4a783a62f7a177a7d92b80f8ab951b72f79eba2f66
generated: "2021-09-21T16:10:37.787764224Z"
version: 1.9.1
digest: sha256:45a08d22391bd8ce79b3ea067490b095d4469a110446d45007ce3a81d14c9878
generated: "2021-09-23T07:41:30.671578389Z"

View File

@@ -1,7 +1,7 @@
annotations:
category: Infrastructure
apiVersion: v2
appVersion: 1.0.0
appVersion: 0.0.11
dependencies:
- condition: kafka.enabled
name: kafka
@@ -59,4 +59,4 @@ sources:
- https://github.com/bitnami/bitnami-docker-wavefront-proxy
- https://github.com/wavefrontHQ/wavefront-collector-for-kubernetes
- https://github.com/wavefrontHQ/wavefront-proxy
version: 7.0.1
version: 8.0.0

View File

@@ -9,6 +9,7 @@ This Helm chart enables the fully automated Kubernetes deployment of such multi-
- Apache Kafka Data distribution bus with buffering capabilities
- Apache Spark In-memory data analytics
- Solr Data persistence and search
- Data Platform Prometheus Exporter - Prometheus exporter that emits the health metrics of the data platform
These containerized stateful software stacks are deployed in multi-node cluster configurations, which is defined by the
Helm chart blueprint for this data platform deployment, covering:
@@ -40,6 +41,7 @@ The "Small" size data platform in default configuration deploys the following:
2. Kafka with 3 nodes using the zookeeper deployed above
3. Solr with 2 nodes using the zookeeper deployed above
4. Spark with 1 Master and 2 worker nodes
5. Data Platform Metrics emitter and Prometheus exporter
The data platform can be optionally deployed with the Tanzu observability framework. In that case, the wavefront collectors will be set up as a DaemonSet to collect the Kubernetes cluster metrics to enable runtime feed into the Tanzu Observability service. It will also be pre-configured to scrape the metrics from the Prometheus endpoint that each application (Kafka/Spark/Solr) emits the metrics to.
@@ -93,6 +95,154 @@ The command removes all the Kubernetes components associated with the chart and
| `global.storageClass` | Global StorageClass for Persistent Volume(s) | `""` |
### Common parameters
| Name | Description | Value |
| ------------------- | ------------------------------------------ | ----- |
| `commonLabels` | Labels to add to all deployed objects | `{}` |
| `commonAnnotations` | Annotations to add to all deployed objects | `{}` |
### Data Platform Chart parameters
| Name | Description | Value |
| ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| `dataplatform.serviceAccount.create` | Specifies whether a ServiceAccount should be created | `true` |
| `dataplatform.serviceAccount.name` | The name of the ServiceAccount to create | `""` |
| `dataplatform.serviceAccount.automountServiceAccountToken` | Allows auto mount of ServiceAccountToken on the serviceAccount created | `true` |
| `dataplatform.rbac.create` | Whether to create & use RBAC resources or not | `true` |
| `dataplatform.exporter.enabled` | Start a prometheus exporter | `true` |
| `dataplatform.exporter.image.registry` | dataplatform exporter image registry | `docker.io` |
| `dataplatform.exporter.image.repository` | dataplatform exporter image repository | `bitnami/dataplatform-exporter` |
| `dataplatform.exporter.image.tag` | dataplatform exporter image tag (immutable tags are recommended) | `0.0.11-scratch-r1` |
| `dataplatform.exporter.image.pullPolicy` | dataplatform exporter image pull policy | `IfNotPresent` |
| `dataplatform.exporter.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `dataplatform.exporter.livenessProbe.enabled` | Enable livenessProbe | `true` |
| `dataplatform.exporter.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` |
| `dataplatform.exporter.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
| `dataplatform.exporter.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `15` |
| `dataplatform.exporter.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `15` |
| `dataplatform.exporter.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `dataplatform.exporter.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `dataplatform.exporter.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` |
| `dataplatform.exporter.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `dataplatform.exporter.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `15` |
| `dataplatform.exporter.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `15` |
| `dataplatform.exporter.readinessProbe.successThreshold` | Success threshold for readinessProbe | `15` |
| `dataplatform.exporter.startupProbe.enabled` | Enable startupProbe | `false` |
| `dataplatform.exporter.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` |
| `dataplatform.exporter.startupProbe.periodSeconds` | Period seconds for startupProbe | `5` |
| `dataplatform.exporter.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `15` |
| `dataplatform.exporter.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
| `dataplatform.exporter.startupProbe.successThreshold` | Success threshold for startupProbe | `15` |
| `dataplatform.exporter.containerPorts.http` | Data Platform Prometheus exporter port | `9090` |
| `dataplatform.exporter.priorityClassName` | exporter priorityClassName | `""` |
| `dataplatform.exporter.command` | Override Data Platform Exporter entrypoint string. | `[]` |
| `dataplatform.exporter.args` | Arguments for the provided command if needed | `[]` |
| `dataplatform.exporter.resources.limits` | The resources limits for the container | `{}` |
| `dataplatform.exporter.resources.requests` | The requested resources for the container | `{}` |
| `dataplatform.exporter.containerSecurityContext.enabled` | Enable Data Platform exporter containers' Security Context | `true` |
| `dataplatform.exporter.containerSecurityContext.runAsUser` | User ID for the containers. | `1001` |
| `dataplatform.exporter.containerSecurityContext.runAsNonRoot` | Enable Data Platform exporter containers' Security Context runAsNonRoot | `true` |
| `dataplatform.exporter.podSecurityContext.enabled` | Enable Data Platform exporter pods' Security Context | `true` |
| `dataplatform.exporter.podSecurityContext.fsGroup` | Group ID for the pods. | `1001` |
| `dataplatform.exporter.podAffinityPreset` | Data Platform exporter pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `dataplatform.exporter.podAntiAffinityPreset` | Data Platform exporter pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `dataplatform.exporter.nodeAffinityPreset.type` | Data Platform exporter node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `dataplatform.exporter.nodeAffinityPreset.key` | Data Platform exporter node label key to match Ignored if `affinity` is set. | `""` |
| `dataplatform.exporter.nodeAffinityPreset.values` | Data Platform exporter node label values to match. Ignored if `affinity` is set. | `[]` |
| `dataplatform.exporter.affinity` | Affinity settings for exporter pod assignment. Evaluated as a template | `{}` |
| `dataplatform.exporter.nodeSelector` | Node labels for exporter pods assignment. Evaluated as a template | `{}` |
| `dataplatform.exporter.tolerations` | Tolerations for exporter pods assignment. Evaluated as a template | `[]` |
| `dataplatform.exporter.podLabels` | Additional labels for Metrics exporter pod | `{}` |
| `dataplatform.exporter.podAnnotations` | Additional annotations for Metrics exporter pod | `{}` |
| `dataplatform.exporter.customLivenessProbe` | Override default liveness probe | `{}` |
| `dataplatform.exporter.customReadinessProbe` | Override default readiness probe | `{}` |
| `dataplatform.exporter.customStartupProbe` | Override default startup probe | `{}` |
| `dataplatform.exporter.updateStrategy.type` | Update strategy - only really applicable for deployments with RWO PVs attached | `RollingUpdate` |
| `dataplatform.exporter.updateStrategy.rollingUpdate` | Deployment rolling update configuration parameters | `{}` |
| `dataplatform.exporter.extraEnvVars` | Additional environment variables to set | `[]` |
| `dataplatform.exporter.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `dataplatform.exporter.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `dataplatform.exporter.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `dataplatform.exporter.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `dataplatform.exporter.initContainers` | Add init containers to the %%MAIN_CONTAINER_NAME%% pods | `[]` |
| `dataplatform.exporter.sidecars` | Add sidecars to the %%MAIN_CONTAINER_NAME%% pods | `[]` |
| `dataplatform.exporter.service.type` | Service type for default Data Platform Prometheus exporter service | `ClusterIP` |
| `dataplatform.exporter.service.annotations` | Metrics exporter service annotations | `{}` |
| `dataplatform.exporter.service.labels` | Additional labels for Data Platform exporter service | `{}` |
| `dataplatform.exporter.service.ports.http` | Kubernetes Service port | `9090` |
| `dataplatform.exporter.service.loadBalancerIP` | Load balancer IP for the Data Platform Exporter Service (optional, cloud specific) | `""` |
| `dataplatform.exporter.service.nodePorts.http` | Node ports for the HTTP exporter service | `""` |
| `dataplatform.exporter.service.loadBalancerSourceRanges` | Exporter Load Balancer Source ranges | `[]` |
| `dataplatform.exporter.hostAliases` | Deployment pod host aliases | `[]` |
| `dataplatform.emitter.enabled` | Start Data Platform metrics emitter | `true` |
| `dataplatform.emitter.image.registry` | Data Platform emitter image registry | `docker.io` |
| `dataplatform.emitter.image.repository` | Data Platform emitter image repository | `bitnami/dataplatform-emitter` |
| `dataplatform.emitter.image.tag` | Data Platform emitter image tag (immutable tags are recommended) | `0.0.10-scratch-r0` |
| `dataplatform.emitter.image.pullPolicy` | Data Platform emitter image pull policy | `IfNotPresent` |
| `dataplatform.emitter.image.pullSecrets` | Specify docker-registry secret names as an array | `[]` |
| `dataplatform.emitter.livenessProbe.enabled` | Enable livenessProbe | `true` |
| `dataplatform.emitter.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe | `10` |
| `dataplatform.emitter.livenessProbe.periodSeconds` | Period seconds for livenessProbe | `5` |
| `dataplatform.emitter.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe | `15` |
| `dataplatform.emitter.livenessProbe.failureThreshold` | Failure threshold for livenessProbe | `15` |
| `dataplatform.emitter.livenessProbe.successThreshold` | Success threshold for livenessProbe | `1` |
| `dataplatform.emitter.readinessProbe.enabled` | Enable readinessProbe | `true` |
| `dataplatform.emitter.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe | `10` |
| `dataplatform.emitter.readinessProbe.periodSeconds` | Period seconds for readinessProbe | `5` |
| `dataplatform.emitter.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe | `15` |
| `dataplatform.emitter.readinessProbe.failureThreshold` | Failure threshold for readinessProbe | `15` |
| `dataplatform.emitter.readinessProbe.successThreshold` | Success threshold for readinessProbe | `15` |
| `dataplatform.emitter.startupProbe.enabled` | Enable startupProbe | `false` |
| `dataplatform.emitter.startupProbe.initialDelaySeconds` | Initial delay seconds for startupProbe | `10` |
| `dataplatform.emitter.startupProbe.periodSeconds` | Period seconds for startupProbe | `5` |
| `dataplatform.emitter.startupProbe.timeoutSeconds` | Timeout seconds for startupProbe | `15` |
| `dataplatform.emitter.startupProbe.failureThreshold` | Failure threshold for startupProbe | `15` |
| `dataplatform.emitter.startupProbe.successThreshold` | Success threshold for startupProbe | `15` |
| `dataplatform.emitter.containerPorts.http` | Data Platform emitter port | `8091` |
| `dataplatform.emitter.priorityClassName` | exporter priorityClassName | `""` |
| `dataplatform.emitter.command` | Override Data Platform entrypoint string. | `[]` |
| `dataplatform.emitter.args` | Arguments for the provided command if needed | `[]` |
| `dataplatform.emitter.resources.limits` | The resources limits for the container | `{}` |
| `dataplatform.emitter.resources.requests` | The requested resources for the container | `{}` |
| `dataplatform.emitter.containerSecurityContext.enabled` | Enable Data Platform emitter containers' Security Context | `true` |
| `dataplatform.emitter.containerSecurityContext.runAsUser` | User ID for the containers. | `1001` |
| `dataplatform.emitter.containerSecurityContext.runAsNonRoot` | Enable Data Platform emitter containers' Security Context runAsNonRoot | `true` |
| `dataplatform.emitter.podSecurityContext.enabled` | Enable Data Platform emitter pods' Security Context | `true` |
| `dataplatform.emitter.podSecurityContext.fsGroup` | Group ID for the pods. | `1001` |
| `dataplatform.emitter.podAffinityPreset` | Data Platform emitter pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `dataplatform.emitter.podAntiAffinityPreset` | Data Platform emitter pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `soft` |
| `dataplatform.emitter.nodeAffinityPreset.type` | Data Platform emitter node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard` | `""` |
| `dataplatform.emitter.nodeAffinityPreset.key` | Data Platform emitter node label key to match Ignored if `affinity` is set. | `""` |
| `dataplatform.emitter.nodeAffinityPreset.values` | Data Platform emitter node label values to match. Ignored if `affinity` is set. | `[]` |
| `dataplatform.emitter.affinity` | Affinity settings for emitter pod assignment. Evaluated as a template | `{}` |
| `dataplatform.emitter.nodeSelector` | Node labels for emitter pods assignment. Evaluated as a template | `{}` |
| `dataplatform.emitter.tolerations` | Tolerations for emitter pods assignment. Evaluated as a template | `[]` |
| `dataplatform.emitter.podLabels` | Additional labels for Metrics emitter pod | `{}` |
| `dataplatform.emitter.podAnnotations` | Additional annotations for Metrics emitter pod | `{}` |
| `dataplatform.emitter.customLivenessProbe` | Override default liveness probe%%MAIN_CONTAINER_NAME%% | `{}` |
| `dataplatform.emitter.customReadinessProbe` | Override default readiness probe%%MAIN_CONTAINER_NAME%% | `{}` |
| `dataplatform.emitter.customStartupProbe` | Override default startup probe | `{}` |
| `dataplatform.emitter.updateStrategy.type` | Update strategy - only really applicable for deployments with RWO PVs attached | `RollingUpdate` |
| `dataplatform.emitter.updateStrategy.rollingUpdate` | Deployment rolling update configuration parameters | `{}` |
| `dataplatform.emitter.extraEnvVars` | Additional environment variables to set | `[]` |
| `dataplatform.emitter.extraEnvVarsCM` | ConfigMap with extra environment variables | `""` |
| `dataplatform.emitter.extraEnvVarsSecret` | Secret with extra environment variables | `""` |
| `dataplatform.emitter.extraVolumes` | Extra volumes to add to the deployment | `[]` |
| `dataplatform.emitter.extraVolumeMounts` | Extra volume mounts to add to the container | `[]` |
| `dataplatform.emitter.initContainers` | Add init containers to the %%MAIN_CONTAINER_NAME%% pods | `[]` |
| `dataplatform.emitter.sidecars` | Add sidecars to the %%MAIN_CONTAINER_NAME%% pods | `[]` |
| `dataplatform.emitter.service.type` | Service type for default Data Platform metrics emitter service | `ClusterIP` |
| `dataplatform.emitter.service.annotations` | annotations for Data Platform emitter service | `{}` |
| `dataplatform.emitter.service.labels` | Additional labels for Data Platform emitter service | `{}` |
| `dataplatform.emitter.service.ports.http` | Kubernetes Service port | `8091` |
| `dataplatform.emitter.service.loadBalancerIP` | Load balancer IP for the dataplatform emitter Service (optional, cloud specific) | `""` |
| `dataplatform.emitter.service.nodePorts.http` | Node ports for the HTTP emitter service | `""` |
| `dataplatform.emitter.service.loadBalancerSourceRanges` | Data Platform Emitter Load Balancer Source ranges | `[]` |
| `dataplatform.emitter.hostAliases` | Deployment pod host aliases | `[]` |
### Zookeeper chart parameters
| Name | Description | Value |
@@ -205,6 +355,8 @@ $ helm install my-release -f values.yaml bitnami/dataplatform-bp1
### Data Platform Deployment with Observability Framework
In the default deployment, the helm chart deploys the data platform with [Metrics Emitter](https://hub.docker.com/r/bitnami/dataplatform-emitter) and [Prometheus Exporter](https://hub.docker.com/r/bitnami/dataplatform-exporter) which emit the health metrics of the data platform which can be integrated with your observability solution.
In case you need to deploy the data platform with [Tanzu Observability](https://docs.wavefront.com/kubernetes.html) Framework for all the applications (Kafka/Spark/Solr) in the data platform, you can specify the 'enabled' parameter using the `--set <component>.metrics.enabled=true` argument to `helm install`. For Solr, the parameter is `solr.exporter.enabled=true` For Example,
```console
@@ -308,6 +460,10 @@ In order to render complete information about the deployment including all the s
## Upgrading
### To 8.0.0
This major adds the data platform metrics emitter and Prometheus exporters to the chart which emit health metrics of the data platform.
### To 7.0.0
This major updates the Kafka subchart and the Solr subchart to their newest major, 14.0.0 and 2.0.0 respectively. [Here](https://github.com/bitnami/charts/pull/7114) you can find more information about the changes introduced in those versions.

View File

@@ -6,3 +6,65 @@ Usage:
{{- define "subcomponent.service.name" -}}
{{- printf "%s-%s" .context.Release.Name .componentName -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "dataplatform.fullname" -}}
{{- include "common.names.fullname" . -}}
{{- end -}}
{{/*
Define the name of the dataplatform exporter
*/}}
{{- define "dataplatform.exporter-name" -}}
{{- printf "%s-%s" (include "dataplatform.fullname" .) "exporter" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Define the name of the dataplatform emitter
*/}}
{{- define "dataplatform.emitter-name" -}}
{{- printf "%s-%s" (include "dataplatform.fullname" .) "emitter" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create the name of the service account to use
*/}}
{{- define "dataplatform.serviceAccountName" -}}
{{- if .Values.dataplatform.serviceAccount.create -}}
{{- default (include "dataplatform.fullname" .) .Values.dataplatform.serviceAccount.name -}}
{{- else -}}
{{- default "default" .Values.dataplatform.serviceAccount.name -}}
{{- end -}}
{{- end -}}
{{/*
Return the proper dataplatform-exporter image name
*/}}
{{- define "dataplatform.exporter.image" -}}
{{- include "common.images.image" (dict "imageRoot" .Values.dataplatform.exporter.image "global" .Values.global) -}}
{{- end -}}
{{/*
Return the proper Docker Image Registry Secret Names
*/}}
{{- define "dataplatform.exporter.imagePullSecrets" -}}
{{- include "common.images.pullSecrets" (dict "images" (list .Values.dataplatform.exporter.image ) "global" .Values.global) -}}
{{- end -}}
{{/*
Return the proper dataplatform-emitter image name
*/}}
{{- define "dataplatform.emitter.image" -}}
{{- include "common.images.image" (dict "imageRoot" .Values.dataplatform.emitter.image "global" .Values.global) -}}
{{- end -}}
{{/*
Return the proper Docker Image Registry Secret Names
*/}}
{{- define "dataplatform.emitter.imagePullSecrets" -}}
{{- include "common.images.pullSecrets" (dict "images" (list .Values.dataplatform.emitter.image ) "global" .Values.global) -}}
{{- end -}}

View File

@@ -0,0 +1,154 @@
{{- if .Values.dataplatform.emitter.enabled }}
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-emitter
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
name: {{ include "dataplatform.emitter-name" . }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
namespace: {{ .Release.Namespace | quote }}
spec:
replicas: 1
{{- if .Values.dataplatform.emitter.updateStrategy }}
strategy: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.updateStrategy "context" $) | nindent 4 }}
{{- end }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
app.kubernetes.io/component: dataplatform-emitter
template:
metadata:
annotations:
{{- if .Values.dataplatform.emitter.podAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.podAnnotations "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }}
{{- end }}
labels: {{- include "common.labels.standard" . | nindent 8 }}
app.kubernetes.io/component: dataplatform-emitter
{{- if .Values.dataplatform.emitter.podLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.podLabels "context" $) | nindent 8 }}
{{- end }}
spec:
serviceAccountName: {{ include "dataplatform.serviceAccountName" . }}
{{- include "dataplatform.emitter.imagePullSecrets" . | nindent 6 }}
{{- if .Values.dataplatform.emitter.hostAliases }}
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.hostAliases "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.emitter.affinity }}
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.emitter.affinity "context" $) | nindent 8 }}
{{- else }}
affinity:
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.dataplatform.emitter.podAffinityPreset "component" "dataplatform-emitter" "context" $) | nindent 10 }}
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.dataplatform.emitter.podAntiAffinityPreset "component" "dataplatform-emitter" "context" $) | nindent 10 }}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.dataplatform.emitter.nodeAffinityPreset.type "key" .Values.dataplatform.emitter.nodeAffinityPreset.key "values" .Values.dataplatform.emitter.nodeAffinityPreset.values) | nindent 10 }}
{{- end }}
{{- if .Values.dataplatform.emitter.nodeSelector }}
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.emitter.nodeSelector "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.emitter.tolerations }}
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.tolerations "context" .) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.emitter.priorityClassName }}
priorityClassName: {{ .Values.dataplatform.emitter.priorityClassName | quote }}
{{- end }}
{{- if .Values.dataplatform.emitter.podSecurityContext.enabled }}
securityContext: {{- omit .Values.dataplatform.emitter.podSecurityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
initContainers:
{{- if .Values.dataplatform.emitter.initContainers }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.initContainers "context" $) | nindent 8 }}
{{- end }}
containers:
- name: dataplatform-emitter
image: {{ include "dataplatform.emitter.image" . }}
imagePullPolicy: {{ .Values.dataplatform.emitter.image.pullPolicy | quote }}
{{- if .Values.dataplatform.emitter.containerSecurityContext.enabled }}
securityContext: {{- omit .Values.dataplatform.emitter.containerSecurityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.command "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.args "context" $) | nindent 12 }}
{{- end }}
env:
- name: BP_NAME
value: {{ include "dataplatform.fullname" . }}
- name: BP_RELEASE_NAME
value: {{ .Release.Name }}
- name: BP_NAMESPACE
value: {{ .Release.Namespace }}
{{- if or .Values.dataplatform.emitter.extraEnvVarsCM .Values.dataplatform.exporter.extraEnvVarsSecret }}
envFrom:
{{- if .Values.dataplatform.emitter.extraEnvVarsCM }}
- configMapRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.extraEnvVarsCM "context" $) }}
{{- end }}
{{- if .Values.dataplatform.emitter.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.extraEnvVarsSecret "context" $) }}
{{- end }}
{{- end }}
ports:
- name: emitter-port
containerPort: {{ .Values.dataplatform.emitter.containerPorts.http }}
{{- if .Values.dataplatform.emitter.resources }}
resources: {{- toYaml .Values.dataplatform.emitter.resources | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: "/v1/health"
port: {{ .Values.dataplatform.emitter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.emitter.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.emitter.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.emitter.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.emitter.livenessProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.emitter.livenessProbe.successThreshold }}
{{- else if .Values.dataplatform.emitter.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.customLivenessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.readinessProbe.enabled }}
readinessProbe:
httpGet:
path: "/v1/health"
port: {{ .Values.dataplatform.emitter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.emitter.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.emitter.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.emitter.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.emitter.readinessProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.emitter.readinessProbe.successThreshold }}
{{- else if .Values.dataplatform.emitter.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.customReadinessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.startupProbe.enabled }}
startupProbe:
httpGet:
path: "/v1/health"
port: {{ .Values.dataplatform.emitter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.emitter.startupProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.emitter.startupProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.emitter.startupProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.emitter.startupProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.emitter.startupProbe.successThreshold }}
{{- else if .Values.dataplatform.emitter.customStartupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.customStartupProbe "context" $) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if .Values.dataplatform.emitter.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.emitter.sidecars }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.emitter.sidecars "context" $) | nindent 8 }}
{{- end }}
volumes:
{{- if .Values.dataplatform.emitter.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.emitter.extraVolumes "context" $) | nindent 8 }}
{{- end }}
{{ end }}

View File

@@ -0,0 +1,44 @@
{{- if .Values.dataplatform.emitter.enabled }}
apiVersion: v1
kind: Service
metadata:
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-emitter
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.dataplatform.emitter.service.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.emitter.service.labels "context" $ ) | nindent 4 }}
{{- end }}
name: "{{ include "dataplatform.emitter-name" . }}"
{{- if or .Values.dataplatform.emitter.service.annotations .Values.commonAnnotations }}
annotations:
{{- if .Values.dataplatform.emitter.service.annotations }}
{{ include "common.tplvalues.render" ( dict "value" .Values.dataplatform.emitter.service.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
namespace: {{ .Release.Namespace | quote }}
spec:
type: {{ .Values.dataplatform.emitter.service.type }}
{{ if eq .Values.dataplatform.emitter.service.type "LoadBalancer" }}
loadBalancerSourceRanges: {{ .Values.dataplatform.emitter.service.loadBalancerSourceRanges }}
{{ end }}
{{- if (and (eq .Values.dataplatform.emitter.service.type "LoadBalancer") (not (empty .Values.dataplatform.emitter.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.dataplatform.emitter.service.loadBalancerIP }}
{{- end }}
ports:
- name: tcp-client
port: {{ .Values.dataplatform.emitter.service.ports.http }}
protocol: TCP
targetPort: emitter-port
{{- if and (or (eq .Values.dataplatform.emitter.service.type "NodePort") (eq .Values.dataplatform.emitter.service.type "LoadBalancer")) (not (empty .Values.dataplatform.emitter.service.nodePorts.http)) }}
nodePort: {{ .Values.dataplatform.emitter.service.nodePorts.http }}
{{- else if eq .Values.dataplatform.emitter.service.type "ClusterIP" }}
nodePort: null
{{- end }}
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-emitter
{{ end }}

View File

@@ -0,0 +1,152 @@
{{- if .Values.dataplatform.exporter.enabled }}
apiVersion: {{ include "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-exporter
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
name: {{ include "dataplatform.exporter-name" . }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
namespace: {{ .Release.Namespace | quote }}
spec:
replicas: 1
{{- if .Values.dataplatform.exporter.updateStrategy }}
strategy: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.updateStrategy "context" $) | nindent 4 }}
{{- end }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
app.kubernetes.io/component: dataplatform-exporter
template:
metadata:
annotations:
{{- if .Values.dataplatform.exporter.podAnnotations }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.podAnnotations "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 8 }}
{{- end }}
labels: {{- include "common.labels.standard" . | nindent 8 }}
app.kubernetes.io/component: dataplatform-exporter
{{- if .Values.dataplatform.exporter.podLabels }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.podLabels "context" $) | nindent 8 }}
{{- end }}
spec:
serviceAccountName: {{ include "dataplatform.serviceAccountName" . }}
{{- include "dataplatform.exporter.imagePullSecrets" . | nindent 6 }}
{{- if .Values.dataplatform.exporter.hostAliases }}
hostAliases: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.hostAliases "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.exporter.affinity }}
affinity: {{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.exporter.affinity "context" $) | nindent 8 }}
{{- else }}
affinity:
podAffinity: {{- include "common.affinities.pods" (dict "type" .Values.dataplatform.exporter.podAffinityPreset "component" "dataplatform-exporter" "context" $) | nindent 10 }}
podAntiAffinity: {{- include "common.affinities.pods" (dict "type" .Values.dataplatform.exporter.podAntiAffinityPreset "component" "dataplatform-exporter" "context" $) | nindent 10 }}
nodeAffinity: {{- include "common.affinities.nodes" (dict "type" .Values.dataplatform.exporter.nodeAffinityPreset.type "key" .Values.dataplatform.exporter.nodeAffinityPreset.key "values" .Values.dataplatform.exporter.nodeAffinityPreset.values) | nindent 10 }}
{{- end }}
{{- if .Values.dataplatform.exporter.nodeSelector }}
nodeSelector: {{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.exporter.nodeSelector "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.exporter.tolerations }}
tolerations: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.tolerations "context" .) | nindent 8 }}
{{- end }}
{{- if .Values.dataplatform.exporter.priorityClassName }}
priorityClassName: {{ .Values.dataplatform.exporter.priorityClassName | quote }}
{{- end }}
{{- if .Values.dataplatform.exporter.podSecurityContext.enabled }}
securityContext: {{- omit .Values.dataplatform.exporter.podSecurityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
initContainers:
{{- if .Values.dataplatform.exporter.initContainers }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.initContainers "context" $) | nindent 8 }}
{{- end }}
containers:
- name: dataplatform-exporter
image: {{ include "dataplatform.exporter.image" . }}
imagePullPolicy: {{ .Values.dataplatform.exporter.image.pullPolicy | quote }}
{{- if .Values.dataplatform.exporter.containerSecurityContext.enabled }}
securityContext: {{- omit .Values.dataplatform.exporter.containerSecurityContext "enabled" | toYaml | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.command }}
command: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.command "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.args }}
args: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.args "context" $) | nindent 12 }}
{{- end }}
env:
- name: BP_NAME
value: {{ include "dataplatform.fullname" . }}
- name: DP_URI
value: http://{{ include "dataplatform.emitter-name" . }}:{{ .Values.dataplatform.emitter.service.ports.http }}
{{- if or .Values.dataplatform.exporter.extraEnvVarsCM .Values.dataplatform.exporter.extraEnvVarsSecret }}
envFrom:
{{- if .Values.dataplatform.exporter.extraEnvVarsCM }}
- configMapRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.extraEnvVarsCM "context" $) }}
{{- end }}
{{- if .Values.dataplatform.exporter.extraEnvVarsSecret }}
- secretRef:
name: {{ include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.extraEnvVarsSecret "context" $) }}
{{- end }}
{{- end }}
ports:
- name: exporter-port
containerPort: {{ .Values.dataplatform.exporter.containerPorts.http }}
{{- if .Values.dataplatform.exporter.resources }}
resources: {{- toYaml .Values.dataplatform.exporter.resources | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.livenessProbe.enabled }}
livenessProbe:
httpGet:
path: "/metrics"
port: {{ .Values.dataplatform.exporter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.exporter.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.exporter.livenessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.exporter.livenessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.exporter.livenessProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.exporter.livenessProbe.successThreshold }}
{{- else if .Values.dataplatform.exporter.customLivenessProbe }}
livenessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.customLivenessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.readinessProbe.enabled }}
readinessProbe:
httpGet:
path: "/metrics"
port: {{ .Values.dataplatform.exporter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.exporter.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.exporter.readinessProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.exporter.readinessProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.exporter.readinessProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.exporter.readinessProbe.successThreshold }}
{{- else if .Values.dataplatform.exporter.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.customReadinessProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.startupProbe.enabled }}
startupProbe:
httpGet:
path: "/v1/health"
port: {{ .Values.dataplatform.exporter.containerPorts.http }}
initialDelaySeconds: {{ .Values.dataplatform.exporter.startupProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.dataplatform.exporter.startupProbe.periodSeconds }}
timeoutSeconds: {{ .Values.dataplatform.exporter.startupProbe.timeoutSeconds }}
failureThreshold: {{ .Values.dataplatform.exporter.startupProbe.failureThreshold }}
successThreshold: {{ .Values.dataplatform.exporter.startupProbe.successThreshold }}
{{- else if .Values.dataplatform.exporter.customStartupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.customStartupProbe "context" $) | nindent 12 }}
{{- end }}
volumeMounts:
{{- if .Values.dataplatform.exporter.extraVolumeMounts }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.dataplatform.exporter.sidecars }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.exporter.sidecars "context" $) | nindent 8 }}
{{- end }}
volumes:
{{- if .Values.dataplatform.exporter.extraVolumes }}
{{- include "common.tplvalues.render" (dict "value" .Values.dataplatform.exporter.extraVolumes "context" $) | nindent 8 }}
{{- end }}
{{ end }}

View File

@@ -0,0 +1,44 @@
{{- if .Values.dataplatform.exporter.enabled }}
apiVersion: v1
kind: Service
metadata:
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-exporter
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.dataplatform.exporter.service.labels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.dataplatform.exporter.service.labels "context" $ ) | nindent 4 }}
{{- end }}
name: "{{ include "dataplatform.exporter-name" . }}"
{{- if or .Values.dataplatform.exporter.service.annotations .Values.commonAnnotations }}
annotations:
{{- if .Values.dataplatform.exporter.service.annotations }}
{{ include "common.tplvalues.render" ( dict "value" .Values.dataplatform.exporter.service.annotations "context" $) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
namespace: {{ .Release.Namespace | quote }}
spec:
type: {{ .Values.dataplatform.exporter.service.type }}
{{ if eq .Values.dataplatform.exporter.service.type "LoadBalancer" }}
loadBalancerSourceRanges: {{ .Values.dataplatform.exporter.service.loadBalancerSourceRanges }}
{{ end }}
{{- if (and (eq .Values.dataplatform.exporter.service.type "LoadBalancer") (not (empty .Values.dataplatform.exporter.service.loadBalancerIP))) }}
loadBalancerIP: {{ .Values.dataplatform.exporter.service.loadBalancerIP }}
{{- end }}
ports:
- name: tcp-client
port: {{ .Values.dataplatform.exporter.service.ports.http }}
protocol: TCP
targetPort: exporter-port
{{- if and (or (eq .Values.dataplatform.exporter.service.type "NodePort") (eq .Values.dataplatform.exporter.service.type "LoadBalancer")) (not (empty .Values.dataplatform.exporter.service.nodePorts.http)) }}
nodePort: {{ .Values.dataplatform.exporter.service.nodePorts.http }}
{{- else if eq .Values.dataplatform.exporter.service.type "ClusterIP" }}
nodePort: null
{{- end }}
selector: {{- include "common.labels.matchLabels" . | nindent 4 }}
app.kubernetes.io/component: dataplatform-exporter
{{ end }}

View File

@@ -0,0 +1,53 @@
{{- if .Values.dataplatform.rbac.create -}}
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: Role
metadata:
name: {{ template "dataplatform.fullname" . }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
rules:
- apiGroups:
- ""
resources:
- statefulsets
- pods
- services
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- namespaces
- namespaces/status
verbs:
- get
- list
- watch
- apiGroups:
- apps
resources:
- controllerrevisions
- daemonsets
- daemonsets/status
- deployments
- deployments/scale
- deployments/status
- replicasets
- replicasets/scale
- replicasets/status
- statefulsets
- statefulsets/scale
- statefulsets/status
verbs:
- get
- list
- watch
{{- end -}}

View File

@@ -0,0 +1,22 @@
{{- if and .Values.dataplatform.serviceAccount.create .Values.dataplatform.rbac.create }}
apiVersion: {{ include "common.capabilities.rbac.apiVersion" . }}
kind: RoleBinding
metadata:
name: {{ template "dataplatform.fullname" . }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
roleRef:
kind: Role
name: {{ template "dataplatform.fullname" . }}
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: {{ template "dataplatform.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- end }}

View File

@@ -0,0 +1,15 @@
{{- if .Values.dataplatform.serviceAccount.create }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "dataplatform.serviceAccountName" . }}
labels: {{- include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: dataplatform
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.commonAnnotations }}
annotations: {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.dataplatform.serviceAccount.automountServiceAccountToken }}
{{- end }}

View File

@@ -2,6 +2,7 @@
## Global Docker image parameters
## Please, note that this will override the image parameters, including dependencies, configured to use the global value
## Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass
##
## @param global.imageRegistry Global Docker image registry
## @param global.imagePullSecrets Global Docker registry secret names as an array
@@ -16,7 +17,592 @@ global:
imagePullSecrets: []
storageClass: ""
## @section Common parameters
## @param commonLabels Labels to add to all deployed objects
##
commonLabels: {}
## @param commonAnnotations Annotations to add to all deployed objects
##
commonAnnotations: {}
## @section Data Platform Chart parameters
## Configuration for the dataplatform prometheus exporter
##
dataplatform:
serviceAccount:
## @param dataplatform.serviceAccount.create Specifies whether a ServiceAccount should be created
##
create: true
## @param dataplatform.serviceAccount.name The name of the ServiceAccount to create
## If not set and create is true, a name is generated using the fullname template
##
name: ""
## @param dataplatform.serviceAccount.automountServiceAccountToken Allows auto mount of ServiceAccountToken on the serviceAccount created
## Can be set to false if pods using this serviceAccount do not need to use K8s API
##
automountServiceAccountToken: true
## Role Based Access
## ref: https://kubernetes.io/docs/admin/authorization/rbac/
##
rbac:
## @param dataplatform.rbac.create Whether to create & use RBAC resources or not
## binding dataplatform ServiceAccount to a role
## that allows dataplatform pods querying the K8s API
##
create: true
exporter:
## @param dataplatform.exporter.enabled Start a prometheus exporter
##
enabled: true
## Data Platform BP1 exporter image
## ref: https://hub.docker.com/r/bitnami/dataplatform-exporter/tags/
## @param dataplatform.exporter.image.registry dataplatform exporter image registry
## @param dataplatform.exporter.image.repository dataplatform exporter image repository
## @param dataplatform.exporter.image.tag dataplatform exporter image tag (immutable tags are recommended)
## @param dataplatform.exporter.image.pullPolicy dataplatform exporter image pull policy
## @param dataplatform.exporter.image.pullSecrets Specify docker-registry secret names as an array
##
image:
registry: docker.io
repository: bitnami/dataplatform-exporter
tag: 0.0.11-scratch-r2
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## Example:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Configure extra options for liveness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param dataplatform.exporter.livenessProbe.enabled Enable livenessProbe
## @param dataplatform.exporter.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param dataplatform.exporter.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param dataplatform.exporter.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param dataplatform.exporter.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param dataplatform.exporter.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 1
## Configure extra options for readiness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param dataplatform.exporter.readinessProbe.enabled Enable readinessProbe
## @param dataplatform.exporter.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param dataplatform.exporter.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param dataplatform.exporter.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param dataplatform.exporter.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param dataplatform.exporter.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 15
## Configure extra options for startup probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-startup-probes/#configure-probes
## @param dataplatform.exporter.startupProbe.enabled Enable startupProbe
## @param dataplatform.exporter.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param dataplatform.exporter.startupProbe.periodSeconds Period seconds for startupProbe
## @param dataplatform.exporter.startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param dataplatform.exporter.startupProbe.failureThreshold Failure threshold for startupProbe
## @param dataplatform.exporter.startupProbe.successThreshold Success threshold for startupProbe
##
startupProbe:
enabled: false
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 15
## @param dataplatform.exporter.containerPorts.http Data Platform Prometheus exporter port
##
containerPorts:
http: 9090
## @param dataplatform.exporter.priorityClassName exporter priorityClassName
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
priorityClassName: ""
## @param dataplatform.exporter.command Override Data Platform Exporter entrypoint string.
##
command: []
## @param dataplatform.exporter.args Arguments for the provided command if needed
##
args: []
## Exporter resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param dataplatform.exporter.resources.limits The resources limits for the container
## @param dataplatform.exporter.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 200m
## memory: 256Mi
##
limits: {}
## Examples:
## requests:
## cpu: 200m
## memory: 10Mi
##
requests: {}
## dataplatform exporter containers' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param dataplatform.exporter.containerSecurityContext.enabled Enable Data Platform exporter containers' Security Context
## @param dataplatform.exporter.containerSecurityContext.runAsUser User ID for the containers.
## @param dataplatform.exporter.containerSecurityContext.runAsNonRoot Enable Data Platform exporter containers' Security Context runAsNonRoot
##
containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## dataplatform exporter pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param dataplatform.exporter.podSecurityContext.enabled Enable Data Platform exporter pods' Security Context
## @param dataplatform.exporter.podSecurityContext.fsGroup Group ID for the pods.
##
podSecurityContext:
enabled: true
fsGroup: 1001
## @param dataplatform.exporter.podAffinityPreset Data Platform exporter pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param dataplatform.exporter.podAntiAffinityPreset Data Platform exporter pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param dataplatform.exporter.nodeAffinityPreset.type Data Platform exporter node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param dataplatform.exporter.nodeAffinityPreset.key Data Platform exporter node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param dataplatform.exporter.nodeAffinityPreset.values Data Platform exporter node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param dataplatform.exporter.affinity Affinity settings for exporter pod assignment. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}
## @param dataplatform.exporter.nodeSelector Node labels for exporter pods assignment. Evaluated as a template
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param dataplatform.exporter.tolerations Tolerations for exporter pods assignment. Evaluated as a template
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param dataplatform.exporter.podLabels Additional labels for Metrics exporter pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param dataplatform.exporter.podAnnotations Additional annotations for Metrics exporter pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param dataplatform.exporter.customLivenessProbe Override default liveness probe
##
customLivenessProbe: {}
## @param dataplatform.exporter.customReadinessProbe Override default readiness probe
##
customReadinessProbe: {}
## @param dataplatform.exporter.customStartupProbe Override default startup probe
##
customStartupProbe: {}
## Update strategy
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
## terminate the single previous pod, so that the new, incoming pod can attach to the PV
## @param dataplatform.exporter.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached
## @param dataplatform.exporter.updateStrategy.rollingUpdate Deployment rolling update configuration parameters
##
updateStrategy:
type: RollingUpdate
rollingUpdate: {}
## @param dataplatform.exporter.extraEnvVars Additional environment variables to set
## Example:
## extraEnvVars:
## - name: FOO
## value: "bar"
##
extraEnvVars: []
## @param dataplatform.exporter.extraEnvVarsCM ConfigMap with extra environment variables
##
extraEnvVarsCM: ""
## @param dataplatform.exporter.extraEnvVarsSecret Secret with extra environment variables
##
extraEnvVarsSecret: ""
## @param dataplatform.exporter.extraVolumes Extra volumes to add to the deployment
##
extraVolumes: []
## @param dataplatform.exporter.extraVolumeMounts Extra volume mounts to add to the container
##
extraVolumeMounts: []
## @param dataplatform.exporter.initContainers Add init containers to the %%MAIN_CONTAINER_NAME%% pods
## Example:
## initContainers:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
initContainers: []
## @param dataplatform.exporter.sidecars Add sidecars to the %%MAIN_CONTAINER_NAME%% pods
## Example:
## sidecars:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
sidecars: []
## Service for the Data Platform exporter deployment
##
service:
## @param dataplatform.exporter.service.type Service type for default Data Platform Prometheus exporter service
##
type: ClusterIP
## @param dataplatform.exporter.service.annotations [object] Metrics exporter service annotations
##
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9090"
prometheus.io/path: "/metrics"
## @param dataplatform.exporter.service.labels Additional labels for Data Platform exporter service
##
labels: {}
## @param dataplatform.exporter.service.ports.http Kubernetes Service port
##
ports:
http: 9090
## @param dataplatform.exporter.service.loadBalancerIP Load balancer IP for the Data Platform Exporter Service (optional, cloud specific)
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
##
loadBalancerIP: ""
## @param dataplatform.exporter.service.nodePorts.http Node ports for the HTTP exporter service
## nodePorts:
## http: <to set explicitly, choose port between 30000-32767>
## https: <to set explicitly, choose port between 30000-32767>
##
nodePorts:
http: ""
## @param dataplatform.exporter.service.loadBalancerSourceRanges Exporter Load Balancer Source ranges
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## @param dataplatform.exporter.hostAliases Deployment pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
emitter:
## @param dataplatform.emitter.enabled Start Data Platform metrics emitter
##
enabled: true
## Data Platform BP1 emitter image
## ref: https://hub.docker.com/r/bitnami/dataplatform-emitter/tags/
## @param dataplatform.emitter.image.registry Data Platform emitter image registry
## @param dataplatform.emitter.image.repository Data Platform emitter image repository
## @param dataplatform.emitter.image.tag Data Platform emitter image tag (immutable tags are recommended)
## @param dataplatform.emitter.image.pullPolicy Data Platform emitter image pull policy
## @param dataplatform.emitter.image.pullSecrets Specify docker-registry secret names as an array
##
image:
registry: docker.io
repository: bitnami/dataplatform-emitter
tag: 0.0.10-scratch-r1
## Specify a imagePullPolicy
## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
##
pullPolicy: IfNotPresent
## Optionally specify an array of imagePullSecrets (secrets must be manually created in the namespace)
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
## Example:
## pullSecrets:
## - myRegistryKeySecretName
##
pullSecrets: []
## Configure extra options for liveness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param dataplatform.emitter.livenessProbe.enabled Enable livenessProbe
## @param dataplatform.emitter.livenessProbe.initialDelaySeconds Initial delay seconds for livenessProbe
## @param dataplatform.emitter.livenessProbe.periodSeconds Period seconds for livenessProbe
## @param dataplatform.emitter.livenessProbe.timeoutSeconds Timeout seconds for livenessProbe
## @param dataplatform.emitter.livenessProbe.failureThreshold Failure threshold for livenessProbe
## @param dataplatform.emitter.livenessProbe.successThreshold Success threshold for livenessProbe
##
livenessProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 1
## Configure extra options for readiness probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes
## @param dataplatform.emitter.readinessProbe.enabled Enable readinessProbe
## @param dataplatform.emitter.readinessProbe.initialDelaySeconds Initial delay seconds for readinessProbe
## @param dataplatform.emitter.readinessProbe.periodSeconds Period seconds for readinessProbe
## @param dataplatform.emitter.readinessProbe.timeoutSeconds Timeout seconds for readinessProbe
## @param dataplatform.emitter.readinessProbe.failureThreshold Failure threshold for readinessProbe
## @param dataplatform.emitter.readinessProbe.successThreshold Success threshold for readinessProbe
##
readinessProbe:
enabled: true
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 15
## Configure extra options for startup probe
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-startup-probes/#configure-probes
## @param dataplatform.emitter.startupProbe.enabled Enable startupProbe
## @param dataplatform.emitter.startupProbe.initialDelaySeconds Initial delay seconds for startupProbe
## @param dataplatform.emitter.startupProbe.periodSeconds Period seconds for startupProbe
## @param dataplatform.emitter.startupProbe.timeoutSeconds Timeout seconds for startupProbe
## @param dataplatform.emitter.startupProbe.failureThreshold Failure threshold for startupProbe
## @param dataplatform.emitter.startupProbe.successThreshold Success threshold for startupProbe
##
startupProbe:
enabled: false
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 15
failureThreshold: 15
successThreshold: 15
## @param dataplatform.emitter.containerPorts.http Data Platform emitter port
##
containerPorts:
http: 8091
## @param dataplatform.emitter.priorityClassName exporter priorityClassName
## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
##
priorityClassName: ""
## @param dataplatform.emitter.command Override Data Platform entrypoint string.
##
command: []
## @param dataplatform.emitter.args Arguments for the provided command if needed
##
args: []
## Data Platform metrics emitter resource requests and limits
## ref: http://kubernetes.io/docs/user-guide/compute-resources/
## We usually recommend not to specify default resources and to leave this as a conscious
## choice for the user. This also increases chances charts run on environments with little
## resources, such as Minikube. If you do want to specify resources, uncomment the following
## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
## @param dataplatform.emitter.resources.limits The resources limits for the container
## @param dataplatform.emitter.resources.requests The requested resources for the container
##
resources:
## Example:
## limits:
## cpu: 200m
## memory: 256Mi
##
limits: {}
## Examples:
## requests:
## cpu: 200m
## memory: 10Mi
##
requests: {}
## Data Platform emitter containers' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
## @param dataplatform.emitter.containerSecurityContext.enabled Enable Data Platform emitter containers' Security Context
## @param dataplatform.emitter.containerSecurityContext.runAsUser User ID for the containers.
## @param dataplatform.emitter.containerSecurityContext.runAsNonRoot Enable Data Platform emitter containers' Security Context runAsNonRoot
##
containerSecurityContext:
enabled: true
runAsUser: 1001
runAsNonRoot: true
## Data Platform emitter pods' Security Context
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
## @param dataplatform.emitter.podSecurityContext.enabled Enable Data Platform emitter pods' Security Context
## @param dataplatform.emitter.podSecurityContext.fsGroup Group ID for the pods.
##
podSecurityContext:
enabled: true
fsGroup: 1001
## @param dataplatform.emitter.podAffinityPreset Data Platform emitter pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAffinityPreset: ""
## @param dataplatform.emitter.podAntiAffinityPreset Data Platform emitter pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
##
podAntiAffinityPreset: soft
## Node affinity preset
## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
##
nodeAffinityPreset:
## @param dataplatform.emitter.nodeAffinityPreset.type Data Platform emitter node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`
##
type: ""
## @param dataplatform.emitter.nodeAffinityPreset.key Data Platform emitter node label key to match Ignored if `affinity` is set.
## E.g.
## key: "kubernetes.io/e2e-az-name"
##
key: ""
## @param dataplatform.emitter.nodeAffinityPreset.values Data Platform emitter node label values to match. Ignored if `affinity` is set.
## E.g.
## values:
## - e2e-az1
## - e2e-az2
##
values: []
## @param dataplatform.emitter.affinity Affinity settings for emitter pod assignment. Evaluated as a template
## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
##
affinity: {}
## @param dataplatform.emitter.nodeSelector Node labels for emitter pods assignment. Evaluated as a template
## ref: https://kubernetes.io/docs/user-guide/node-selection/
##
nodeSelector: {}
## @param dataplatform.emitter.tolerations Tolerations for emitter pods assignment. Evaluated as a template
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
##
tolerations: []
## @param dataplatform.emitter.podLabels Additional labels for Metrics emitter pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
##
podLabels: {}
## @param dataplatform.emitter.podAnnotations Additional annotations for Metrics emitter pod
## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
##
podAnnotations: {}
## @param dataplatform.emitter.customLivenessProbe Override default liveness probe%%MAIN_CONTAINER_NAME%%
##
customLivenessProbe: {}
## @param dataplatform.emitter.customReadinessProbe Override default readiness probe%%MAIN_CONTAINER_NAME%%
##
customReadinessProbe: {}
## @param dataplatform.emitter.customStartupProbe Override default startup probe
##
customStartupProbe: {}
## Update strategy
## If replicas = 1, an update can get "stuck", as the previous pod remains attached to the
## PV, and the "incoming" pod can never start. Changing the strategy to "Recreate" will
## terminate the single previous pod, so that the new, incoming pod can attach to the PV
## @param dataplatform.emitter.updateStrategy.type Update strategy - only really applicable for deployments with RWO PVs attached
## @param dataplatform.emitter.updateStrategy.rollingUpdate Deployment rolling update configuration parameters
##
updateStrategy:
type: RollingUpdate
rollingUpdate: {}
## @param dataplatform.emitter.extraEnvVars Additional environment variables to set
## Example:
## extraEnvVars:
## - name: FOO
## value: "bar"
##
extraEnvVars: []
## @param dataplatform.emitter.extraEnvVarsCM ConfigMap with extra environment variables
##
extraEnvVarsCM: ""
## @param dataplatform.emitter.extraEnvVarsSecret Secret with extra environment variables
##
extraEnvVarsSecret: ""
## @param dataplatform.emitter.extraVolumes Extra volumes to add to the deployment
##
extraVolumes: []
## @param dataplatform.emitter.extraVolumeMounts Extra volume mounts to add to the container
##
extraVolumeMounts: []
## @param dataplatform.emitter.initContainers Add init containers to the %%MAIN_CONTAINER_NAME%% pods
## Example:
## initContainers:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
initContainers: []
## @param dataplatform.emitter.sidecars Add sidecars to the %%MAIN_CONTAINER_NAME%% pods
## Example:
## sidecars:
## - name: your-image-name
## image: your-image
## imagePullPolicy: Always
## ports:
## - name: portname
## containerPort: 1234
##
sidecars: []
## Service for the Data Platform emitter deployment
##
service:
## @param dataplatform.emitter.service.type Service type for default Data Platform metrics emitter service
##
type: ClusterIP
## @param dataplatform.emitter.service.annotations annotations for Data Platform emitter service
##
annotations: {}
## @param dataplatform.emitter.service.labels Additional labels for Data Platform emitter service
##
labels: {}
## @param dataplatform.emitter.service.ports.http Kubernetes Service port
##
ports:
http: 8091
## @param dataplatform.emitter.service.loadBalancerIP Load balancer IP for the dataplatform emitter Service (optional, cloud specific)
## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
##
loadBalancerIP: ""
## @param dataplatform.emitter.service.nodePorts.http Node ports for the HTTP emitter service
## nodePorts:
## http: <to set explicitly, choose port between 30000-32767>
## https: <to set explicitly, choose port between 30000-32767>
##
nodePorts:
http: ""
## @param dataplatform.emitter.service.loadBalancerSourceRanges Data Platform Emitter Load Balancer Source ranges
## loadBalancerSourceRanges:
## - 10.10.10.0/24
##
loadBalancerSourceRanges: []
## @param dataplatform.emitter.hostAliases Deployment pod host aliases
## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
##
hostAliases: []
## @section Zookeeper chart parameters
##
zookeeper:
## @param zookeeper.enabled Switch to enable or disable the Zookeeper helm chart
@@ -55,10 +641,11 @@ zookeeper:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
## @section Kafka chart parameters
##
## Kafka Subchart parameters
##
@@ -99,7 +686,7 @@ kafka:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
podAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
@@ -114,7 +701,7 @@ kafka:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
## Prometheus Exporters / Metrics
##
@@ -174,9 +761,10 @@ kafka:
## This is set to the zookeeper deployed as part of this chart
##
servers:
- '{{ .Release.Name }}-zookeeper'
- "{{ .Release.Name }}-zookeeper"
## @section Solr chart parameters
##
## Solr Subchart parameters
##
@@ -210,7 +798,7 @@ solr:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
resources:
## Recommended values for cpu and memory requests
@@ -247,7 +835,7 @@ solr:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
## Solr Prometheus exporter container resource requests and limits
## @param solr.exporter.resources.limits The resources limits for the container
@@ -269,9 +857,10 @@ solr:
## In this case, it is set to the zookeeper deployed as part of this chart.
##
servers:
- '{{ .Release.Name }}-zookeeper'
- "{{ .Release.Name }}-zookeeper"
## @section Spark chart parameters
##
## Spark Subchart parameters
##
@@ -311,7 +900,7 @@ spark:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
## Spark worker specific configuration
##
@@ -339,7 +928,7 @@ spark:
- key: app.kubernetes.io/instance
operator: In
values:
- '{{ .Release.Name }}'
- "{{ .Release.Name }}"
topologyKey: "kubernetes.io/hostname"
## @param spark.worker.resources.limits The resources limits for the container
## @param spark.worker.resources.requests [object] The resources limits for the container
@@ -358,17 +947,18 @@ spark:
## @param spark.metrics.masterAnnotations [object] Annotations for enabling prometheus to access the metrics endpoint of the master nodes
##
masterAnnotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics/'
prometheus.io/port: '8080'
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics/"
prometheus.io/port: "8080"
## @param spark.metrics.workerAnnotations [object] Annotations for enabling prometheus to access the metrics endpoint of the worker nodes
##
workerAnnotations:
prometheus.io/scrape: 'true'
prometheus.io/path: '/metrics/'
prometheus.io/port: '8081'
prometheus.io/scrape: "true"
prometheus.io/path: "/metrics/"
prometheus.io/port: "8081"
## @section Tanzu Observability (Wavefront) chart parameters
##
## Wavefront Subchart parameters
##
@@ -419,7 +1009,7 @@ wavefront:
type: prometheus
selectors:
images:
- '*bitnami/kafka-exporter*'
- "*bitnami/kafka-exporter*"
port: 9308
path: /metrics
scheme: http
@@ -430,7 +1020,7 @@ wavefront:
type: prometheus
selectors:
images:
- '*bitnami/jmx-exporter*'
- "*bitnami/jmx-exporter*"
port: 5556
path: /metrics
scheme: http
@@ -441,7 +1031,7 @@ wavefront:
type: prometheus
selectors:
images:
- '*bitnami/solr*'
- "*bitnami/solr*"
port: 9983
path: /metrics
scheme: http
@@ -451,7 +1041,7 @@ wavefront:
type: prometheus
selectors:
images:
- '*bitnami/spark*'
- "*bitnami/spark*"
port: 8081
path: /metrics/
scheme: http
@@ -462,7 +1052,7 @@ wavefront:
type: prometheus
selectors:
images:
- '*bitnami/spark*'
- "*bitnami/spark*"
port: 8080
path: /metrics/
scheme: http