diff --git a/ceilometer/templates/bin/_ceilometer-central.sh.tpl b/ceilometer/templates/bin/_ceilometer-central.sh.tpl index 3b7076876f..04863175de 100644 --- a/ceilometer/templates/bin/_ceilometer-central.sh.tpl +++ b/ceilometer/templates/bin/_ceilometer-central.sh.tpl @@ -18,4 +18,5 @@ set -ex exec ceilometer-polling \ --polling-namespaces central \ - --config-file /etc/ceilometer/ceilometer.conf + --config-file /etc/ceilometer/ceilometer.conf \ + --config-dir /etc/ceilometer/ceilometer.conf.d diff --git a/ceilometer/templates/bin/_ceilometer-compute.sh.tpl b/ceilometer/templates/bin/_ceilometer-compute.sh.tpl index b189fca225..2f15d0a56f 100644 --- a/ceilometer/templates/bin/_ceilometer-compute.sh.tpl +++ b/ceilometer/templates/bin/_ceilometer-compute.sh.tpl @@ -18,4 +18,5 @@ set -ex exec ceilometer-polling \ --polling-namespaces compute \ - --config-file /etc/ceilometer/ceilometer.conf + --config-file /etc/ceilometer/ceilometer.conf \ + --config-dir /etc/ceilometer/ceilometer.conf.d diff --git a/ceilometer/templates/bin/_ceilometer-ipmi.sh.tpl b/ceilometer/templates/bin/_ceilometer-ipmi.sh.tpl index 9b6a82a420..0d70157a05 100644 --- a/ceilometer/templates/bin/_ceilometer-ipmi.sh.tpl +++ b/ceilometer/templates/bin/_ceilometer-ipmi.sh.tpl @@ -18,4 +18,5 @@ set -ex exec ceilometer-polling \ --polling-namespaces ipmi \ - --config-file /etc/ceilometer/ceilometer.conf + --config-file /etc/ceilometer/ceilometer.conf \ + --config-dir /etc/ceilometer/ceilometer.conf.d diff --git a/ceilometer/templates/bin/_ceilometer-notification.sh.tpl b/ceilometer/templates/bin/_ceilometer-notification.sh.tpl index 781e288108..9acc75d4fc 100644 --- a/ceilometer/templates/bin/_ceilometer-notification.sh.tpl +++ b/ceilometer/templates/bin/_ceilometer-notification.sh.tpl @@ -17,4 +17,5 @@ limitations under the License. set -ex exec ceilometer-agent-notification \ - --config-file /etc/ceilometer/ceilometer.conf + --config-file /etc/ceilometer/ceilometer.conf \ + --config-dir /etc/ceilometer/ceilometer.conf.d diff --git a/ceilometer/templates/daemonset-compute.yaml b/ceilometer/templates/daemonset-compute.yaml index 07536d443d..1d20e85958 100644 --- a/ceilometer/templates/daemonset-compute.yaml +++ b/ceilometer/templates/daemonset-compute.yaml @@ -20,6 +20,8 @@ limitations under the License. {{- $serviceAccountName := "ceilometer-compute" }} {{ tuple $envAll "compute" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} + +{{- $etcSources := .Values.pod.etcSources.ceilometer_compute }} --- apiVersion: apps/v1 kind: DaemonSet @@ -72,6 +74,9 @@ spec: mountPath: /etc/ceilometer/ceilometer.conf subPath: ceilometer.conf readOnly: true + - name: ceilometer-etc-snippets + mountPath: /etc/ceilometer/ceilometer.conf.d/ + readOnly: true - name: ceilometer-etc mountPath: /etc/ceilometer/api_paste.ini subPath: api_paste.ini @@ -125,6 +130,14 @@ spec: secret: secretName: ceilometer-etc defaultMode: 0444 + - name: ceilometer-etc-snippets +{{- if $etcSources }} + projected: + sources: +{{ toYaml $etcSources | indent 14 }} +{{- else }} + emptyDir: {} +{{ end }} - name: ceilometer-bin configMap: name: ceilometer-bin diff --git a/ceilometer/templates/daemonset-ipmi.yaml b/ceilometer/templates/daemonset-ipmi.yaml index 619a2168f4..790ab09573 100644 --- a/ceilometer/templates/daemonset-ipmi.yaml +++ b/ceilometer/templates/daemonset-ipmi.yaml @@ -20,6 +20,8 @@ limitations under the License. {{- $serviceAccountName := "ceilometer-ipmi" }} {{ tuple $envAll "ipmi" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} + +{{- $etcSources := .Values.pod.etcSources.ceilometer_ipmi }} --- apiVersion: apps/v1 kind: DaemonSet @@ -74,6 +76,9 @@ spec: mountPath: /etc/ceilometer/ceilometer.conf subPath: ceilometer.conf readOnly: true + - name: ceilometer-etc-snippets + mountPath: /etc/ceilometer/ceilometer.conf.d/ + readOnly: true - name: ceilometer-etc mountPath: /etc/ceilometer/api_paste.ini subPath: api_paste.ini @@ -119,6 +124,14 @@ spec: secret: secretName: ceilometer-etc defaultMode: 0444 + - name: ceilometer-etc-snippets +{{- if $etcSources }} + projected: + sources: +{{ toYaml $etcSources | indent 14 }} +{{- else }} + emptyDir: {} +{{ end }} - name: ceilometer-bin configMap: name: ceilometer-bin diff --git a/ceilometer/templates/deployment-central.yaml b/ceilometer/templates/deployment-central.yaml index 15fae9591b..a3130105b7 100644 --- a/ceilometer/templates/deployment-central.yaml +++ b/ceilometer/templates/deployment-central.yaml @@ -20,6 +20,8 @@ limitations under the License. {{- $serviceAccountName := "ceilometer-central" }} {{ tuple $envAll "central" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} + +{{- $etcSources := .Values.pod.etcSources.ceilometer_central }} --- apiVersion: apps/v1 kind: Deployment @@ -70,6 +72,9 @@ spec: mountPath: /etc/ceilometer/ceilometer.conf subPath: ceilometer.conf readOnly: true + - name: ceilometer-etc-snippets + mountPath: /etc/ceilometer/ceilometer.conf.d/ + readOnly: true - name: ceilometer-etc mountPath: /etc/ceilometer/api_paste.ini subPath: api_paste.ini @@ -112,6 +117,14 @@ spec: secret: secretName: ceilometer-etc defaultMode: 0444 + - name: ceilometer-etc-snippets +{{- if $etcSources }} + projected: + sources: +{{ toYaml $etcSources | indent 14 }} +{{- else }} + emptyDir: {} +{{ end }} - name: ceilometer-bin configMap: name: ceilometer-bin diff --git a/ceilometer/templates/deployment-notification.yaml b/ceilometer/templates/deployment-notification.yaml index 33b2c382c7..534657aa27 100644 --- a/ceilometer/templates/deployment-notification.yaml +++ b/ceilometer/templates/deployment-notification.yaml @@ -20,6 +20,8 @@ limitations under the License. {{- $serviceAccountName := "ceilometer-notification" }} {{ tuple $envAll "notification" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} + +{{- $etcSources := .Values.pod.etcSources.ceilometer_notification }} --- apiVersion: apps/v1 kind: Deployment @@ -70,6 +72,9 @@ spec: mountPath: /etc/ceilometer/ceilometer.conf subPath: ceilometer.conf readOnly: true + - name: ceilometer-etc-snippets + mountPath: /etc/ceilometer/ceilometer.conf.d/ + readOnly: true - name: ceilometer-etc mountPath: /etc/ceilometer/api_paste.ini subPath: api_paste.ini @@ -116,6 +121,14 @@ spec: secret: secretName: ceilometer-etc defaultMode: 0444 + - name: ceilometer-etc-snippets +{{- if $etcSources }} + projected: + sources: +{{ toYaml $etcSources | indent 14 }} +{{- else }} + emptyDir: {} +{{ end }} - name: ceilometer-bin configMap: name: ceilometer-bin diff --git a/ceilometer/values.yaml b/ceilometer/values.yaml index 78ff02ed9d..f7eb3d8c64 100644 --- a/ceilometer/values.yaml +++ b/ceilometer/values.yaml @@ -1533,6 +1533,14 @@ pod: ceilometer_db_sync: volumeMounts: volumes: + # -- This allows users to add Kubernetes Projected Volumes to be mounted at /etc/ceilometer/ceilometer.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: + ceilometer_compute: [] + ceilometer_central: [] + ceilometer_ipmi: [] + ceilometer_notification: [] replicas: central: 1 notification: 1 diff --git a/releasenotes/notes/ceilometer-b86532145d088208.yaml b/releasenotes/notes/ceilometer-b86532145d088208.yaml new file mode 100644 index 0000000000..15d912246e --- /dev/null +++ b/releasenotes/notes/ceilometer-b86532145d088208.yaml @@ -0,0 +1,7 @@ +--- +ceilometer: + - | + Allow users to add additional sources to the Projected Volume that is mounted + at /etc/ceilometer/ceilometer.conf.d/ so they may more easily override configs or provide + additional configs for the various services in the chart. +...