feat(designate): allow users to provide configs in designate.conf.d
Allow users to provide additional projected volumes to be mounted into the various deployments, statefulsets, and jobs that the designate chart has in the /etc/designate/designate.conf.d/ path. This allows for users to provide service account or database secrets via different operators as well as provide ways to use the chart to define common deployments while being able to have site specific overrides. Change-Id: If3460aecde61078885480040daca1c9794c443e4 Signed-off-by: Mathieu Gagné <mgagne@calavera.ca>
This commit is contained in:
@@ -17,7 +17,8 @@ COMMAND="${@:-start}"
|
||||
|
||||
function start () {
|
||||
exec designate-central \
|
||||
--config-file /etc/designate/designate.conf
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d
|
||||
}
|
||||
|
||||
function stop () {
|
||||
|
||||
@@ -16,7 +16,8 @@ COMMAND="${@:-start}"
|
||||
|
||||
function start () {
|
||||
designate-mdns \
|
||||
--config-file /etc/designate/designate.conf
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d
|
||||
}
|
||||
|
||||
function stop () {
|
||||
|
||||
@@ -15,7 +15,9 @@ set -ex
|
||||
COMMAND="${@:-start}"
|
||||
|
||||
function start () {
|
||||
designate-producer --config-file /etc/designate/designate.conf
|
||||
designate-producer \
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d
|
||||
}
|
||||
|
||||
function stop () {
|
||||
|
||||
@@ -6,4 +6,5 @@ set -ex
|
||||
|
||||
designate-manage \
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d \
|
||||
service clean
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
set -ex
|
||||
COMMAND="${@:-start}"
|
||||
exec designate-sink \
|
||||
--config-file /etc/designate/designate.conf
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d
|
||||
}
|
||||
|
||||
function stop () {
|
||||
|
||||
@@ -16,7 +16,8 @@ COMMAND="${@:-start}"
|
||||
|
||||
function start () {
|
||||
designate-worker \
|
||||
--config-file /etc/designate/designate.conf
|
||||
--config-file /etc/designate/designate.conf \
|
||||
--config-dir /etc/designate/designate.conf.d
|
||||
}
|
||||
|
||||
function stop () {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
{{- $mounts_designate_service_cleaner := .Values.pod.mounts.designate_service_cleaner.designate_service_cleaner }}
|
||||
{{- $mounts_designate_service_cleaner_init := .Values.pod.mounts.designate_service_cleaner.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_service_cleaner }}
|
||||
|
||||
{{- $serviceAccountName := "designate-service-cleaner" }}
|
||||
{{ tuple $envAll "service_cleaner" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -66,6 +67,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -94,5 +98,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: service-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 18 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_service_cleaner.volumes }}{{ toYaml $mounts_designate_service_cleaner.volumes | indent 12 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_api := .Values.pod.mounts.designate_api.designate_api }}
|
||||
{{- $mounts_designate_api_init := .Values.pod.mounts.designate_api.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_api }}
|
||||
|
||||
{{- $serviceAccountName := "designate-api" }}
|
||||
{{ tuple $envAll "api" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -89,6 +90,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -123,5 +127,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_api.volumes }}{{ toYaml $mounts_designate_api.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_central := .Values.pod.mounts.designate_central.designate_central }}
|
||||
{{- $mounts_designate_central_init := .Values.pod.mounts.designate_central.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_central }}
|
||||
|
||||
{{- $serviceAccountName := "designate-central" }}
|
||||
{{ tuple $envAll "central" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -74,6 +75,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -104,5 +108,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_central.volumes }}{{ toYaml $mounts_designate_central.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_mdns := .Values.pod.mounts.designate_mdns.designate_mdns }}
|
||||
{{- $mounts_designate_mdns_init := .Values.pod.mounts.designate_mdns.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_mdns }}
|
||||
|
||||
{{- $serviceAccountName := "designate-mdns" }}
|
||||
{{ tuple $envAll "mdns" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -85,6 +86,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -115,5 +119,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_mdns.volumes }}{{ toYaml $mounts_designate_mdns.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_producer := .Values.pod.mounts.designate_producer.designate_producer }}
|
||||
{{- $mounts_designate_producer_init := .Values.pod.mounts.designate_producer.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_producer }}
|
||||
|
||||
{{- $serviceAccountName := "designate-producer" }}
|
||||
{{ tuple $envAll "producer" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -74,6 +75,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -104,5 +108,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_producer.volumes }}{{ toYaml $mounts_designate_producer.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_sink := .Values.pod.mounts.designate_sink.designate_sink }}
|
||||
{{- $mounts_designate_sink_init := .Values.pod.mounts.designate_sink.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_sink }}
|
||||
|
||||
{{- $serviceAccountName := "designate-sink" }}
|
||||
{{ tuple $envAll "sink" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -74,6 +75,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/policy.yaml
|
||||
subPath: policy.yaml
|
||||
@@ -100,5 +104,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_sink.volumes }}{{ toYaml $mounts_designate_sink.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
{{- $envAll := . }}
|
||||
{{- $mounts_designate_worker := .Values.pod.mounts.designate_worker.designate_worker }}
|
||||
{{- $mounts_designate_worker_init := .Values.pod.mounts.designate_worker.init_container }}
|
||||
{{- $etcSources := .Values.pod.etcSources.designate_worker }}
|
||||
|
||||
{{- $serviceAccountName := "designate-worker" }}
|
||||
{{ tuple $envAll "worker" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
|
||||
@@ -99,6 +100,9 @@ spec:
|
||||
mountPath: /etc/designate/designate.conf
|
||||
subPath: designate.conf
|
||||
readOnly: true
|
||||
- name: designate-etc-snippets
|
||||
mountPath: /etc/designate/designate.conf.d/
|
||||
readOnly: true
|
||||
- name: designate-etc
|
||||
mountPath: /etc/designate/api-paste.ini
|
||||
subPath: api-paste.ini
|
||||
@@ -129,5 +133,13 @@ spec:
|
||||
secret:
|
||||
secretName: designate-etc
|
||||
defaultMode: 0444
|
||||
- name: designate-etc-snippets
|
||||
{{- if $etcSources }}
|
||||
projected:
|
||||
sources:
|
||||
{{ toYaml $etcSources | indent 14 }}
|
||||
{{- else }}
|
||||
emptyDir: {}
|
||||
{{ end }}
|
||||
{{ if $mounts_designate_worker.volumes }}{{ toYaml $mounts_designate_worker.volumes | indent 8 }}{{ end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -116,6 +116,18 @@ pod:
|
||||
designate_db_sync:
|
||||
volumeMounts:
|
||||
volumes:
|
||||
# -- This allows users to add Kubernetes Projected Volumes to be mounted at /etc/designate/designate.conf.d/
|
||||
## This is a list of projected volume source objects for each deployment/statefulset/daemonset/cronjob
|
||||
## https://kubernetes.io/docs/concepts/storage/projected-volumes/
|
||||
etcSources:
|
||||
designate_api: []
|
||||
designate_central: []
|
||||
designate_mdns: []
|
||||
designate_worker: []
|
||||
designate_producer: []
|
||||
designate_sink: []
|
||||
designate_service_cleaner: []
|
||||
designate_db_sync: []
|
||||
replicas:
|
||||
api: 1
|
||||
central: 1
|
||||
|
||||
7
releasenotes/notes/designate-bc18055009645160.yaml
Normal file
7
releasenotes/notes/designate-bc18055009645160.yaml
Normal file
@@ -0,0 +1,7 @@
|
||||
---
|
||||
designate:
|
||||
- |
|
||||
Allow users to add additional sources to the Projected Volume that is mounted
|
||||
at /etc/designate/designate.conf.d/ so they may more easily override configs or provide
|
||||
additional configs for the various services in the chart.
|
||||
...
|
||||
Reference in New Issue
Block a user