blob: a4257b75cdb674e5e638b300e93367543b18d99f [file] [log] [blame]
Jakub Pavlikc1d11e52017-06-23 11:09:20 +02001{%- from "kubernetes/map.jinja" import common with context %}
marcoacdae7e2015-12-02 15:35:37 +01002
3kubernetes_pkgs:
4 pkg.installed:
5 - names: {{ common.pkgs }}
6
Swann Croisetba4172b2017-03-16 10:43:48 +01007{%- if common.hyperkube is defined %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +01008/tmp/hyperkube:
9 file.directory:
10 - user: root
11 - group: root
12
13hyperkube-copy:
Artem Panchenko78418512017-06-15 12:16:44 +030014 cmd.run:
15 - name: docker run --rm -v /tmp/hyperkube:/tmp/hyperkube --entrypoint cp {{ common.hyperkube.image }} -vr /hyperkube /tmp/hyperkube
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010016 - require:
17 - file: /tmp/hyperkube
Marek Celoud43d293f2017-06-07 12:29:24 +020018 {%- if grains.get('noservices') %}
19 - onlyif: /bin/false
20 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010021
22/usr/bin/hyperkube:
23 file.managed:
Marek Celoud43d293f2017-06-07 12:29:24 +020024 - source: /tmp/hyperkube/hyperkube
25 - mode: 751
26 - makedirs: true
27 - user: root
28 - group: root
29 - require:
Artem Panchenko78418512017-06-15 12:16:44 +030030 - cmd: hyperkube-copy
Marek Celoud43d293f2017-06-07 12:29:24 +020031 {%- if grains.get('noservices') %}
32 - onlyif: /bin/false
33 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010034
Tomáš Kukráld79276d2017-01-24 16:43:40 +010035/usr/bin/kubectl:
36 file.symlink:
37 - target: /usr/bin/hyperkube
38 - require:
39 - file: /usr/bin/hyperkube
Marek Celoud43d293f2017-06-07 12:29:24 +020040 {%- if grains.get('noservices') %}
41 - onlyif: /bin/false
42 {%- endif %}
Tomáš Kukráld79276d2017-01-24 16:43:40 +010043
Sergii Golovatiuk707f7d82017-08-07 15:49:23 +020044{%- if common.addons.get('virtlet', {}).get('enabled') %}
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020045
46/usr/bin/criproxy:
47 file.managed:
vrovacheve9b238c2017-12-12 21:22:24 +040048 - source: https://github.com/mirantis/criproxy/releases/download/{{ common.addons.virtlet.get('criproxy_version', 'v0.9.2') }}/criproxy
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020049 - mode: 750
50 - makedirs: true
51 - user: root
52 - group: root
vrovacheve9b238c2017-12-12 21:22:24 +040053 - source_hash: {{ common.addons.virtlet.get('criproxy_source', 'md5=c52d3c4e457144c6523570c847a442b2') }}
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020054 {%- if grains.get('noservices') %}
55 - onlyif: /bin/false
56 {%- endif %}
57
vrovachev3b141982017-10-06 16:52:40 +040058{%- if not pillar.kubernetes.pool is defined %}
59
60/etc/default/dockershim:
61 file.managed:
62 - source: salt://kubernetes/files/dockershim/default.master
63 - template: jinja
64 - user: root
65 - group: root
66 - mode: 644
67
68{%- else %}
69
70/etc/default/dockershim:
71 file.managed:
72 - source: salt://kubernetes/files/dockershim/default.pool
73 - template: jinja
74 - user: root
75 - group: root
76 - mode: 644
77
78{%- endif %}
79
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020080/etc/criproxy:
81 file.directory:
82 - user: root
83 - group: root
84 - mode: 0750
85
Andrey Shestakov655034e2017-09-15 12:30:28 +030086/etc/criproxy/node.conf:
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020087 file.managed:
Andrey Shestakov655034e2017-09-15 12:30:28 +030088 - user: root
89 - group: root
90 - mode: 0640
91 - contents: ''
92
93/etc/systemd/system/dockershim.service:
94 file.managed:
95 - source: salt://kubernetes/files/systemd/dockershim.service
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020096 - template: jinja
97 - user: root
98 - group: root
Andrey Shestakov655034e2017-09-15 12:30:28 +030099 - mode: 755
Jakub Pavlikc1d11e52017-06-23 11:09:20 +0200100
101/etc/systemd/system/criproxy.service:
102 file.managed:
103 - source: salt://kubernetes/files/systemd/criproxy.service
104 - template: jinja
105 - user: root
106 - group: root
107 - mode: 755
108
Andrey Shestakov655034e2017-09-15 12:30:28 +0300109dockershim_service:
110 service.running:
111 - name: dockershim
112 - enable: True
113 - watch:
vrovachev3b141982017-10-06 16:52:40 +0400114 - file: /etc/default/dockershim
vrovacheve9b238c2017-12-12 21:22:24 +0400115 - file: /usr/bin/hyperkube
Andrey Shestakov655034e2017-09-15 12:30:28 +0300116 {%- if grains.get('noservices') %}
117 - onlyif: /bin/false
118 {%- endif %}
119
Jakub Pavlikc1d11e52017-06-23 11:09:20 +0200120criproxy_service:
121 service.running:
122 - name: criproxy
123 - enable: True
124 - watch:
125 - file: /etc/systemd/system/criproxy.service
Andrey Shestakov655034e2017-09-15 12:30:28 +0300126 - file: /etc/criproxy/node.conf
Jakub Pavlikc1d11e52017-06-23 11:09:20 +0200127 - file: /usr/bin/criproxy
128 {%- if grains.get('noservices') %}
129 - onlyif: /bin/false
130 {%- endif %}
131
Andrey Shestakov7059e352017-09-14 11:27:14 +0300132{%- else %}
133
134/etc/criproxy:
135 file.absent
136
Andrey Shestakov655034e2017-09-15 12:30:28 +0300137dockershim_service:
138 service.dead:
139 - name: dockershim
140 - enable: False
141
Andrey Shestakov7059e352017-09-14 11:27:14 +0300142criproxy_service:
143 service.dead:
144 - name: criproxy
145 - enable: False
146
Sergii Golovatiuk707f7d82017-08-07 15:49:23 +0200147{%- endif %}
148
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100149/etc/systemd/system/kubelet.service:
150 file.managed:
Jakub Pavlikc1d11e52017-06-23 11:09:20 +0200151 - source: salt://kubernetes/files/systemd/kubelet.service
152 - template: jinja
153 - user: root
154 - group: root
155 - mode: 644
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100156
157/etc/kubernetes/config:
158 file.absent
159
Tomáš Kukrál10b15672017-09-05 10:08:46 +0200160{%- if common.get('cloudprovider', {}).get('enabled') and common.get('cloudprovider', {}).get('provider') == 'openstack' %}
Matthew Mosesohn19903512017-08-31 19:38:19 +0300161/etc/kubernetes/cloud-config.conf:
162 file.managed:
Jakub Pavlik6ef25ef2017-09-05 16:00:21 +0200163 - source: salt://kubernetes/files/cloudprovider/cloud-config-openstack.conf
Matthew Mosesohn19903512017-08-31 19:38:19 +0300164 - template: jinja
165 - user: root
166 - group: root
167 - mode: 600
168
169{% endif %}
170
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100171{%- if not pillar.kubernetes.pool is defined %}
172
173/etc/default/kubelet:
174 file.managed:
175 - source: salt://kubernetes/files/kubelet/default.master
176 - template: jinja
177 - user: root
178 - group: root
179 - mode: 644
180
Marek Celoud43d293f2017-06-07 12:29:24 +0200181/etc/kubernetes/kubelet.kubeconfig:
182 file.managed:
183 - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.master
184 - template: jinja
185 - user: root
186 - group: root
187 - mode: 644
188 - makedirs: true
189
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100190{%- else %}
191
192/etc/default/kubelet:
193 file.managed:
194 - source: salt://kubernetes/files/kubelet/default.pool
195 - template: jinja
196 - user: root
197 - group: root
198 - mode: 644
199
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100200/etc/kubernetes/kubelet.kubeconfig:
201 file.managed:
Marek Celoud43d293f2017-06-07 12:29:24 +0200202 - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.pool
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100203 - template: jinja
204 - user: root
205 - group: root
206 - mode: 644
207 - makedirs: true
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100208
Marek Celoud43d293f2017-06-07 12:29:24 +0200209{%- endif %}
210
211manifest_dir_create:
212 file.directory:
213 - makedirs: true
214 - name: /etc/kubernetes/manifests
215 - user: root
216 - group: root
217 - mode: 0751
218
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100219kubelet_service:
220 service.running:
221 - name: kubelet
222 - enable: True
223 - watch:
224 - file: /etc/default/kubelet
225 - file: /usr/bin/hyperkube
Tomáš Kukrál3728a5c2017-01-24 11:15:37 +0100226 - file: /etc/kubernetes/kubelet.kubeconfig
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100227 - file: manifest_dir_create
Martin Polreich3de03bb2017-06-13 11:11:40 +0200228 {%- if grains.get('noservices') %}
229 - onlyif: /bin/false
230 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100231
Swann Croisetba4172b2017-03-16 10:43:48 +0100232{%- if common.logrotate is defined %}
233/etc/logrotate.d/kubernetes:
234 file.managed:
235 - source: salt://kubernetes/files/logrotate
236 - template: jinja
237 - user: root
238 - group: root
239 - mode: 644
240 - makedirs: true
241 - defaults:
242 logfile: {{ common.logrotate }}
243
244{% endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100245{% endif %}