3ee5aa0d6b
Looks like the template is removing the trailing space between storage class entries, and since CI only has one storage class we never hit this issue. This change will prevent the yaml from printing on a single line when multiple storage classes are defined.
25 lines
821 B
Django/Jinja
25 lines
821 B
Django/Jinja
# Macro to convert camelCase dictionary keys to snake_case keys
|
|
{%- macro convert_keys(mydict) %}
|
|
{% for key in mydict.keys() -%}
|
|
{% set key_split = key.split('_') -%}
|
|
{% set new_key = key_split[0] + key_split[1:]|map('capitalize')|join -%}
|
|
{% set value = mydict.pop(key) -%}
|
|
{{ mydict.__setitem__(new_key, value) -}}
|
|
{{ convert_keys(value) if value is mapping else None -}}
|
|
{% endfor -%}
|
|
{% endmacro -%}
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: local-volume-provisioner
|
|
namespace: {{ local_volume_provisioner_namespace }}
|
|
data:
|
|
storageClassMap: |
|
|
{% for class_name, storage_class in local_volume_provisioner_storage_classes.iteritems() %}
|
|
{{ class_name }}:
|
|
{{- convert_keys(storage_class) }}
|
|
{{ storage_class | to_nice_yaml(indent=2) | indent(6) }}
|
|
{% endfor %}
|
|
|