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/04/21 05:56:52 UTC

[pulsar-helm-chart] 13/34: Add pulsar-manager to helm chart (#5810)

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

commit 44ce326879a2b6bd894f37869495286ee2268a88
Author: 冉小龙 <ra...@gmail.com>
AuthorDate: Sun Dec 8 19:58:49 2019 +0800

    Add pulsar-manager to helm chart (#5810)
    
    Signed-off-by: xiaolong.ran <rx...@apache.org>
    
    ### Modifications
    
    - Add [pulsar-manager](https://github.com/apache/pulsar-manager) to helm chart
    - Replace pulsar-dashboard with pulsar-manager
      - Currently, we can deprecate pulsar-dashboard, In later versions, we can use `pulsar-manager` replace `pulsar-dashboard`.
---
 pulsar/templates/pulsar-manager-admin-secret.yaml |  39 +++++++++
 pulsar/templates/pulsar-manager-deployment.yaml   | 100 ++++++++++++++++++++++
 pulsar/templates/pulsar-manager-service.yaml      |  43 ++++++++++
 pulsar/values-mini.yaml                           |  41 ++++++++-
 pulsar/values.yaml                                |  41 ++++++++-
 5 files changed, 262 insertions(+), 2 deletions(-)

diff --git a/pulsar/templates/pulsar-manager-admin-secret.yaml b/pulsar/templates/pulsar-manager-admin-secret.yaml
new file mode 100644
index 0000000..427ac25
--- /dev/null
+++ b/pulsar/templates/pulsar-manager-admin-secret.yaml
@@ -0,0 +1,39 @@
+#
+# 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.extra.pulsar_manager }}
+apiVersion: v1
+kind: Secret
+metadata:
+  name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}-secret"
+  namespace: {{ .Values.namespace }}
+  labels:
+    app: {{ template "pulsar.name" . }}
+    chart: {{ template "pulsar.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+    component: {{ .Values.pulsar_manager.component }}
+    cluster: {{ template "pulsar.fullname" . }}
+type: Opaque
+data:
+  {{- if .Values.pulsar_manager.admin}}
+  PULSAR_MANAGER_ADMIN_PASSWORD: {{ .Values.pulsar_manager.admin.password | default "pulsar" | b64enc }}
+  PULSAR_MANAGER_ADMIN_USER: {{ .Values.pulsar_manager.admin.user | default "pulsar" | b64enc }}
+  {{- end }}
+{{- end }}
diff --git a/pulsar/templates/pulsar-manager-deployment.yaml b/pulsar/templates/pulsar-manager-deployment.yaml
new file mode 100644
index 0000000..674ebf4
--- /dev/null
+++ b/pulsar/templates/pulsar-manager-deployment.yaml
@@ -0,0 +1,100 @@
+#
+# 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.extra.pulsar_manager }}
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
+  namespace: {{ .Values.namespace }}
+  labels:
+    app: {{ template "pulsar.name" . }}
+    chart: {{ template "pulsar.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+    component: {{ .Values.pulsar_manager.component }}
+    cluster: {{ template "pulsar.fullname" . }}
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: {{ template "pulsar.name" . }}
+      release: {{ .Release.Name }}
+      component: {{ .Values.pulsar_manager.component }}
+  template:
+    metadata:
+      labels:
+        app: {{ template "pulsar.name" . }}
+        release: {{ .Release.Name }}
+        component: {{ .Values.pulsar_manager.component }}
+        cluster: {{ template "pulsar.fullname" . }}
+      annotations:
+{{ toYaml .Values.pulsar_manager.annotations | indent 8 }}
+    spec:
+    {{- if .Values.pulsar_manager.nodeSelector }}
+      nodeSelector:
+{{ toYaml .Values.pulsar_manager.nodeSelector | indent 8 }}
+    {{- end }}
+    {{- if .Values.pulsar_manager.tolerations }}
+      tolerations:
+{{ toYaml .Values.pulsar_manager.tolerations | indent 8 }}
+    {{- end }}
+      terminationGracePeriodSeconds: {{ .Values.pulsar_manager.gracePeriod }}
+      containers:
+        - name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
+          image: "{{ .Values.pulsar_manager.image.repository }}:{{ .Values.pulsar_manager.image.tag }}"
+          imagePullPolicy: {{ .Values.pulsar_manager.image.pullPolicy }}
+        {{- if .Values.grafana.resources }}
+          resources:
+{{ toYaml .Values.pulsar_manager.resources | indent 10 }}
+        {{- end }}
+          ports:
+          - containerPort: 9527
+          volumeMounts:
+          - name: pulsar-manager-data
+            mountPath: /data
+          env:
+          # for supporting apachepulsar/pulsar-manager
+          - name: PULSAR_CLUSTER
+            value: {{ template "pulsar.fullname" . }}
+          - name: REDIRECT_HOST
+            value: http://127.0.0.1
+          - name: REDIRECT_PORT
+            value: "9527"
+          - name: DRIVER_CLASS_NAME
+            value: org.postgresql.Driver
+          - name: URL
+            value: jdbc:postgresql://127.0.0.1:5432/pulsar_manager
+          - name: USERNAME
+            valueFrom:
+              secretKeyRef:
+                key: PULSAR_MANAGER_ADMIN_USER
+                name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}-secret"
+          - name: PASSWORD
+            valueFrom:
+              secretKeyRef:
+                key: PULSAR_MANAGER_ADMIN_PASSWORD
+                name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}-secret"
+          - name: LOG_LEVEL
+            value: DEBUG
+      volumes:
+        - name: pulsar-manager-data
+          emptyDir: {}
+
+{{- end }}
diff --git a/pulsar/templates/pulsar-manager-service.yaml b/pulsar/templates/pulsar-manager-service.yaml
new file mode 100644
index 0000000..aa61a6b
--- /dev/null
+++ b/pulsar/templates/pulsar-manager-service.yaml
@@ -0,0 +1,43 @@
+#
+# 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.extra.pulsar_manager }}
+apiVersion: v1
+kind: Service
+metadata:
+  name: "{{ template "pulsar.fullname" . }}-{{ .Values.pulsar_manager.component }}"
+  namespace: {{ .Values.namespace }}
+  labels:
+    app: {{ template "pulsar.name" . }}
+    chart: {{ template "pulsar.chart" . }}
+    release: {{ .Release.Name }}
+    heritage: {{ .Release.Service }}
+    component: {{ .Values.pulsar_manager.component }}
+    cluster: {{ template "pulsar.fullname" . }}
+  annotations:
+{{ toYaml .Values.pulsar_manager.service.annotations | indent 4 }}
+spec:
+  type: {{ .Values.pulsar_manager.service.type }}
+  ports:
+{{ toYaml .Values.pulsar_manager.service.ports | indent 2 }}
+  selector:
+    app: {{ template "pulsar.name" . }}
+    release: {{ .Release.Name }}
+    component: {{ .Values.pulsar_manager.component }}
+{{- end }}
diff --git a/pulsar/values-mini.yaml b/pulsar/values-mini.yaml
index 1ed8935..207b4cd 100644
--- a/pulsar/values-mini.yaml
+++ b/pulsar/values-mini.yaml
@@ -40,7 +40,11 @@ extra:
   # Bookkeeper auto-recovery
   autoRecovery: yes
   # Pulsar dashboard
-  dashboard: yes
+  # Deprecated
+  # Replace pulsar-dashboard with pulsar-manager
+  dashboard: no
+  # pulsar manager
+  pulsar_manager: yes
   # Bastion pod for administrative commands
   bastion: yes
   # Monitoring stack (prometheus and grafana)
@@ -276,6 +280,7 @@ autoRecovery:
 
 ## Pulsar Extra: Dashboard
 ## templates/dashboard-deployment.yaml
+## Deprecated
 ##
 dashboard:
   component: dashboard
@@ -390,3 +395,37 @@ zookeeper_metadata:
     requests:
       memory: 128Mi
       cpu: 0.1
+
+## Components Stack: pulsar_manager
+## templates/pulsar-manager.yaml
+##
+
+pulsar_manager:
+  component: pulsar-manager
+  replicaCount: 1
+  # nodeSelector:
+  # cloud.google.com/gke-nodepool: default-pool
+  annotations: {}
+  tolarations: []
+  gracePeriod: 0
+  image:
+    repository: apachepulsar/pulsar-manager
+    tag: v0.1.0
+    pullPolicy: IfNotPresent
+  resources:
+    requests:
+      memory: 250Mi
+      cpu: 0.1
+  ## Pulsar manager service
+  ## templates/pulsar-manager-service.yaml
+  ##
+  service:
+    type: LoadBalancer
+    annotations: {}
+    ports:
+      - name: server
+        port: 9527
+  admin:
+    user: pulsar
+    password: pulsar
+
diff --git a/pulsar/values.yaml b/pulsar/values.yaml
index db57089..a9e31b4 100644
--- a/pulsar/values.yaml
+++ b/pulsar/values.yaml
@@ -40,7 +40,11 @@ extra:
   # Bookkeeper auto-recovery
   autoRecovery: yes
   # Pulsar dashboard
-  dashboard: yes
+  # Deprecated
+  # Replace pulsar-dashboard with pulsar-manager
+  dashboard: no
+  # pulsar manager
+  pulsar_manager: yes
   # Bastion pod for administrative commands
   bastion: yes
   # Monitoring stack (prometheus and grafana)
@@ -298,6 +302,7 @@ autoRecovery:
 
 ## Pulsar Extra: Dashboard
 ## templates/dashboard-deployment.yaml
+## Deprecated
 ##
 dashboard:
   component: dashboard
@@ -419,3 +424,37 @@ grafana:
     ports:
     - name: server
       port: 3000
+
+## Components Stack: pulsar_manager
+## templates/pulsar-manager.yaml
+##
+
+pulsar_manager:
+  component: pulsar-manager
+  replicaCount: 1
+  # nodeSelector:
+  # cloud.google.com/gke-nodepool: default-pool
+  annotations: {}
+  tolarations: []
+  gracePeriod: 0
+  image:
+    repository: apachepulsar/pulsar-manager
+    tag: v0.1.0
+    pullPolicy: IfNotPresent
+  resources:
+    requests:
+      memory: 250Mi
+      cpu: 0.1
+  ## Pulsar manager service
+  ## templates/pulsar-manager-service.yaml
+  ##
+  service:
+    type: LoadBalancer
+    annotations: {}
+    ports:
+      - name: server
+        port: 9527
+  admin:
+    user: pulsar
+    password: pulsar
+