Containers and services defined on pools
diff --git a/README.rst b/README.rst
index 3d4a016..fbd3555 100644
--- a/README.rst
+++ b/README.rst
@@ -16,6 +16,35 @@
 Sample pillars
 ==============
 
+Containers on pool definitions in pool.service.local
+
+parameters:
+  kubernetes:
+    pool:
+      service:
+        local:
+          enabled: False
+          service: libvirt
+          cluster: openstack-compute
+          namespace: default
+          role: ${linux:system:name}
+          type: LoadBalancer
+          kind: Deployment
+          apiVersion: extensions/v1beta1
+          replicas: 1
+          host_pid: True
+          nodeSelector:
+          - key: openstack
+            value: ${linux:system:name}
+          hostNetwork: True
+          container:
+            libvirt-compute:
+              privileged: True
+              image: ${_param:docker_repository}/libvirt-compute
+              tag: ${_param:openstack_container_tag}
+
+Master definition
+
 .. code-block:: yaml
 
     kubernetes:
@@ -356,7 +385,7 @@
         path: /etc/certs
 
 emptyDir
-===========
+========
 
 .. code-block:: yaml
 
diff --git a/kubernetes/control/cluster.sls b/kubernetes/control/cluster.sls
index d0d7ac0..e9e325d 100644
--- a/kubernetes/control/cluster.sls
+++ b/kubernetes/control/cluster.sls
@@ -7,7 +7,8 @@
 
 {%- for service_name, service in control.service.iteritems() %}
 
-{%- if service.enabled == true %}
+{%- if service.enabled %}
+
 /srv/kubernetes/services/{{ service_name }}-svc.yml:
   file.managed:
   - source: salt://kubernetes/files/svc.yml
@@ -19,6 +20,7 @@
     - file: /srv/kubernetes
   - defaults:
       service: {{ service|yaml }}
+
 {%- endif %}
 
 /srv/kubernetes/{{ service.cluster }}/{{ service_name }}-{{ service.kind }}.yml:
@@ -35,4 +37,42 @@
 
 {%- endfor %}
 
+{%- for node_name, node_grains in salt['mine.get']('*', 'grains.items').iteritems() %}
+
+{%- if node_grains.get('kubernetes', {}).service is defined %}
+
+{%- set service = node_grains.get('kubernetes', {}).get('service', {}) %}
+
+{%- if service.enabled %}
+
+/srv/kubernetes/services/{{ node_name }}-svc.yml:
+  file.managed:
+  - source: salt://kubernetes/files/svc.yml
+  - user: root
+  - group: root
+  - template: jinja
+  - makedirs: true
+  - require:
+    - file: /srv/kubernetes
+  - defaults:
+      service: {{ service|yaml }}
+
+{%- endif %}
+
+/srv/kubernetes/{{ service.cluster }}/{{ node_name }}-{{ service.kind }}.yml:
+  file.managed:
+  - source: salt://kubernetes/files/rc.yml
+  - user: root
+  - group: root
+  - template: jinja
+  - makedirs: true
+  - require:
+    - file: /srv/kubernetes
+  - defaults:
+      service: {{ service|yaml }}
+
+{%- endif %}
+
+{%- endfor %}
+
 {%- endif %}
\ No newline at end of file
diff --git a/kubernetes/files/kubernetes.grain b/kubernetes/files/kubernetes.grain
new file mode 100644
index 0000000..a053883
--- /dev/null
+++ b/kubernetes/files/kubernetes.grain
@@ -0,0 +1,3 @@
+{%- from "kubernetes/map.jinja" import pool with context -%}
+{%- set service_grains = {'kubernetes': {'service': pool.get('service', {}).get('local', {})}} -%}
+{{ service_grains|yaml(False) }}
\ No newline at end of file
diff --git a/kubernetes/pool/service.sls b/kubernetes/pool/service.sls
index 743bee4..6abce3c 100644
--- a/kubernetes/pool/service.sls
+++ b/kubernetes/pool/service.sls
@@ -5,4 +5,20 @@
 include:
 - kubernetes._common
 
+kubernetes_pool_container_grains_dir:
+  file.directory:
+  - name: /etc/salt/grains.d
+  - mode: 700
+  - makedirs: true
+  - user: root
+
+kubernetes_pool_container_grain:
+  file.managed:
+  - name: /etc/salt/grains.d/kubernetes
+  - source: salt://kubernetes/files/kubernetes.grain
+  - template: jinja
+  - mode: 600
+  - require:
+    - file: kubernetes_pool_container_grains_dir
+
 {%- endif %}
\ No newline at end of file