From b19cd594cff91c78af0f6ab4d6def3dc7002eac0 Mon Sep 17 00:00:00 2001 From: Tommy Kindmark Date: Mon, 27 Aug 2018 14:31:42 +0200 Subject: [PATCH] [stable/kibana] Added option to add Sidecar containers (#7298) * Update Chart version * Revert "Update Chart version" This reverts commit 87420c0057dba03ae18fd1cdf0f4c37e00ee70f2. * Added ability to specify extra containers for the kibana pod * Added option to remove kibana ports * Update readme and values with examples and documentation * removed strange whitespace --- stable/kibana/Chart.yaml | 2 +- stable/kibana/README.md | 3 +++ stable/kibana/templates/deployment.yaml | 5 +++++ stable/kibana/templates/service.yaml | 4 ++++ stable/kibana/values.yaml | 18 +++++++++++++++++- 5 files changed, 30 insertions(+), 2 deletions(-) diff --git a/stable/kibana/Chart.yaml b/stable/kibana/Chart.yaml index 14709e2920..3c85c75d9c 100644 --- a/stable/kibana/Chart.yaml +++ b/stable/kibana/Chart.yaml @@ -1,5 +1,5 @@ name: kibana -version: 0.11.0 +version: 0.12.0 appVersion: 6.3.2 description: Kibana is an open source data visualization plugin for Elasticsearch icon: https://raw.githubusercontent.com/elastic/kibana/master/src/ui/public/icons/kibana-color.svg diff --git a/stable/kibana/README.md b/stable/kibana/README.md index 9c5842eea9..5652c7bc66 100644 --- a/stable/kibana/README.md +++ b/stable/kibana/README.md @@ -55,10 +55,13 @@ The following table lists the configurable parameters of the kibana chart and th | `replicaCount` | desired number of pods | `1` | | `revisionHistoryLimit` | revisionHistoryLimit | `3` | | `serviceAccountName` | serviceAccount that will run the pod | `nil` | +| `authProxyEnabled` | enables authproxy. Create container in extracontainers | `false` | +| `extraContainers` | Sidecar containers to add to the kibana pod| `{}` | | `resources` | pod resource requests & limits | `{}` | | `priorityClassName` | priorityClassName | `nil` | | `service.externalPort` | external port for the service | `443` | | `service.internalPort` | internal port for the service | `4180` | +| `service.authProxyPort` | port to use when using sidecar authProxy | None: | | `service.externalIPs` | external IP addresses | None: | | `service.loadBalancerIP` | Load Balancer IP address | None: | | `service.nodePort` | NodePort value if service.type is NodePort | None: | diff --git a/stable/kibana/templates/deployment.yaml b/stable/kibana/templates/deployment.yaml index 4c37006b07..39cf788638 100644 --- a/stable/kibana/templates/deployment.yaml +++ b/stable/kibana/templates/deployment.yaml @@ -74,10 +74,12 @@ spec: - name: "{{ $key }}" value: "{{ $value }}" {{- end }} +{{- if (not .Values.authProxyEnabled) }} ports: - containerPort: {{ .Values.service.internalPort }} name: {{ template "kibana.name" . }} protocol: TCP +{{- end }} {{- if .Values.livenessProbe.enabled }} livenessProbe: httpGet: @@ -93,6 +95,9 @@ spec: port: {{ .Values.service.internalPort }} initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }} timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }} +{{- end }} +{{- with .Values.extraContainers }} +{{ tpl . $ | indent 6 }} {{- end }} resources: {{ toYaml .Values.resources | indent 10 }} diff --git a/stable/kibana/templates/service.yaml b/stable/kibana/templates/service.yaml index ecd91eb43c..82ee0508a8 100644 --- a/stable/kibana/templates/service.yaml +++ b/stable/kibana/templates/service.yaml @@ -18,7 +18,11 @@ spec: type: {{ .Values.service.type }} ports: - port: {{ .Values.service.externalPort }} +{{- if not .Values.authProxyEnabled }} targetPort: {{ .Values.service.internalPort }} +{{- else }} + targetPort: {{ .Values.service.authProxyPort }} +{{- end }} protocol: TCP {{ if (and (eq .Values.service.type "NodePort") (not (empty .Values.service.nodePort))) }} nodePort: {{ .Values.service.nodePort }} diff --git a/stable/kibana/values.yaml b/stable/kibana/values.yaml index 0e58b04f2b..c6cc64b803 100644 --- a/stable/kibana/values.yaml +++ b/stable/kibana/values.yaml @@ -33,6 +33,7 @@ service: type: ClusterIP externalPort: 443 internalPort: 5601 + # authProxyPort: 5602 To be used with authProxyEnabled and a proxy extraContainer ## External IP addresses of service ## Default: nil ## @@ -43,7 +44,6 @@ service: ## Default: nil ## # loadBalancerIP: 10.2.2.2 - # nodePort: 30000 annotations: # Annotation example: setup ssl with aws cert when service.type is LoadBalancer # service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-east-1:EXAMPLE_CERT @@ -76,6 +76,22 @@ readinessProbe: initialDelaySeconds: 30 timeoutSeconds: 10 +# Enable an authproxy. Specify container in extraContainers +authProxyEnabled: false + +extraContainers: | +# - name: proxy +# image: quay.io/gambol99/keycloak-proxy:latest +# args: +# - --resource=uri=/* +# - --discovery-url=https://discovery-url +# - --client-id=client +# - --client-secret=secret +# - --listen=0.0.0.0:5602 +# - --upstream-url=http://127.0.0.1:5601 +# ports: +# - name: web +# containerPort: 9090 resources: {} # limits: # cpu: 100m