summaryrefslogtreecommitdiffstats
path: root/kubernetes/dcaegen2-services
diff options
context:
space:
mode:
authorJack Lucas <jflos@sonoris.net>2021-06-07 16:40:31 -0400
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>2021-06-30 06:32:09 +0000
commitb880f89fd371dabb34b06e74857ccd79b9bd92c2 (patch)
treeffee68700cbcec0c6e43cb231b1351b5b6764de6 /kubernetes/dcaegen2-services
parent28103082346daf96770626e7b3fcb6bd4ee59fef (diff)
[DCAE] Updates to defaults for configmap
Make external configMaps optional by default for microservices Make applicationConfig an optional parameter in values.yaml for microservices. Issue-ID: DCAEGEN2-2770 Issue-ID: DCAEGEN2-2782 Signed-off-by: Jack Lucas <jflos@sonoris.net> Change-Id: I80ec8e4a1d55201c5a174f50159bac171953b031
Diffstat (limited to 'kubernetes/dcaegen2-services')
-rw-r--r--kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl3
-rw-r--r--kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl12
2 files changed, 12 insertions, 3 deletions
diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl
index 46f52b805e..1dff4d0f77 100644
--- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl
+++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_configmap.tpl
@@ -40,6 +40,7 @@ information for the logging sidecar.
*/}}
{{- define "dcaegen2-services-common.configMap" -}}
+{{- $appConf := .Values.applicationConfig | default (dict) -}}
apiVersion: v1
kind: ConfigMap
metadata:
@@ -48,7 +49,7 @@ metadata:
labels: {{ include "common.labels" . | nindent 6 }}
data:
application_config.yaml: |
-{{ .Values.applicationConfig | toYaml | indent 4 }}
+{{ $appConf | toYaml | indent 4 }}
{{- if .Values.logDirectory }}
---
diff --git a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
index 328a4c625f..ffff46fab5 100644
--- a/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
+++ b/kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_deployment.tpl
@@ -79,7 +79,7 @@ to give the microservice access to data in volumes created else.
This initial implementation supports ConfigMaps only, as this is the only
external volume mounting required by current microservices.
-.Values.externalValues is a list of objects. Each object has 3 required fields and 1 optional field:
+.Values.externalVolumes is a list of objects. Each object has 3 required fields and 2 optional fields:
- name: the name of the resource (in the current implementation, it must be a ConfigMap)
that is to be set up as a volume. The value is a case sensitive string. Because the
names of resources are sometimes set at deployment time (for instance, to prefix the Helm
@@ -91,6 +91,11 @@ external volume mounting required by current microservices.
value is a case-sensitive string.
- readOnly: (Optional) Boolean flag. Set to true to mount the volume as read-only.
Defaults to false.
+ - optional: (Optional) Boolean flag. Set to true to make the configMap optional (i.e., to allow the
+ microservice's pod to start even if the configMap doesn't exist). If set to false, the configMap must
+ be present in order for the microservice's pod to start. Defaults to true. (Note that this
+ default is the opposite of the Kubernetes default. We've done this to be consistent with the behavior
+ of the DCAE Cloudify plugin for Kubernetes [k8splugin], which always set "optional" to true.)
Here is an example fragment from a values.yaml file for a microservice:
@@ -101,16 +106,19 @@ externalVolumes:
- name: '{{ include "common.release" . }}-another-example'
type: configmap
mountPath: /opt/app/otherconfig
+ optional: false
*/}}
{{- define "dcaegen2-services-common._externalVolumes" -}}
{{- $global := . -}}
{{- if .Values.externalVolumes }}
{{- range $vol := .Values.externalVolumes }}
{{- if eq (lower $vol.type) "configmap" }}
- {{- $vname := (tpl $vol.name $global) }}
+ {{- $vname := (tpl $vol.name $global) -}}
+ {{- $opt := hasKey $vol "optional" | ternary $vol.optional true }}
- configMap:
defaultMode: 420
name: {{ $vname }}
+ optional: {{ $opt }}
name: {{ $vname }}
{{- end }}
{{- end }}