From 468e0815acec8cb4a5fbca630454670f23ded601 Mon Sep 17 00:00:00 2001 From: Madhukar Nayakbomman Date: Fri, 26 Jan 2018 14:11:13 -0800 Subject: [PATCH] to_kv_list util handles value with slice/list type Previously to_kv_list assumes that all values happen to be string type. In this commit we are taking care of values which are also type list/slice. In future commits we will have to take care of values which are also of type dicts Change-Id: Ie670c91d9880638d04cadf2acc32e7aa0400ca2c --- helm-toolkit/templates/utils/_to_kv_list.tpl | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/helm-toolkit/templates/utils/_to_kv_list.tpl b/helm-toolkit/templates/utils/_to_kv_list.tpl index b15ef58633..6f29dc65d0 100644 --- a/helm-toolkit/templates/utils/_to_kv_list.tpl +++ b/helm-toolkit/templates/utils/_to_kv_list.tpl @@ -14,12 +14,29 @@ See the License for the specific language governing permissions and limitations under the License. */}} +# This function returns key value pair in the INI format (key = value) +# as needed by openstack config files +# +# Sample key value pair format: +# conf: +# libvirt: +# log_level: 3 +# Usage: +# { include "helm-toolkit.utils.to_kv_list" .Values.conf.libvirt } +# returns: log_level = 3 + {{- define "helm-toolkit.utils.to_kv_list" -}} {{- range $key, $value := . -}} +{{- if kindIs "slice" $value }} +{{ $key }} = {{ include "helm-toolkit.utils.joinListWithComma" $value | quote }} +{{- else if kindIs "string" $value }} {{- if regexMatch "^[0-9]+$" $value }} {{ $key }} = {{ $value }} {{- else }} {{ $key }} = {{ $value | quote }} {{- end }} +{{- else }} +{{ $key }} = {{ $value }} +{{- end }} {{- end -}} {{- end -}}