# # 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. # apiVersion: batch/v1 kind: Job metadata: name: "{{ template "pulsar.fullname" . }}-{{ .Values.zookeeperMetadata.component }}" namespace: {{ .Values.namespace }} labels: app: {{ template "pulsar.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} component: {{ .Values.zookeeperMetadata.component }} cluster: {{ template "pulsar.fullname" . }} spec: template: spec: initContainers: - name: wait-zookeeper-ready image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} command: ["sh", "-c"] args: - >- until nslookup {{ template "pulsar.fullname" . }}-{{ .Values.zookeeper.component }}-{{ add (.Values.zookeeper.replicaCount | int) -1 }}.{{ template "pulsar.fullname" . }}-{{ .Values.zookeeper.component }}.{{ .Values.namespace }}; do sleep 3; done; containers: - name: "{{ template "pulsar.fullname" . }}-{{ .Values.zookeeperMetadata.component }}" image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} {{- if .Values.zookeeperMetadata.resources }} resources: {{ toYaml .Values.zookeeperMetadata.resources | indent 10 }} {{- end }} command: ["sh", "-c"] args: - > bin/pulsar initialize-cluster-metadata \ --cluster {{ template "pulsar.fullname" . }} \ --zookeeper {{ template "pulsar.fullname" . }}-{{ .Values.zookeeper.component }} \ --configuration-store {{ template "pulsar.fullname" . }}-{{ .Values.zookeeper.component }} \ --web-service-url http://{{ template "pulsar.fullname" . }}-{{ .Values.broker.component }}.{{ .Values.namespace }}.svc.cluster.local:8080/ \ --broker-service-url pulsar://{{ template "pulsar.fullname" . }}-{{ .Values.broker.component }}.{{ .Values.namespace }}.svc.cluster.local:6650/ || true; restartPolicy: Never