You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2020/07/20 06:04:38 UTC

[pulsar-helm-chart] branch master updated: Add Ingress to Pulsar Proxy and Pulsar Manager (#42)

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-helm-chart.git


The following commit(s) were added to refs/heads/master by this push:
     new 2fbec08  Add Ingress to Pulsar Proxy and Pulsar Manager (#42)
2fbec08 is described below

commit 2fbec08b025b5e2864f9284d76e1b0aa8be22175
Author: Niklas Wagner <46...@users.noreply.github.com>
AuthorDate: Mon Jul 20 08:04:32 2020 +0200

    Add Ingress to Pulsar Proxy and Pulsar Manager (#42)
---
 charts/pulsar/templates/proxy-ingress.yaml         | 57 ++++++++++++++++++++++
 .../pulsar/templates/pulsar-manager-ingress.yaml   | 53 ++++++++++++++++++++
 charts/pulsar/values.yaml                          | 31 ++++++++++++
 3 files changed, 141 insertions(+)

diff --git a/charts/pulsar/templates/proxy-ingress.yaml b/charts/pulsar/templates/proxy-ingress.yaml
new file mode 100644
index 0000000..6fb820c
--- /dev/null
+++ b/charts/pulsar/templates/proxy-ingress.yaml
@@ -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 }}
diff --git a/charts/pulsar/templates/pulsar-manager-ingress.yaml b/charts/pulsar/templates/pulsar-manager-ingress.yaml
new file mode 100644
index 0000000..f8678d4
--- /dev/null
+++ b/charts/pulsar/templates/pulsar-manager-ingress.yaml
@@ -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 }}
diff --git a/charts/pulsar/values.yaml b/charts/pulsar/values.yaml
index c8694cf..73ee03e 100644
--- a/charts/pulsar/values.yaml
+++ b/charts/pulsar/values.yaml
@@ -668,6 +668,21 @@ proxy:
   service:
     annotations: {}
     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
   ## templates/proxy-pdb.yaml
   ##
@@ -876,6 +891,22 @@ pulsar_manager:
     port: 9527
     targetPort: 9527
     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:
     user: pulsar
     password: pulsar