Add Ingress to Pulsar Proxy and Pulsar Manager (#42)

This commit is contained in:
Niklas Wagner 2020-07-20 08:04:32 +02:00 committed by GitHub
parent 3cb674dfea
commit 2fbec08b02
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 141 additions and 0 deletions

View File

@ -0,0 +1,57 @@
#
# 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.proxy.ingress.enabled }}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
app: {{ template "pulsar.name" . }}
chart: {{ template "pulsar.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
cluster: "{{ template "pulsar.fullname" . }}-{{ .Values.proxy.component }}"
annotations:
{{- with .Values.proxy.ingress.annotations }}
{{ toYaml . | indent 4 }}
{{- end }}
name: "{{ template "pulsar.fullname" . }}-{{ .Values.proxy.component }}"
namespace: {{ .Values.namespace }}
spec:
{{- if .Values.proxy.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.proxy.ingress.hostname }}
{{- with .Values.proxy.ingress.tls.secretName }}
secretName: {{ . }}
{{- end }}
{{- end }}
rules:
- host: {{ required "proxy ingress hostname not provided" .Values.proxy.ingress.hostname }}
http:
paths:
- path: {{ .Values.proxy.ingress.path }}
backend:
serviceName: "{{ template "pulsar.fullname" . }}-{{ .Values.proxy.component }}"
{{- if and .Values.tls.enabled .Values.tls.proxy.enabled }}
servicePort: {{ .Values.proxy.ports.https }}
{{- else }}
servicePort: {{ .Values.proxy.ports.http }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,53 @@
#
# 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.pulsar_manager.ingress.enabled }}
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
app: {{ template "pulsar.name" . }}
chart: {{ template "pulsar.chart" . }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
cluster: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
annotations:
{{- with .Values.pulsar_manager.ingress.annotations }}
{{ toYaml . | indent 4 }}
{{- end }}
name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
namespace: {{ .Values.namespace }}
spec:
{{- if .Values.pulsar_manager.ingress.tls.enabled }}
tls:
- hosts:
- {{ .Values.pulsar_manager.ingress.hostname }}
{{- with .Values.pulsar_manager.ingress.tls.secretName }}
secretName: {{ . }}
{{- end }}
{{- end }}
rules:
- host: {{ required "pulsar_manager ingress hostname not provided" .Values.pulsar_manager.ingress.hostname }}
http:
paths:
- path: {{ .Values.pulsar_manager.ingress.path }}
backend:
serviceName: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
servicePort: {{ .Values.pulsar_manager.service.targetPort }}
{{- end }}

View File

@ -668,6 +668,21 @@ proxy:
service: service:
annotations: {} annotations: {}
type: LoadBalancer type: LoadBalancer
## Proxy ingress
## templates/proxy-ingress.yaml
##
ingress:
enabled: false
annotations: {}
tls:
enabled: false
## Optional. Leave it blank if your Ingress Controller can provide a default certificate.
secretName: ""
## Required if ingress is enabled
hostname: ""
path: "/"
## Proxy PodDisruptionBudget ## Proxy PodDisruptionBudget
## templates/proxy-pdb.yaml ## templates/proxy-pdb.yaml
## ##
@ -876,6 +891,22 @@ pulsar_manager:
port: 9527 port: 9527
targetPort: 9527 targetPort: 9527
annotations: {} annotations: {}
## Pulsar manager ingress
## templates/pulsar-manager-ingress.yaml
##
ingress:
enabled: false
annotations: {}
tls:
enabled: false
## Optional. Leave it blank if your Ingress Controller can provide a default certificate.
secretName: ""
## Required if ingress is enabled
hostname: ""
path: "/"
admin: admin:
user: pulsar user: pulsar
password: pulsar password: pulsar