pulsar-helm-chart/charts/pulsar/templates/bookkeeper-configmap.yaml
Shen Liu 91f8b6f6b1
Add multi volume support in bookkeeper. (#113)
* Add multi volume support in bookkeeper. (#112)

* Add multi volumes support in bookkeeper configmap.

Co-authored-by: druidliu <druidliu@tencent.com>

Fixes #112 

### Motivation

*Add option for user to choose whether using multi volume in bookeeper, especially while using `local-storage`.*

### Modifications

Add `useMultiVolumes` option under `.Values.bookkeeper.volumes.journal` and `.Values.bookkeeper.volumes.ledgers`.
User can choose how many volumes could be used for bookkeeper jounal or ledgers.

### Verifying this change

- [x] Make sure that the change passes the CI checks.
2022-01-22 23:08:07 -06:00

61 lines
2.4 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 }}
# TLS config
{{- include "pulsar.bookkeeper.config.tls" . | nindent 2 }}
{{ toYaml .Values.bookkeeper.configData | indent 2 }}
{{- end }}