### Motivation Enables support for using the Pulsar bookies as persistent state storage for functions. ### Modifications - Added an option to enable/disable using bookies as state storage - Adds extra server components options to the bookkeeper to enable necessary features for bookies to be used as state storage - Adds stateStorageServiceUrl to the broker configmap
65 lines
2.6 KiB
YAML
65 lines
2.6 KiB
YAML
#
|
|
# 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.components.bookkeeper }}
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: "{{ template "pulsar.fullname" . }}-{{ .Values.bookkeeper.component }}"
|
|
namespace: {{ template "pulsar.namespace" . }}
|
|
labels:
|
|
{{- include "pulsar.standardLabels" . | nindent 4 }}
|
|
component: {{ .Values.bookkeeper.component }}
|
|
data:
|
|
# common config
|
|
{{- include "pulsar.bookkeeper.config.common" . | nindent 2 }}
|
|
{{- if .Values.components.autorecovery }}
|
|
# disable auto recovery on bookies since we will start AutoRecovery in separated pods
|
|
autoRecoveryDaemonEnabled: "false"
|
|
{{- end }}
|
|
# Do not retain journal files as it increase the disk utilization
|
|
journalMaxBackups: "0"
|
|
{{- if .Values.bookkeeper.volumes.journal.useMultiVolumes }}
|
|
{{- $journalDirs := list -}}
|
|
{{ range .Values.bookkeeper.volumes.journal.multiVolumes }}
|
|
{{- $journalDirs = append $journalDirs .mountPath -}}
|
|
{{- end }}
|
|
journalDirectories: {{ $journalDirs | join "," | quote }}
|
|
PULSAR_PREFIX_journalDirectories: {{ $journalDirs | join "," | quote }}
|
|
{{- else }}
|
|
journalDirectories: "/pulsar/data/bookkeeper/journal"
|
|
PULSAR_PREFIX_journalDirectories: "/pulsar/data/bookkeeper/journal"
|
|
{{- end }}
|
|
{{- if .Values.bookkeeper.volumes.ledgers.useMultiVolumes }}
|
|
{{- $ledgerDirs := list -}}
|
|
{{ range .Values.bookkeeper.volumes.ledgers.multiVolumes }}
|
|
{{- $ledgerDirs = append $ledgerDirs .mountPath -}}
|
|
{{- end }}
|
|
ledgerDirectories: {{ $ledgerDirs | join "," | quote }}
|
|
{{- else }}
|
|
ledgerDirectories: "/pulsar/data/bookkeeper/ledgers"
|
|
{{- end }}
|
|
{{- if .Values.functions.useBookieAsStateStore }}
|
|
# Stateful function config
|
|
extraServerComponents: "org.apache.bookkeeper.stream.server.StreamStorageLifecycleComponent"
|
|
{{- end }}
|
|
# TLS config
|
|
{{- include "pulsar.bookkeeper.config.tls" . | nindent 2 }}
|
|
{{ toYaml .Values.bookkeeper.configData | indent 2 }}
|
|
{{- end }} |