Configmap update

Change-Id: If151a2ead09a7d87b3fda20702d315d5dbff85a4
diff --git a/kubernetes/control/cluster.sls b/kubernetes/control/cluster.sls
index 32f4f84..a11beb6 100644
--- a/kubernetes/control/cluster.sls
+++ b/kubernetes/control/cluster.sls
@@ -98,31 +98,21 @@
 {%- if configmap.enabled|default(True) %}
 
 {%- if configmap.pillar is defined %}
-  {%- for service_name in configmap.pillar.keys() %}
-    {%- if pillar.get(service_name, {}).get('_support', {}).get('config', {}).get('enabled', False) %}
 
-      {%- set support_fragment_file = service_name+'/meta/config.yml' %}
-      {% macro load_support_file(pillar, grains) %}{% include support_fragment_file %}{% endmacro %}
-
-      {%- set service_config_files = load_support_file(configmap.pillar, configmap.get('grains', {}))|load_yaml %}
-      {%- for service_config_name, service_config in service_config_files.config.iteritems() %}
-
-/srv/kubernetes/configmap/{{ configmap_name }}/{{ service_config_name }}:
+/srv/kubernetes/configmap/{{ configmap_name }}.yml:
   file.managed:
-  - source: {{ service_config.source }}
+  - source: salt://kubernetes/files/configmap.yml
   - user: root
   - group: root
-  - template: {{ service_config.template }}
+  - template: jinja
   - makedirs: true
   - require:
     - file: /srv/kubernetes
   - defaults:
-      pillar: {{ configmap.pillar|yaml }}
+      configmap_name: {{ configmap_name }}
+      configmap: {{ configmap|yaml }}
       grains: {{ configmap.get('grains', {}) }}
 
-      {%- endfor %}
-    {%- endif %}
-  {%- endfor %}
 {%- else %}
 {# TODO: configmap not using support between formulas #}
 {%- endif %}
diff --git a/kubernetes/files/configmap.yml b/kubernetes/files/configmap.yml
new file mode 100644
index 0000000..29cb1a6
--- /dev/null
+++ b/kubernetes/files/configmap.yml
@@ -0,0 +1,18 @@
+{%- from "kubernetes/map.jinja" import control with context %}
+{%- macro load_support_file(file, pillar, grains) %}{% include file %}{% endmacro %}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: {{ configmap_name }}-{{ configmap.get('version', '1') }}
+  namespace: {{ configmap.get('namespace', 'default') }}
+data:
+  {%- for service_name in configmap.pillar.keys() %}
+  {%- if pillar.get(service_name, {}).get('_support', {}).get('config', {}).get('enabled', False) %}
+  {%- set support_fragment_file = service_name+'/meta/config.yml' %}
+  {%- set service_config_files = load_support_file(support_fragment_file, configmap.pillar, configmap.get('grains', {}))|load_yaml %}
+  {%- for service_config_name, service_config in service_config_files.config.iteritems() %}
+  {{ service_config_name }}: |
+{{ load_support_file(service_config.source|replace('salt://', ''), configmap.pillar, configmap.get('grains', {}))|indent(4) }}
+  {%- endfor %}
+  {%- endif %}
+  {%- endfor %}