Allow Grafana to work with a reverse proxy (#48)

### Motivation

Allow Grafana to be served from a sub path.  

### Modifications

- Added a config map to add extra environment variables to the grafana deployment. As the grafana image adds new features that require environment variables, this can be used to set them.
- Bumped the grafana image to allow a reverse proxy
- removed ingress annotations as they are specific to nginx, and to match all the other ingresses
- bumped the chart version as per the README 


Example values:
```
grafana:
  configData:
    GRAFANA_ROOT_URL: /pulsar/grafana
    GRAFANA_SERVE_FROM_SUB_PATH: "true"
  ingress:
      enabled: true
      port: 3000
      path: "/pulsar/grafana/?(.*)"
      annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /$1
```
This commit is contained in:
Thomas O'Neill 2020-08-12 03:31:23 -04:00 committed by GitHub
parent 6b92881149
commit a41b6c5063
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 41 additions and 7 deletions

View File

@ -21,7 +21,7 @@ apiVersion: v1
appVersion: "2.6.0"
description: Apache Pulsar Helm chart for Kubernetes
name: pulsar
version: 2.6.0
version: 2.6.0-1
home: https://pulsar.apache.org
sources:
- https://github.com/apache/pulsar

View File

@ -0,0 +1,31 @@
#
# 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 or .Values.monitoring.grafana .Values.extra.monitoring }}
apiVersion: v1
kind: ConfigMap
metadata:
name: "{{ template "pulsar.fullname" . }}-{{ .Values.grafana.component }}"
namespace: {{ .Values.namespace }}
labels:
{{- include "pulsar.standardLabels" . | nindent 4 }}
component: {{ .Values.grafana.component }}
data:
{{ toYaml .Values.grafana.configData | indent 2 }}
{{- end }}

View File

@ -62,6 +62,9 @@ spec:
ports:
- name: server
containerPort: {{ .Values.grafana.service.targetPort }}
envFrom:
- configMapRef:
name: "{{ template "pulsar.fullname" . }}-{{ .Values.grafana.component }}"
env:
# for supporting apachepulsar/pulsar-grafana
- name: PROMETHEUS_URL

View File

@ -151,7 +151,7 @@ images:
pullPolicy: IfNotPresent
grafana:
repository: streamnative/apache-pulsar-grafana-dashboard-k8s
tag: 0.0.9
tag: 0.0.10
pullPolicy: IfNotPresent
pulsar_manager:
repository: apachepulsar/pulsar-manager
@ -856,16 +856,16 @@ grafana:
targetPort: 3000
annotations: {}
plugins: []
## Grafana configMap
## templates/grafana-configmap.yaml
##
configData: {}
## Grafana ingress
## templates/grafana-ingress.yaml
##
ingress:
enabled: false
annotations:
kubernetes.io/ingress.class: nginx
# nginx.ingress.kubernetes.io/rewrite-target: /$1
# ingress.kubernetes.io/force-ssl-redirect: "true"
ingress.kubernetes.io/rewrite-target: /
annotations: {}
labels: {}
tls: []