From e649a4f5cf0be5344faa6674e2fd5403bd02b7f6 Mon Sep 17 00:00:00 2001 From: asdf2014 Date: Tue, 27 Apr 2021 10:25:48 +0800 Subject: [PATCH 1/2] Add helm chart for Apache Druid --- helm/Chart.yaml | 14 + helm/README.md | 190 +++++++++ helm/requirements.lock | 12 + helm/requirements.yaml | 13 + helm/templates/NOTES.txt | 19 + helm/templates/_helpers.tpl | 81 ++++ helm/templates/broker/deployment.yaml | 75 ++++ helm/templates/broker/ingress.yaml | 39 ++ helm/templates/broker/service.yaml | 23 + helm/templates/configmap.yaml | 33 ++ helm/templates/coordinator/deployment.yaml | 86 ++++ helm/templates/coordinator/ingress.yaml | 39 ++ helm/templates/coordinator/service.yaml | 23 + helm/templates/historical/ingress.yaml | 39 ++ helm/templates/historical/pdb.yaml | 24 ++ helm/templates/historical/service.yaml | 23 + helm/templates/historical/statefulset.yaml | 140 ++++++ helm/templates/middleManager/hpa.yaml | 21 + helm/templates/middleManager/ingress.yaml | 39 ++ helm/templates/middleManager/pdb.yaml | 24 ++ helm/templates/middleManager/service.yaml | 23 + helm/templates/middleManager/statefulset.yaml | 140 ++++++ helm/templates/overlord/deployment.yaml | 86 ++++ helm/templates/overlord/ingress.yaml | 39 ++ helm/templates/overlord/service.yaml | 23 + helm/templates/router/deployment.yaml | 75 ++++ helm/templates/router/ingress.yaml | 39 ++ helm/templates/router/service.yaml | 23 + helm/templates/secrets.yaml | 9 + helm/values.yaml | 401 ++++++++++++++++++ 30 files changed, 1815 insertions(+) create mode 100644 helm/Chart.yaml create mode 100644 helm/README.md create mode 100644 helm/requirements.lock create mode 100644 helm/requirements.yaml create mode 100644 helm/templates/NOTES.txt create mode 100644 helm/templates/_helpers.tpl create mode 100644 helm/templates/broker/deployment.yaml create mode 100644 helm/templates/broker/ingress.yaml create mode 100644 helm/templates/broker/service.yaml create mode 100644 helm/templates/configmap.yaml create mode 100644 helm/templates/coordinator/deployment.yaml create mode 100644 helm/templates/coordinator/ingress.yaml create mode 100644 helm/templates/coordinator/service.yaml create mode 100644 helm/templates/historical/ingress.yaml create mode 100644 helm/templates/historical/pdb.yaml create mode 100644 helm/templates/historical/service.yaml create mode 100644 helm/templates/historical/statefulset.yaml create mode 100644 helm/templates/middleManager/hpa.yaml create mode 100644 helm/templates/middleManager/ingress.yaml create mode 100644 helm/templates/middleManager/pdb.yaml create mode 100644 helm/templates/middleManager/service.yaml create mode 100644 helm/templates/middleManager/statefulset.yaml create mode 100644 helm/templates/overlord/deployment.yaml create mode 100644 helm/templates/overlord/ingress.yaml create mode 100644 helm/templates/overlord/service.yaml create mode 100644 helm/templates/router/deployment.yaml create mode 100644 helm/templates/router/ingress.yaml create mode 100644 helm/templates/router/service.yaml create mode 100644 helm/templates/secrets.yaml create mode 100644 helm/values.yaml diff --git a/helm/Chart.yaml b/helm/Chart.yaml new file mode 100644 index 000000000000..a62f10824d7a --- /dev/null +++ b/helm/Chart.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +appVersion: 0.19.0 +description: DEPRECATED Apache Druid is a high performance real-time analytics database. +name: druid +version: 0.2.18 +home: https://druid.apache.org/ +icon: https://druid.apache.org/img/favicon.png +deprecated: true +sources: + - https://github.com/apache/druid +keywords: + - olap + - database + - analytics diff --git a/helm/README.md b/helm/README.md new file mode 100644 index 000000000000..00c1ab47d180 --- /dev/null +++ b/helm/README.md @@ -0,0 +1,190 @@ +# Apache Druid + +[Apache Druid](https://druid.apache.org/) is a high performance real-time analytics database. + +## DEPRECATION NOTICE + +This chart is deprecated and no longer supported. + +## Install Chart + +To install the Druid Chart into your Kubernetes cluster : + +```bash +helm install --namespace "druid" --name "druid" incubator/druid +``` + +After installation succeeds, you can get a status of Chart + +```bash +helm status "druid" +``` + +If you want to delete your Chart, use this command: + +```bash +helm delete --purge "druid" +``` + +### Helm ingresses + +The Chart provides ingress configuration to allow customization the installation by adapting +the `values.yaml` depending on your setup. +Please read the comments in the `values.yaml` file for more details on how to configure your reverse +proxy or load balancer. + +### Chart Prefix + +This Helm automatically prefixes all names using the release name to avoid collisions. + +### URL prefix + +This chart exposes 6 endpoints: + +- Druid Overlord +- Druid Broker +- Druid Coordinator +- Druid Historical +- Druid Middle Manager +- Druid Router + +### Druid configuration + +Druid configuration can be changed by using environment variables from Docker image. + +See the +[Druid Docker entry point](https://github.com/apache/druid/blob/master/distribution/docker/druid.sh) +for more informations + +### Middle Manager and Historical Statefulset + +Middle Managers and Historicals uses StatefulSet. Persistence is enabled by default. + +## Helm chart Configuration + +The following table lists the configurable parameters of the Druid chart and their default values. + +| Parameter | Description | Default | +|------------------------------------------|---------------------------------------------------------|--------------------------------------------| +| `image.repository` | container image name | `apache/druid` | +| `image.tag` | container image tag | `0.19.0` | +| `image.pullPolicy` | container pull policy | `IfNotPresent` | +| `image.pullSecrets` | image pull secrest for private repositoty | `[]` | +| `configMap.enabled` | enable druid configuration as configmap | `true` | +| `configVars` | druid configuration variables for all components | `` | +| `gCloudStorage.enabled` | look for secret to set google cloud credentials | `false` | +| `gCloudStorage.secretName` | secretName to be mounted as google cloud credentials | `false` | +| `broker.enabled` | enable broker | `true` | +| `broker.name` | broker component name | `broker` | +| `broker.replicaCount` | broker node replicas (deployment) | `1` | +| `broker.port` | port of broker component | `8082` | +| `broker.serviceType` | service type for service | `ClusterIP` | +| `broker.resources` | broker node resources requests & limits | `{}` | +| `broker.podAnnotations` | broker deployment annotations | `{}` | +| `broker.nodeSelector` | Node labels for broker pod assignment | `{}` | +| `broker.tolerations` | broker tolerations | `[]` | +| `broker.config` | broker private config such as `JAVA_OPTS` | | +| `broker.affinity` | broker affinity policy | `{}` | +| `broker.ingress.enabled` | enable ingress | `false` | +| `broker.ingress.hosts` | hosts for the broker api | `[ "chart-example.local" ]` | +| `broker.ingress.path` | path of the broker api | `/` | +| `broker.ingress.annotations` | annotations for the broker api ingress | `{}` | +| `broker.ingress.tls` | TLS configuration for the ingress | `[]` | +| `coordinator.enabled` | enable coordinator | `true` | +| `coordinator.name` | coordinator component name | `coordinator` | +| `coordinator.replicaCount` | coordinator node replicas (deployment) | `1` | +| `coordinator.port` | port of coordinator component | `8081` | +| `coordinator.serviceType` | service type for service | `ClusterIP` | +| `coordinator.resources` | coordinator node resources requests & limits | `{}` | +| `coordinator.podAnnotations` | coordinator Deployment annotations | `{}` | +| `coordinator.nodeSelector` | node labels for coordinator pod assignment | `{}` | +| `coordinator.tolerations` | coordinator tolerations | `[]` | +| `coordinator.config` | coordinator private config such as `JAVA_OPTS` | | +| `coordinator.affinity` | coordinator affinity policy | `{}` | +| `coordinator.ingress.enabled` | enable ingress | `false` | +| `coordinator.ingress.hosts` | hosts for the coordinator api | `[ "chart-example.local" ]` | +| `coordinator.ingress.path` | path of the coordinator api | `/` | +| `coordinator.ingress.annotations` | annotations for the coordinator api ingress | `{}` | +| `coordinator.ingress.tls` | TLS configuration for the ingress | `[]` | +| `overlord.enabled` | enable overlord | `false` | +| `overlord.name` | overlord component name | `overlord` | +| `overlord.replicaCount` | overlord node replicas (deployment) | `1` | +| `overlord.port` | port of overlord component | `8081` | +| `overlord.serviceType` | service type for service | `ClusterIP` | +| `overlord.resources` | overlord node resources requests & limits | `{}` | +| `overlord.podAnnotations` | overlord Deployment annotations | `{}` | +| `overlord.nodeSelector` | node labels for overlord pod assignment | `{}` | +| `overlord.tolerations` | overlord tolerations | `[]` | +| `overlord.config` | overlord private config such as `JAVA_OPTS` | | +| `overlord.affinity` | overlord affinity policy | `{}` | +| `overlord.ingress.enabled` | enable ingress | `false` | +| `overlord.ingress.hosts` | hosts for the overlord api | `[ "chart-example.local" ]` | +| `overlord.ingress.path` | path of the overlord api | `/` | +| `overlord.ingress.annotations` | annotations for the overlord api ingress | `{}` | +| `overlord.ingress.tls` | TLS configuration for the ingress | `[]` | +| `historical.enabled` | enable historical | `true` | +| `historical.name` | historical component name | `historical` | +| `historical.replicaCount` | historical node replicas (statefulset) | `1` | +| `historical.port` | port of historical component | `8083` | +| `historical.serviceType` | service type for service | `ClusterIP` | +| `historical.resources` | historical node resources requests & limits | `{}` | +| `historical.podAnnotations` | historical Deployment annotations | `{}` | +| `historical.nodeSelector` | node labels for historical pod assignment | `{}` | +| `historical.securityContext` | custom security context for historical containers | `{ fsGroup: 1000 }` | +| `historical.tolerations` | historical tolerations | `[]` | +| `historical.config` | historical node private config such as `JAVA_OPTS` | | +| `historical.persistence.enabled` | historical persistent enabled/disabled | `true` | +| `historical.persistence.size` | historical persistent volume size | `4Gi` | +| `historical.persistence.storageClass` | historical persistent volume Class | `nil` | +| `historical.persistence.accessMode` | historical persistent Access Mode | `ReadWriteOnce` | +| `historical.antiAffinity` | historical anti-affinity policy | `soft` | +| `historical.nodeAffinity` | historical node affinity policy | `{}` | +| `historical.ingress.enabled` | enable ingress | `false` | +| `historical.ingress.hosts` | hosts for the historical api | `[ "chart-example.local" ]` | +| `historical.ingress.path` | path of the historical api | `/` | +| `historical.ingress.annotations` | annotations for the historical api ingress | `{}` | +| `historical.ingress.tls` | TLS configuration for the ingress | `[]` | +| `middleManager.enabled` | enable middleManager | `true` | +| `middleManager.name` | middleManager component name | `middleManager` | +| `middleManager.replicaCount` | middleManager node replicas (statefulset) | `1` | +| `middleManager.port` | port of middleManager component | `8091` | +| `middleManager.serviceType` | service type for service | `ClusterIP` | +| `middleManager.resources` | middleManager node resources requests & limits | `{}` | +| `middleManager.podAnnotations` | middleManager Deployment annotations | `{}` | +| `middleManager.nodeSelector` | Node labels for middleManager pod assignment | `{}` | +| `middleManager.securityContext` | custom security context for middleManager containers | `{ fsGroup: 1000 }` | +| `middleManager.tolerations` | middleManager tolerations | `[]` | +| `middleManager.config` | middleManager private config such as `JAVA_OPTS` | | +| `middleManager.persistence.enabled` | middleManager persistent enabled/disabled | `true` | +| `middleManager.persistence.size` | middleManager persistent volume size | `4Gi` | +| `middleManager.persistence.storageClass` | middleManager persistent volume Class | `nil` | +| `middleManager.persistence.accessMode` | middleManager persistent Access Mode | `ReadWriteOnce` | +| `middleManager.antiAffinity` | middleManager anti-affinity policy | `soft` | +| `middleManager.nodeAffinity` | middleManager node affinity policy | `{}` | +| `middleManager.autoscaling.enabled` | enable horizontal pod autoscaling | `false` | +| `middleManager.autoscaling.minReplicas` | middleManager autoscaling min replicas | `2` | +| `middleManager.autoscaling.maxReplicas` | middleManager autoscaling max replicas | `5` | +| `middleManager.autoscaling.metrics` | middleManager autoscaling metrics | `{}` | +| `middleManager.ingress.enabled` | enable ingress | `false` | +| `middleManager.ingress.hosts` | hosts for the middleManager api | `[ "chart-example.local" ]` | +| `middleManager.ingress.path` | path of the middleManager api | `/` | +| `middleManager.ingress.annotations` | annotations for the middleManager api ingress | `{}` | +| `middleManager.ingress.tls` | TLS configuration for the ingress | `[]` | +| `router.enabled` | enable router | `false` | +| `router.name` | router component name | `router` | +| `router.replicaCount` | router node replicas (deployment) | `1` | +| `router.port` | port of router component | `8888` | +| `router.serviceType` | service type for service | `ClusterIP` | +| `router.resources` | router node resources requests & limits | `{}` | +| `router.podAnnotations` | router Deployment annotations | `{}` | +| `router.nodeSelector` | node labels for router pod assignment | `{}` | +| `router.tolerations` | router tolerations | `[]` | +| `router.config` | router private config such as `JAVA_OPTS` | | +| `router.affinity` | router affinity policy | `{}` | +| `router.ingress.enabled` | enable ingress | `false` | +| `router.ingress.hosts` | hosts for the router api | `[ "chart-example.local" ]` | +| `router.ingress.path` | path of the router api | `/` | +| `router.ingress.annotations` | annotations for the router api ingress | `{}` | +| `router.ingress.tls` | TLS configuration for the ingress | `[]` | + +Full and up-to-date documentation can be found in the comments of the `values.yaml` file. diff --git a/helm/requirements.lock b/helm/requirements.lock new file mode 100644 index 000000000000..8393e96b8983 --- /dev/null +++ b/helm/requirements.lock @@ -0,0 +1,12 @@ +dependencies: +- name: zookeeper + repository: https://charts.helm.sh/incubator + version: 2.1.4 +- name: mysql + repository: https://charts.helm.sh/stable + version: 1.6.4 +- name: postgresql + repository: https://charts.helm.sh/stable + version: 8.6.4 +digest: sha256:9d0d913f859b6adcd4d9006ee6fa1f7eae86795bb79c7392e1ce6d74d5d853f6 +generated: "2020-10-30T03:45:54.8287927Z" diff --git a/helm/requirements.yaml b/helm/requirements.yaml new file mode 100644 index 000000000000..9f14a03084ba --- /dev/null +++ b/helm/requirements.yaml @@ -0,0 +1,13 @@ +dependencies: +- name: zookeeper + version: 2.1.4 + repository: https://charts.helm.sh/incubator + condition: zookeeper.enabled +- name: mysql + version: 1.6.4 + repository: https://charts.helm.sh/stable + condition: mysql.enabled +- name: postgresql + version: 8.6.4 + repository: https://charts.helm.sh/stable + condition: postgresql.enabled diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt new file mode 100644 index 000000000000..1c1467cdfb9a --- /dev/null +++ b/helm/templates/NOTES.txt @@ -0,0 +1,19 @@ +1. Get the router URL by running these commands: +{{- if .Values.router.ingress.enabled }} +{{- range .Values.router.ingress.hosts }} + http{{ if $.Values.router.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.router.ingress.path }} +{{- end }} +{{- else if contains "NodePort" .Values.router.serviceType }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "druid.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.router.serviceType }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get svc -w {{ include "druid.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "druid.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + echo http://$SERVICE_IP:{{ .Values.router.port }} +{{- else if contains "ClusterIP" .Values.router.serviceType }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "druid.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl port-forward $POD_NAME 8080:{{ .Values.router.port }} +{{- end }} diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl new file mode 100644 index 000000000000..3b243bd63a4d --- /dev/null +++ b/helm/templates/_helpers.tpl @@ -0,0 +1,81 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "druid.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- 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 "druid.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "druid.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified historical name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.historical.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.historical.name }} +{{- end -}} + +{{/* +Create a default fully qualified middleManager name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.middleManager.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.middleManager.name }} +{{- end -}} + + +{{/* +Create a default fully qualified broker name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.broker.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.broker.name }} +{{- end -}} + +{{/* +Create a default fully qualified overlord name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.overlord.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.overlord.name }} +{{- end -}} + +{{/* +Create a default fully qualified coordinator name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.coordinator.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.coordinator.name }} +{{- end -}} + +{{/* +Create a default fully qualified router name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +*/}} +{{- define "druid.router.fullname" -}} +{{ template "druid.fullname" . }}-{{ .Values.router.name }} +{{- end -}} diff --git a/helm/templates/broker/deployment.yaml b/helm/templates/broker/deployment.yaml new file mode 100644 index 000000000000..632a74ebe1b4 --- /dev/null +++ b/helm/templates/broker/deployment.yaml @@ -0,0 +1,75 @@ +{{- if .Values.broker.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "druid.broker.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.broker.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.broker.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.broker.name }} + template: + metadata: + labels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.broker.name }} + {{- with .Values.broker.podAnnotations }} + annotations: +{{ toYaml . | indent 8 }} + {{- end }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: [ "broker" ] + env: + {{- range $key, $val := .Values.broker.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + ports: + - name: http + containerPort: {{ .Values.broker.port }} + protocol: TCP + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.broker.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.broker.port }} + resources: +{{ toYaml .Values.broker.resources | indent 12 }} + {{- with .Values.broker.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.broker.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.broker.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml . | indent 8 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/broker/ingress.yaml b/helm/templates/broker/ingress.yaml new file mode 100644 index 000000000000..85d267e9e80c --- /dev/null +++ b/helm/templates/broker/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.broker.ingress.enabled -}} +{{- $fullName := include "druid.broker.fullname" . -}} +{{- $ingressPath := .Values.broker.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.broker.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.broker.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.broker.ingress.tls }} + tls: + {{- range .Values.broker.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.broker.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/broker/service.yaml b/helm/templates/broker/service.yaml new file mode 100644 index 000000000000..0c87b8b6231b --- /dev/null +++ b/helm/templates/broker/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.broker.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.broker.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.broker.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.broker.serviceType }} + ports: + - port: {{ .Values.broker.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.broker.name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/configmap.yaml b/helm/templates/configmap.yaml new file mode 100644 index 000000000000..a3c1bc7aecb5 --- /dev/null +++ b/helm/templates/configmap.yaml @@ -0,0 +1,33 @@ +{{- if .Values.configMap.enabled -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ template "druid.name" . }} + labels: + app: {{ template "druid.name" . }} + chart: {{ template "druid.chart" . }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +data: +{{ toYaml .Values.configVars | indent 2 }} +{{- if .Values.zookeeper.enabled }} + druid_zk_service_host: {{ .Release.Name }}-zookeeper-headless:2181 +{{- else }} + druid_zk_service_host: {{ .Values.zkHosts }} +{{- end }} +{{- if .Values.mysql.enabled }} + druid_metadata_storage_type: mysql + druid_metadata_storage_connector_connectURI: jdbc:mysql://{{ .Release.Name }}-mysql:3306/{{ .Values.mysql.mysqlDatabase}} + druid_metadata_storage_connector_user: {{ .Values.mysql.mysqlUser }} + druid_metadata_storage_connector_password: {{ .Values.mysql.mysqlPassword }} +{{- end }} +{{- if .Values.postgresql.enabled }} + druid_metadata_storage_type: postgresql + druid_metadata_storage_connector_connectURI: jdbc:postgresql://{{ .Release.Name }}-postgresql:{{ .Values.postgresql.service.port}}/{{ .Values.postgresql.postgresqlDatabase }} + druid_metadata_storage_connector_user: {{ .Values.postgresql.postgresqlUsername }} + druid_metadata_storage_connector_password: {{ .Values.postgresql.postgresqlPassword }} +{{- end }} +{{- if .Values.gCloudStorage.enabled }} + GOOGLE_APPLICATION_CREDENTIALS: /var/secrets/google/key.json +{{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/coordinator/deployment.yaml b/helm/templates/coordinator/deployment.yaml new file mode 100644 index 000000000000..38d5198ad082 --- /dev/null +++ b/helm/templates/coordinator/deployment.yaml @@ -0,0 +1,86 @@ +{{- if .Values.coordinator.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "druid.coordinator.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.coordinator.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.coordinator.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.coordinator.name }} + template: + metadata: + labels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.coordinator.name }} + {{- with .Values.coordinator.podAnnotations }} + annotations: +{{ toYaml . | indent 8 }} + {{- end }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: [ "coordinator" ] + env: + {{- range $key, $val := .Values.coordinator.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + ports: + - name: http + containerPort: {{ .Values.coordinator.port }} + protocol: TCP + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.coordinator.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.coordinator.port }} + resources: +{{ toYaml .Values.coordinator.resources | indent 12 }} + volumeMounts: + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + mountPath: /var/secrets/google + {{- end }} + volumes: + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + secret: + secretName: {{ .Values.gCloudStorage.secretName }} + {{- end }} + {{- with .Values.coordinator.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.coordinator.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.coordinator.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml . | indent 8 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/coordinator/ingress.yaml b/helm/templates/coordinator/ingress.yaml new file mode 100644 index 000000000000..c1ab749c8b57 --- /dev/null +++ b/helm/templates/coordinator/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.coordinator.ingress.enabled -}} +{{- $fullName := include "druid.coordinator.fullname" . -}} +{{- $ingressPath := .Values.coordinator.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.coordinator.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.coordinator.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.coordinator.ingress.tls }} + tls: + {{- range .Values.coordinator.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.coordinator.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/coordinator/service.yaml b/helm/templates/coordinator/service.yaml new file mode 100644 index 000000000000..39a58db0054e --- /dev/null +++ b/helm/templates/coordinator/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.coordinator.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.coordinator.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.coordinator.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.coordinator.serviceType }} + ports: + - port: {{ .Values.coordinator.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.coordinator.name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/historical/ingress.yaml b/helm/templates/historical/ingress.yaml new file mode 100644 index 000000000000..b5e42b9ab44d --- /dev/null +++ b/helm/templates/historical/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.historical.ingress.enabled -}} +{{- $fullName := include "druid.historical.fullname" . -}} +{{- $ingressPath := .Values.historical.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.historical.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.historical.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.historical.ingress.tls }} + tls: + {{- range .Values.historical.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.historical.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/historical/pdb.yaml b/helm/templates/historical/pdb.yaml new file mode 100644 index 000000000000..1f3da56d9e51 --- /dev/null +++ b/helm/templates/historical/pdb.yaml @@ -0,0 +1,24 @@ +{{- if .Values.historical.podDisruptionBudget.enabled }} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + labels: + app: {{ template "druid.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: {{ .Values.historical.name }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "druid.historical.fullname" . }} +spec: +{{- if .Values.historical.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.historical.podDisruptionBudget.minAvailable }} +{{- end }} +{{- if .Values.historical.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.historical.podDisruptionBudget.maxUnavailable }} +{{- end }} + selector: + matchLabels: + app: {{ template "druid.name" . }} + component: {{ .Values.historical.name }} + release: {{ .Release.Name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/historical/service.yaml b/helm/templates/historical/service.yaml new file mode 100644 index 000000000000..ba229af524f8 --- /dev/null +++ b/helm/templates/historical/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.historical.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.historical.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.historical.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.historical.serviceType }} + ports: + - port: {{ .Values.historical.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.historical.name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/historical/statefulset.yaml b/helm/templates/historical/statefulset.yaml new file mode 100644 index 000000000000..7d7eae98aa02 --- /dev/null +++ b/helm/templates/historical/statefulset.yaml @@ -0,0 +1,140 @@ +{{- if .Values.historical.enabled -}} +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app: {{ template "druid.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: {{ .Values.historical.name }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "druid.historical.fullname" . }} +spec: + serviceName: {{ template "druid.historical.fullname" . }} + replicas: {{ .Values.historical.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.historical.name }} + template: + metadata: + labels: + app: {{ template "druid.name" . }} + component: {{ .Values.historical.name }} + release: {{ .Release.Name }} + {{- with .Values.historical.podAnnotations }} + annotations: +{{ toYaml . | indent 8 }} + {{- end }} + spec: + {{- if or .Values.historical.antiAffinity .Values.historical.nodeAffinity }} + affinity: + {{- end }} + {{- if eq .Values.historical.antiAffinity "hard" }} + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - topologyKey: "kubernetes.io/hostname" + labelSelector: + matchLabels: + app: "{{ template "druid.name" . }}" + release: "{{ .Release.Name }}" + component: "{{ .Values.historical.name }}" + {{- else if eq .Values.historical.antiAffinity "soft" }} + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchLabels: + app: "{{ template "druid.name" . }}" + release: "{{ .Release.Name }}" + component: "{{ .Values.historical.name }}" + {{- end }} + {{- with .Values.historical.nodeAffinity }} + nodeAffinity: +{{ toYaml . | indent 10 }} + {{- end }} +{{- if .Values.historical.nodeSelector }} + nodeSelector: +{{ toYaml .Values.historical.nodeSelector | indent 8 }} +{{- end }} +{{- if .Values.historical.securityContext }} + securityContext: +{{ toYaml .Values.historical.securityContext | indent 8 }} +{{- end }} +{{- if .Values.historical.tolerations }} + tolerations: +{{ toYaml .Values.historical.tolerations | indent 8 }} +{{- end }} +{{- if .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml .Values.image.pullSecrets | indent 8 }} +{{- end }} + containers: + - name: druid + args: [ "historical" ] + env: + {{- range $key, $val := .Values.historical.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + resources: +{{ toYaml .Values.historical.resources | indent 12 }} + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.historical.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.historical.port }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy | quote }} + ports: + - containerPort: {{ .Values.historical.port }} + name: http + volumeMounts: + - mountPath: /opt/druid/var/druid/ + name: data + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + mountPath: /var/secrets/google + {{- end }} + volumes: + {{- if not .Values.historical.persistence.enabled }} + - name: data + emptyDir: {} + {{- end }} + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + secret: + secretName: {{ .Values.gCloudStorage.secretName }} + {{- end }} + updateStrategy: + type: {{ .Values.historical.updateStrategy.type }} + {{- if .Values.historical.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - {{ .Values.historical.persistence.accessMode | quote }} + {{- if .Values.historical.persistence.storageClass }} + {{- if (eq "-" .Values.historical.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.historical.persistence.storageClass }}" + {{- end }} + {{- end }} + resources: + requests: + storage: "{{ .Values.historical.persistence.size }}" + {{- end }} +{{- end }} diff --git a/helm/templates/middleManager/hpa.yaml b/helm/templates/middleManager/hpa.yaml new file mode 100644 index 000000000000..0abcc188e8cf --- /dev/null +++ b/helm/templates/middleManager/hpa.yaml @@ -0,0 +1,21 @@ +{{- if .Values.middleManager.autoscaling.enabled }} +apiVersion: autoscaling/v2beta2 +kind: HorizontalPodAutoscaler +metadata: + name: {{ include "druid.middleManager.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: "{{ .Values.name }}" + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + scaleTargetRef: + apiVersion: apps/v1 + kind: StatefulSet + name: {{ include "druid.middleManager.fullname" . }} + minReplicas: {{ .Values.middleManager.autoscaling.minReplicas }} + maxReplicas: {{ .Values.middleManager.autoscaling.maxReplicas }} + metrics: +{{ toYaml .Values.middleManager.autoscaling.metrics | indent 4 }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/middleManager/ingress.yaml b/helm/templates/middleManager/ingress.yaml new file mode 100644 index 000000000000..cb2a98a48a6c --- /dev/null +++ b/helm/templates/middleManager/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.middleManager.ingress.enabled -}} +{{- $fullName := include "druid.middleManager.fullname" . -}} +{{- $ingressPath := .Values.middleManager.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.middleManager.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.middleManager.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.middleManager.ingress.tls }} + tls: + {{- range .Values.middleManager.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.middleManager.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/middleManager/pdb.yaml b/helm/templates/middleManager/pdb.yaml new file mode 100644 index 000000000000..90b05ea1dd8a --- /dev/null +++ b/helm/templates/middleManager/pdb.yaml @@ -0,0 +1,24 @@ +{{- if .Values.middleManager.podDisruptionBudget.enabled }} +apiVersion: policy/v1beta1 +kind: PodDisruptionBudget +metadata: + labels: + app: {{ template "druid.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: {{ .Values.middleManager.name }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "druid.middleManager.fullname" . }} +spec: +{{- if .Values.middleManager.podDisruptionBudget.minAvailable }} + minAvailable: {{ .Values.middleManager.podDisruptionBudget.minAvailable }} +{{- end }} +{{- if .Values.middleManager.podDisruptionBudget.maxUnavailable }} + maxUnavailable: {{ .Values.middleManager.podDisruptionBudget.maxUnavailable }} +{{- end }} + selector: + matchLabels: + app: {{ template "druid.name" . }} + component: {{ .Values.middleManager.name }} + release: {{ .Release.Name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/middleManager/service.yaml b/helm/templates/middleManager/service.yaml new file mode 100644 index 000000000000..d1bcbf575d14 --- /dev/null +++ b/helm/templates/middleManager/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.middleManager.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.middleManager.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.middleManager.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.middleManager.serviceType }} + ports: + - port: {{ .Values.middleManager.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.middleManager.name }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/middleManager/statefulset.yaml b/helm/templates/middleManager/statefulset.yaml new file mode 100644 index 000000000000..fed59f0a4dc5 --- /dev/null +++ b/helm/templates/middleManager/statefulset.yaml @@ -0,0 +1,140 @@ +{{- if .Values.middleManager.enabled -}} +apiVersion: apps/v1 +kind: StatefulSet +metadata: + labels: + app: {{ template "druid.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version }} + component: {{ .Values.middleManager.name }} + heritage: {{ .Release.Service }} + release: {{ .Release.Name }} + name: {{ template "druid.middleManager.fullname" . }} +spec: + serviceName: {{ template "druid.middleManager.fullname" . }} + replicas: {{ .Values.middleManager.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.middleManager.name }} + template: + metadata: + labels: + app: {{ template "druid.name" . }} + component: {{ .Values.middleManager.name }} + release: {{ .Release.Name }} + {{- if .Values.middleManager.podAnnotations }} + annotations: +{{ toYaml .Values.middleManager.podAnnotations | indent 8 }} + {{- end }} + spec: + {{- if or .Values.middleManager.antiAffinity .Values.middleManager.nodeAffinity }} + affinity: + {{- end }} + {{- if eq .Values.middleManager.antiAffinity "hard" }} + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - topologyKey: "kubernetes.io/hostname" + labelSelector: + matchLabels: + app: "{{ template "druid.name" . }}" + release: "{{ .Release.Name }}" + component: "{{ .Values.middleManager.name }}" + {{- else if eq .Values.middleManager.antiAffinity "soft" }} + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 1 + podAffinityTerm: + topologyKey: kubernetes.io/hostname + labelSelector: + matchLabels: + app: "{{ template "druid.name" . }}" + release: "{{ .Release.Name }}" + component: "{{ .Values.middleManager.name }}" + {{- end }} + {{- with .Values.middleManager.nodeAffinity }} + nodeAffinity: +{{ toYaml . | indent 10 }} + {{- end }} +{{- if .Values.middleManager.nodeSelector }} + nodeSelector: +{{ toYaml .Values.middleManager.nodeSelector | indent 8 }} +{{- end }} +{{- if .Values.middleManager.securityContext }} + securityContext: +{{ toYaml .Values.middleManager.securityContext | indent 8 }} +{{- end }} +{{- if .Values.middleManager.tolerations }} + tolerations: +{{ toYaml .Values.middleManager.tolerations | indent 8 }} +{{- end }} +{{- if .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml .Values.image.pullSecrets | indent 8 }} +{{- end }} + containers: + - name: druid + args: [ "middleManager" ] + env: + {{- range $key, $val := .Values.middleManager.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + resources: +{{ toYaml .Values.middleManager.resources | indent 12 }} + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.middleManager.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.middleManager.port }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy | quote }} + ports: + - containerPort: {{ .Values.middleManager.port }} + name: http + volumeMounts: + - mountPath: /opt/druid/var/druid/ + name: data + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + mountPath: /var/secrets/google + {{- end }} + volumes: + {{- if not .Values.middleManager.persistence.enabled }} + - name: data + emptyDir: {} + {{- end }} + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + secret: + secretName: {{ .Values.gCloudStorage.secretName }} + {{- end }} + updateStrategy: + type: {{ .Values.middleManager.updateStrategy.type }} + {{- if .Values.middleManager.persistence.enabled }} + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: + - {{ .Values.middleManager.persistence.accessMode | quote }} + {{- if .Values.middleManager.persistence.storageClass }} + {{- if (eq "-" .Values.middleManager.persistence.storageClass) }} + storageClassName: "" + {{- else }} + storageClassName: "{{ .Values.middleManager.persistence.storageClass }}" + {{- end }} + {{- end }} + resources: + requests: + storage: "{{ .Values.middleManager.persistence.size }}" + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/templates/overlord/deployment.yaml b/helm/templates/overlord/deployment.yaml new file mode 100644 index 000000000000..fe80ef397272 --- /dev/null +++ b/helm/templates/overlord/deployment.yaml @@ -0,0 +1,86 @@ +{{- if .Values.overlord.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "druid.overlord.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.overlord.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.overlord.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.overlord.name }} + template: + metadata: + labels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.overlord.name }} + {{- with .Values.overlord.podAnnotations }} + annotations: +{{ toYaml . | indent 8 }} + {{- end }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: [ "overlord" ] + env: + {{- range $key, $val := .Values.overlord.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + ports: + - name: http + containerPort: {{ .Values.overlord.port }} + protocol: TCP + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.overlord.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.overlord.port }} + resources: +{{ toYaml .Values.overlord.resources | indent 12 }} + volumeMounts: + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + mountPath: /var/secrets/google + {{- end }} + volumes: + {{- if .Values.gCloudStorage.enabled }} + - name: google-cloud-key + secret: + secretName: {{ .Values.gCloudStorage.secretName }} + {{- end }} + {{- with .Values.overlord.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.overlord.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.overlord.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml . | indent 8 }} + {{- end }} +{{- end }} diff --git a/helm/templates/overlord/ingress.yaml b/helm/templates/overlord/ingress.yaml new file mode 100644 index 000000000000..366fed0b816d --- /dev/null +++ b/helm/templates/overlord/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.overlord.ingress.enabled -}} +{{- $fullName := include "druid.overlord.fullname" . -}} +{{- $ingressPath := .Values.overlord.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.overlord.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.overlord.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.overlord.ingress.tls }} + tls: + {{- range .Values.overlord.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.overlord.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/overlord/service.yaml b/helm/templates/overlord/service.yaml new file mode 100644 index 000000000000..90b04d39c914 --- /dev/null +++ b/helm/templates/overlord/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.overlord.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.overlord.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.overlord.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.overlord.serviceType }} + ports: + - port: {{ .Values.overlord.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.overlord.name }} +{{- end }} diff --git a/helm/templates/router/deployment.yaml b/helm/templates/router/deployment.yaml new file mode 100644 index 000000000000..f9f75b4455dd --- /dev/null +++ b/helm/templates/router/deployment.yaml @@ -0,0 +1,75 @@ +{{- if .Values.router.enabled -}} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "druid.router.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.router.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.router.replicaCount }} + selector: + matchLabels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.router.name }} + template: + metadata: + labels: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.router.name }} + {{- with .Values.router.podAnnotations }} + annotations: +{{ toYaml . | indent 8 }} + {{- end }} + spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + args: [ "router" ] + env: + {{- range $key, $val := .Values.router.config }} + - name: {{ $key }} + value: {{ $val | quote }} + {{- end}} + envFrom: + - configMapRef: + name: {{ template "druid.name" . }} + ports: + - name: http + containerPort: {{ .Values.router.port }} + protocol: TCP + livenessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.router.port }} + readinessProbe: + initialDelaySeconds: 60 + httpGet: + path: /status/health + port: {{ .Values.router.port }} + resources: +{{ toYaml .Values.router.resources | indent 12 }} + {{- with .Values.router.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.router.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.router.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} + {{- end }} + {{- with .Values.image.pullSecrets }} + imagePullSecrets: +{{ toYaml . | indent 8 }} + {{- end }} +{{- end }} diff --git a/helm/templates/router/ingress.yaml b/helm/templates/router/ingress.yaml new file mode 100644 index 000000000000..580ce5553834 --- /dev/null +++ b/helm/templates/router/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.router.ingress.enabled -}} +{{- $fullName := include "druid.router.fullname" . -}} +{{- $ingressPath := .Values.router.ingress.path -}} +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: {{ $fullName }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.router.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +{{- with .Values.router.ingress.annotations }} + annotations: +{{ toYaml . | indent 4 }} +{{- end }} +spec: +{{- if .Values.router.ingress.tls }} + tls: + {{- range .Values.router.ingress.tls }} + - hosts: + {{- range .hosts }} + - {{ . | quote }} + {{- end }} + secretName: {{ .secretName }} + {{- end }} +{{- end }} + rules: + {{- range .Values.router.ingress.hosts }} + - host: {{ . | quote }} + http: + paths: + - path: {{ $ingressPath }} + backend: + serviceName: {{ $fullName }} + servicePort: http + {{- end }} +{{- end }} diff --git a/helm/templates/router/service.yaml b/helm/templates/router/service.yaml new file mode 100644 index 000000000000..59844dce2c02 --- /dev/null +++ b/helm/templates/router/service.yaml @@ -0,0 +1,23 @@ +{{- if .Values.router.enabled -}} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "druid.router.fullname" . }} + labels: + app: {{ include "druid.name" . }} + chart: {{ include "druid.chart" . }} + component: {{ .Values.router.name }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.router.serviceType }} + ports: + - port: {{ .Values.router.port }} + targetPort: http + protocol: TCP + name: http + selector: + app: {{ include "druid.name" . }} + release: {{ .Release.Name }} + component: {{ .Values.router.name }} +{{- end }} diff --git a/helm/templates/secrets.yaml b/helm/templates/secrets.yaml new file mode 100644 index 000000000000..4a7e46b86b33 --- /dev/null +++ b/helm/templates/secrets.yaml @@ -0,0 +1,9 @@ +{{- if .Values.gCloudStorage.enabled -}} +apiVersion: v1 +kind: Secret +metadata: + name: google-cloud-key +type: Opaque +data: + key.json: {{ .Values.google.gcsAPIKey }} +{{- end }} diff --git a/helm/values.yaml b/helm/values.yaml new file mode 100644 index 000000000000..a7588d2d14e8 --- /dev/null +++ b/helm/values.yaml @@ -0,0 +1,401 @@ +# Default values for druid. + +image: + repository: apache/druid + tag: 0.19.0 + pullPolicy: IfNotPresent + pullSecrets: [] + +configMap: + ## If false, configMap will not be applied + ## + enabled: true + +## Define the key value pairs in the configmap +configVars: + ## DRUID env vars. ref: https://github.com/apache/druid/blob/master/distribution/docker/druid.sh#L29 + # DRUID_LOG_LEVEL: "warn" + # DRUID_LOG4J: + DRUID_USE_CONTAINER_IP: "true" + + ## Druid Common Configurations. ref: https://druid.apache.org/docs/latest/configuration/index.html#common-configurations + druid_extensions_loadList: '["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage"]' + druid_metadata_storage_type: postgresql + druid_metadata_storage_connector_connectURI: jdbc:postgresql://postgres:5432/druid + druid_metadata_storage_connector_user: druid + druid_metadata_storage_connector_password: druid + druid_storage_type: local + druid_indexer_logs_type: file + druid_indexer_logs_directory: /opt/data/indexing-logs + + ## Druid Emitting Metrics. ref: https://druid.apache.org/docs/latest/configuration/index.html#emitting-metrics + druid_emitter: noop + druid_emitter_logging_logLevel: debug + druid_emitter_http_recipientBaseUrl: http://druid_exporter_url:druid_exporter_port/druid + +gCloudStorage: + enabled: false + secretName: google-cloud-key + +broker: + ## If false, broker will not be installed + ## + enabled: true + name: broker + replicaCount: 1 + port: 8082 + serviceType: ClusterIP + + config: + DRUID_XMX: 512m + DRUID_XMS: 512m + DRUID_MAXDIRECTMEMORYSIZE: 400m + druid_processing_buffer_sizeBytes: '50000000' + druid_processing_numMergeBuffers: 2 + druid_processing_numThreads: 1 + # druid_monitoring_monitors: '["org.apache.druid.client.cache.CacheMonitor", "org.apache.druid.server.metrics.QueryCountStatsMonitor"]' + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # limits: + # cpu: 1 + # memory: 1Gi + # requests: + # cpu: 250m + # memory: 512Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + podAnnotations: {} + +coordinator: + ## If false, coordinator will not be installed + ## + enabled: true + name: coordinator + replicaCount: 1 + port: 8081 + serviceType: ClusterIP + + config: + DRUID_XMX: 256m + DRUID_XMS: 256m + # druid_monitoring_monitors: '["org.apache.druid.server.metrics.TaskCountStatsMonitor"]' + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # limits: + # cpu: 500m + # memory: 1Gi + # requests: + # cpu: 250m + # memory: 512Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + podAnnotations: {} + +overlord: + ## If true, the separate overlord will be installed + ## + enabled: false + name: overlord + replicaCount: 1 + port: 8081 + serviceType: ClusterIP + + javaOpts: "-Xms1G -Xmx1G" + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + podAnnotations: {} + +historical: + ## If false, historical will not be installed + ## + enabled: true + name: historical + replicaCount: 1 + port: 8083 + serviceType: ClusterIP + + config: + DRUID_XMX: 512m + DRUID_XMS: 512m + DRUID_MAXDIRECTMEMORYSIZE: 400m + druid_processing_buffer_sizeBytes: '50000000' + druid_processing_numMergeBuffers: 2 + druid_processing_numThreads: 1 + # druid_monitoring_monitors: '["org.apache.druid.client.cache.CacheMonitor", "org.apache.druid.server.metrics.HistoricalMetricsMonitor", "org.apache.druid.server.metrics.QueryCountStatsMonitor"]' + # druid_segmentCache_locations: '[{"path":"/var/druid/segment-cache","maxSize":300000000000}]' + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + persistence: + enabled: true + accessMode: ReadWriteOnce + size: "4Gi" + # storageClass: "ssd" + + antiAffinity: "soft" + + nodeAffinity: {} + + nodeSelector: {} + + securityContext: + fsGroup: 1000 + + tolerations: [] + + resources: {} + # limits: + # cpu: 2 + # memory: 2Gi + # requests: + # cpu: 500m + # memory: 512Mi + + ## (dict) If specified, apply these annotations to each master Pod + podAnnotations: {} + + podDisruptionBudget: + enabled: false + # minAvailable: 2 + maxUnavailable: 1 + + updateStrategy: + type: RollingUpdate + +middleManager: + ## If false, middleManager will not be installed + ## + enabled: true + name: middle-manager + replicaCount: 1 + port: 8091 + serviceType: ClusterIP + + config: + DRUID_XMX: 64m + DRUID_XMS: 64m + druid_indexer_runner_javaOptsArray: '["-server", "-Xms256m", "-Xmx256m", "-XX:MaxDirectMemorySize=300m", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-XX:+ExitOnOutOfMemoryError", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager"]' + druid_indexer_fork_property_druid_processing_buffer_sizeBytes: '25000000' + + autoscaling: + enabled: false + minReplicas: 2 + maxReplicas: 5 + metrics: + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 60 + - type: Resource + resource: + name: memory + target: + type: Utilization + averageUtilization: 60 + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + persistence: + enabled: true + accessMode: ReadWriteOnce + size: "4Gi" + # storageClass: "ssd" + + antiAffinity: "soft" + + nodeAffinity: {} + + nodeSelector: {} + + securityContext: + fsGroup: 1000 + + tolerations: [] + + resources: {} + # limits: + # cpu: 500m + # memory: 1Gi + # requests: + # cpu: 250m + # memory: 256Mi + + ## (dict) If specified, apply these annotations to each master Pod + podAnnotations: {} + + podDisruptionBudget: + enabled: false + # minAvailable: 2 + maxUnavailable: 1 + + updateStrategy: + type: RollingUpdate + +router: + ## If false, router will not be installed + ## + enabled: true + name: router + replicaCount: 1 + port: 8888 + serviceType: ClusterIP + + config: + DRUID_XMX: 128m + DRUID_XMS: 128m + DRUID_MAXDIRECTMEMORYSIZE: 128m + + ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + path: / + hosts: + - chart-example.local + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + + resources: {} + # limits: + # cpu: 250m + # memory: 256Mi + # requests: + # cpu: 100m + # memory: 128Mi + + nodeSelector: {} + + tolerations: [] + + affinity: {} + + podAnnotations: {} + +# ------------------------------------------------------------------------------ +# Zookeeper: +# ------------------------------------------------------------------------------ + +# zkHosts: druid-zookeeper-headless:2181 + +zookeeper: + enabled: true + ## Environmental variables to set in Zookeeper + ## + env: + ## The JVM heap size to allocate to Zookeeper + ZK_HEAP_SIZE: "512M" + ## Configure Zookeeper headless + headless: + publishNotReadyAddresses: true + + +# ------------------------------------------------------------------------------ +# MySQL: +# ------------------------------------------------------------------------------ +mysql: + enabled: false + mysqlRootPassword: druidroot + mysqlUser: druid + mysqlPassword: druid + mysqlDatabase: druid + configurationFiles: + mysql_collate.cnf: |- + [mysqld] + character-set-server=utf8 + collation-server=utf8_unicode_ci + +# ------------------------------------------------------------------------------ +# postgres: +# ------------------------------------------------------------------------------ +postgresql: + enabled: true + postgresqlUsername: druid + postgresqlPassword: druid + postgresqlDatabase: druid + service: + port: 5432 + +# Secrets From e0250b3c3aa0754511b4b87f7cc489b2c4f274c1 Mon Sep 17 00:00:00 2001 From: asdf2014 Date: Tue, 27 Apr 2021 11:52:29 +0800 Subject: [PATCH 2/2] Add license headers --- helm/Chart.yaml | 15 +++++++++++++++ helm/README.md | 19 +++++++++++++++++++ helm/requirements.lock | 15 +++++++++++++++ helm/requirements.yaml | 15 +++++++++++++++ helm/templates/NOTES.txt | 15 +++++++++++++++ helm/templates/_helpers.tpl | 19 +++++++++++++++++++ helm/templates/broker/deployment.yaml | 17 ++++++++++++++++- helm/templates/broker/ingress.yaml | 15 +++++++++++++++ helm/templates/broker/service.yaml | 15 +++++++++++++++ helm/templates/configmap.yaml | 15 +++++++++++++++ helm/templates/coordinator/deployment.yaml | 15 +++++++++++++++ helm/templates/coordinator/ingress.yaml | 15 +++++++++++++++ helm/templates/coordinator/service.yaml | 15 +++++++++++++++ helm/templates/historical/ingress.yaml | 15 +++++++++++++++ helm/templates/historical/pdb.yaml | 15 +++++++++++++++ helm/templates/historical/service.yaml | 15 +++++++++++++++ helm/templates/historical/statefulset.yaml | 15 +++++++++++++++ helm/templates/middleManager/hpa.yaml | 15 +++++++++++++++ helm/templates/middleManager/ingress.yaml | 15 +++++++++++++++ helm/templates/middleManager/pdb.yaml | 15 +++++++++++++++ helm/templates/middleManager/service.yaml | 15 +++++++++++++++ helm/templates/middleManager/statefulset.yaml | 15 +++++++++++++++ helm/templates/overlord/deployment.yaml | 15 +++++++++++++++ helm/templates/overlord/ingress.yaml | 15 +++++++++++++++ helm/templates/overlord/service.yaml | 15 +++++++++++++++ helm/templates/router/deployment.yaml | 15 +++++++++++++++ helm/templates/router/ingress.yaml | 15 +++++++++++++++ helm/templates/router/service.yaml | 15 +++++++++++++++ helm/templates/secrets.yaml | 15 +++++++++++++++ helm/values.yaml | 15 +++++++++++++++ 30 files changed, 459 insertions(+), 1 deletion(-) diff --git a/helm/Chart.yaml b/helm/Chart.yaml index a62f10824d7a..309a126c9738 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,3 +1,18 @@ +# 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. + apiVersion: v1 appVersion: 0.19.0 description: DEPRECATED Apache Druid is a high performance real-time analytics database. diff --git a/helm/README.md b/helm/README.md index 00c1ab47d180..a206a07b4b1c 100644 --- a/helm/README.md +++ b/helm/README.md @@ -1,3 +1,22 @@ + + # Apache Druid [Apache Druid](https://druid.apache.org/) is a high performance real-time analytics database. diff --git a/helm/requirements.lock b/helm/requirements.lock index 8393e96b8983..c75b6590cb69 100644 --- a/helm/requirements.lock +++ b/helm/requirements.lock @@ -1,3 +1,18 @@ +# 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. + dependencies: - name: zookeeper repository: https://charts.helm.sh/incubator diff --git a/helm/requirements.yaml b/helm/requirements.yaml index 9f14a03084ba..3e3619f9a5f0 100644 --- a/helm/requirements.yaml +++ b/helm/requirements.yaml @@ -1,3 +1,18 @@ +# 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. + dependencies: - name: zookeeper version: 2.1.4 diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index 1c1467cdfb9a..5cd0732327d5 100644 --- a/helm/templates/NOTES.txt +++ b/helm/templates/NOTES.txt @@ -1,3 +1,18 @@ +# 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. + 1. Get the router URL by running these commands: {{- if .Values.router.ingress.enabled }} {{- range .Values.router.ingress.hosts }} diff --git a/helm/templates/_helpers.tpl b/helm/templates/_helpers.tpl index 3b243bd63a4d..bb4714953e52 100644 --- a/helm/templates/_helpers.tpl +++ b/helm/templates/_helpers.tpl @@ -1,3 +1,22 @@ +{{/* + + 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. + +*/}} + {{/* vim: set filetype=mustache: */}} {{/* Expand the name of the chart. diff --git a/helm/templates/broker/deployment.yaml b/helm/templates/broker/deployment.yaml index 632a74ebe1b4..0525ed24ad31 100644 --- a/helm/templates/broker/deployment.yaml +++ b/helm/templates/broker/deployment.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.broker.enabled -}} apiVersion: apps/v1 kind: Deployment @@ -72,4 +87,4 @@ spec: imagePullSecrets: {{ toYaml . | indent 8 }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} diff --git a/helm/templates/broker/ingress.yaml b/helm/templates/broker/ingress.yaml index 85d267e9e80c..9c8397b7641a 100644 --- a/helm/templates/broker/ingress.yaml +++ b/helm/templates/broker/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.broker.ingress.enabled -}} {{- $fullName := include "druid.broker.fullname" . -}} {{- $ingressPath := .Values.broker.ingress.path -}} diff --git a/helm/templates/broker/service.yaml b/helm/templates/broker/service.yaml index 0c87b8b6231b..5ffb88bb7dc3 100644 --- a/helm/templates/broker/service.yaml +++ b/helm/templates/broker/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.broker.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/configmap.yaml b/helm/templates/configmap.yaml index a3c1bc7aecb5..8cf6d16ae0e2 100644 --- a/helm/templates/configmap.yaml +++ b/helm/templates/configmap.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.configMap.enabled -}} apiVersion: v1 kind: ConfigMap diff --git a/helm/templates/coordinator/deployment.yaml b/helm/templates/coordinator/deployment.yaml index 38d5198ad082..2edd559213f4 100644 --- a/helm/templates/coordinator/deployment.yaml +++ b/helm/templates/coordinator/deployment.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.coordinator.enabled -}} apiVersion: apps/v1 kind: Deployment diff --git a/helm/templates/coordinator/ingress.yaml b/helm/templates/coordinator/ingress.yaml index c1ab749c8b57..49fc18a424a2 100644 --- a/helm/templates/coordinator/ingress.yaml +++ b/helm/templates/coordinator/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.coordinator.ingress.enabled -}} {{- $fullName := include "druid.coordinator.fullname" . -}} {{- $ingressPath := .Values.coordinator.ingress.path -}} diff --git a/helm/templates/coordinator/service.yaml b/helm/templates/coordinator/service.yaml index 39a58db0054e..b1b389398940 100644 --- a/helm/templates/coordinator/service.yaml +++ b/helm/templates/coordinator/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.coordinator.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/historical/ingress.yaml b/helm/templates/historical/ingress.yaml index b5e42b9ab44d..6bee2f7a1f17 100644 --- a/helm/templates/historical/ingress.yaml +++ b/helm/templates/historical/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.historical.ingress.enabled -}} {{- $fullName := include "druid.historical.fullname" . -}} {{- $ingressPath := .Values.historical.ingress.path -}} diff --git a/helm/templates/historical/pdb.yaml b/helm/templates/historical/pdb.yaml index 1f3da56d9e51..f73b7d5c493d 100644 --- a/helm/templates/historical/pdb.yaml +++ b/helm/templates/historical/pdb.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.historical.podDisruptionBudget.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget diff --git a/helm/templates/historical/service.yaml b/helm/templates/historical/service.yaml index ba229af524f8..f4ec6171d549 100644 --- a/helm/templates/historical/service.yaml +++ b/helm/templates/historical/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.historical.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/historical/statefulset.yaml b/helm/templates/historical/statefulset.yaml index 7d7eae98aa02..984e21dad97b 100644 --- a/helm/templates/historical/statefulset.yaml +++ b/helm/templates/historical/statefulset.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.historical.enabled -}} apiVersion: apps/v1 kind: StatefulSet diff --git a/helm/templates/middleManager/hpa.yaml b/helm/templates/middleManager/hpa.yaml index 0abcc188e8cf..702047aae496 100644 --- a/helm/templates/middleManager/hpa.yaml +++ b/helm/templates/middleManager/hpa.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.middleManager.autoscaling.enabled }} apiVersion: autoscaling/v2beta2 kind: HorizontalPodAutoscaler diff --git a/helm/templates/middleManager/ingress.yaml b/helm/templates/middleManager/ingress.yaml index cb2a98a48a6c..37aa21d1fee6 100644 --- a/helm/templates/middleManager/ingress.yaml +++ b/helm/templates/middleManager/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.middleManager.ingress.enabled -}} {{- $fullName := include "druid.middleManager.fullname" . -}} {{- $ingressPath := .Values.middleManager.ingress.path -}} diff --git a/helm/templates/middleManager/pdb.yaml b/helm/templates/middleManager/pdb.yaml index 90b05ea1dd8a..e00f6e30c4cf 100644 --- a/helm/templates/middleManager/pdb.yaml +++ b/helm/templates/middleManager/pdb.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.middleManager.podDisruptionBudget.enabled }} apiVersion: policy/v1beta1 kind: PodDisruptionBudget diff --git a/helm/templates/middleManager/service.yaml b/helm/templates/middleManager/service.yaml index d1bcbf575d14..d8f03681b1a9 100644 --- a/helm/templates/middleManager/service.yaml +++ b/helm/templates/middleManager/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.middleManager.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/middleManager/statefulset.yaml b/helm/templates/middleManager/statefulset.yaml index fed59f0a4dc5..2095c6fd2d0d 100644 --- a/helm/templates/middleManager/statefulset.yaml +++ b/helm/templates/middleManager/statefulset.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.middleManager.enabled -}} apiVersion: apps/v1 kind: StatefulSet diff --git a/helm/templates/overlord/deployment.yaml b/helm/templates/overlord/deployment.yaml index fe80ef397272..c971e75f98d3 100644 --- a/helm/templates/overlord/deployment.yaml +++ b/helm/templates/overlord/deployment.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.overlord.enabled -}} apiVersion: apps/v1 kind: Deployment diff --git a/helm/templates/overlord/ingress.yaml b/helm/templates/overlord/ingress.yaml index 366fed0b816d..72f4110cea21 100644 --- a/helm/templates/overlord/ingress.yaml +++ b/helm/templates/overlord/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.overlord.ingress.enabled -}} {{- $fullName := include "druid.overlord.fullname" . -}} {{- $ingressPath := .Values.overlord.ingress.path -}} diff --git a/helm/templates/overlord/service.yaml b/helm/templates/overlord/service.yaml index 90b04d39c914..871be16df9d1 100644 --- a/helm/templates/overlord/service.yaml +++ b/helm/templates/overlord/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.overlord.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/router/deployment.yaml b/helm/templates/router/deployment.yaml index f9f75b4455dd..e197a909838c 100644 --- a/helm/templates/router/deployment.yaml +++ b/helm/templates/router/deployment.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.router.enabled -}} apiVersion: apps/v1 kind: Deployment diff --git a/helm/templates/router/ingress.yaml b/helm/templates/router/ingress.yaml index 580ce5553834..63108843dee0 100644 --- a/helm/templates/router/ingress.yaml +++ b/helm/templates/router/ingress.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.router.ingress.enabled -}} {{- $fullName := include "druid.router.fullname" . -}} {{- $ingressPath := .Values.router.ingress.path -}} diff --git a/helm/templates/router/service.yaml b/helm/templates/router/service.yaml index 59844dce2c02..a1e43a359767 100644 --- a/helm/templates/router/service.yaml +++ b/helm/templates/router/service.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.router.enabled -}} apiVersion: v1 kind: Service diff --git a/helm/templates/secrets.yaml b/helm/templates/secrets.yaml index 4a7e46b86b33..1f2cff512fe4 100644 --- a/helm/templates/secrets.yaml +++ b/helm/templates/secrets.yaml @@ -1,3 +1,18 @@ +# 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. + {{- if .Values.gCloudStorage.enabled -}} apiVersion: v1 kind: Secret diff --git a/helm/values.yaml b/helm/values.yaml index a7588d2d14e8..48ab12767b2e 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -1,3 +1,18 @@ +# 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. + # Default values for druid. image: