blob: 1610d64e4ac36036748cbee7ea607e5f18c1ddbb [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
marcoacdae7e2015-12-02 15:35:37 +01007{%- if common.network.get('engine', 'none') == 'flannel' %}
8flannel-tar:
9 archive:
10 - extracted
11 - user: root
12 - name: /usr/local/src
13 - makedirs: True
14 - source: https://storage.googleapis.com/kubernetes-release/flannel/flannel-0.5.5-linux-amd64.tar.gz
15 - tar_options: v
16 - source_hash: md5=972c717254775bef528f040af804f2cc
17 - archive_format: tar
18 - if_missing: /usr/local/src/flannel/flannel-0.5.5/
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010019{%- endif %}
20
Swann Croisetba4172b2017-03-16 10:43:48 +010021{%- if common.hyperkube is defined %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010022/tmp/hyperkube:
23 file.directory:
24 - user: root
25 - group: root
26
27hyperkube-copy:
Artem Panchenko78418512017-06-15 12:16:44 +030028 cmd.run:
29 - 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 +010030 - require:
31 - file: /tmp/hyperkube
Marek Celoud43d293f2017-06-07 12:29:24 +020032 {%- if grains.get('noservices') %}
33 - onlyif: /bin/false
34 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010035
36/usr/bin/hyperkube:
37 file.managed:
Marek Celoud43d293f2017-06-07 12:29:24 +020038 - source: /tmp/hyperkube/hyperkube
39 - mode: 751
40 - makedirs: true
41 - user: root
42 - group: root
43 - require:
Artem Panchenko78418512017-06-15 12:16:44 +030044 - cmd: hyperkube-copy
Marek Celoud43d293f2017-06-07 12:29:24 +020045 {%- if grains.get('noservices') %}
46 - onlyif: /bin/false
47 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +010048
Tomáš Kukráld79276d2017-01-24 16:43:40 +010049/usr/bin/kubectl:
50 file.symlink:
51 - target: /usr/bin/hyperkube
52 - require:
53 - file: /usr/bin/hyperkube
Marek Celoud43d293f2017-06-07 12:29:24 +020054 {%- if grains.get('noservices') %}
55 - onlyif: /bin/false
56 {%- endif %}
Tomáš Kukráld79276d2017-01-24 16:43:40 +010057
Sergii Golovatiuk707f7d82017-08-07 15:49:23 +020058{%- if common.addons.get('virtlet', {}).get('enabled') %}
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020059/tmp/criproxy:
60 file.directory:
61 - user: root
62 - group: root
63
64copy-criproxy-bin:
65 cmd.run:
Sergii Golovatiuk707f7d82017-08-07 15:49:23 +020066 - name: docker run --rm -v /tmp/criproxy/:/tmp/criproxy/ --entrypoint cp {{ common.addons.virtlet.image }} -vr /criproxy /tmp/criproxy
Jakub Pavlikc1d11e52017-06-23 11:09:20 +020067 - require:
68 - file: /tmp/criproxy
69 {%- if grains.get('noservices') %}
70 - onlyif: /bin/false
71 {%- endif %}
72
73/usr/bin/criproxy:
74 file.managed:
75 - source: /tmp/criproxy/criproxy
76 - mode: 750
77 - makedirs: true
78 - user: root
79 - group: root
80 - require:
81 - cmd: copy-criproxy-bin
82 {%- if grains.get('noservices') %}
83 - onlyif: /bin/false
84 {%- endif %}
85
86/etc/criproxy:
87 file.directory:
88 - user: root
89 - group: root
90 - mode: 0750
91
92/etc/criproxy/kubelet.conf:
93 file.managed:
94 - source: salt://kubernetes/files/virtlet/kubelet.conf
95 - template: jinja
96 - user: root
97 - group: root
98 - mode: 640
99
100/etc/systemd/system/criproxy.service:
101 file.managed:
102 - source: salt://kubernetes/files/systemd/criproxy.service
103 - template: jinja
104 - user: root
105 - group: root
106 - mode: 755
107
108criproxy_service:
109 service.running:
110 - name: criproxy
111 - enable: True
112 - watch:
113 - file: /etc/systemd/system/criproxy.service
114 - file: /etc/criproxy/kubelet.conf
115 - file: /etc/criproxy
116 - file: /usr/bin/criproxy
117 {%- if grains.get('noservices') %}
118 - onlyif: /bin/false
119 {%- endif %}
120
Andrey Shestakov7059e352017-09-14 11:27:14 +0300121{%- else %}
122
123/etc/criproxy:
124 file.absent
125
126criproxy_service:
127 service.dead:
128 - name: criproxy
129 - enable: False
130
Sergii Golovatiuk707f7d82017-08-07 15:49:23 +0200131{%- endif %}
132
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100133/etc/systemd/system/kubelet.service:
134 file.managed:
Jakub Pavlikc1d11e52017-06-23 11:09:20 +0200135 - source: salt://kubernetes/files/systemd/kubelet.service
136 - template: jinja
137 - user: root
138 - group: root
139 - mode: 644
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100140
141/etc/kubernetes/config:
142 file.absent
143
Tomáš Kukrál10b15672017-09-05 10:08:46 +0200144{%- if common.get('cloudprovider', {}).get('enabled') and common.get('cloudprovider', {}).get('provider') == 'openstack' %}
Matthew Mosesohn19903512017-08-31 19:38:19 +0300145/etc/kubernetes/cloud-config.conf:
146 file.managed:
Jakub Pavlik6ef25ef2017-09-05 16:00:21 +0200147 - source: salt://kubernetes/files/cloudprovider/cloud-config-openstack.conf
Matthew Mosesohn19903512017-08-31 19:38:19 +0300148 - template: jinja
149 - user: root
150 - group: root
151 - mode: 600
152
153{% endif %}
154
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100155{%- if not pillar.kubernetes.pool is defined %}
156
157/etc/default/kubelet:
158 file.managed:
159 - source: salt://kubernetes/files/kubelet/default.master
160 - template: jinja
161 - user: root
162 - group: root
163 - mode: 644
164
Marek Celoud43d293f2017-06-07 12:29:24 +0200165/etc/kubernetes/kubelet.kubeconfig:
166 file.managed:
167 - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.master
168 - template: jinja
169 - user: root
170 - group: root
171 - mode: 644
172 - makedirs: true
173
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100174{%- else %}
175
176/etc/default/kubelet:
177 file.managed:
178 - source: salt://kubernetes/files/kubelet/default.pool
179 - template: jinja
180 - user: root
181 - group: root
182 - mode: 644
183
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100184/etc/kubernetes/kubelet.kubeconfig:
185 file.managed:
Marek Celoud43d293f2017-06-07 12:29:24 +0200186 - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.pool
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100187 - template: jinja
188 - user: root
189 - group: root
190 - mode: 644
191 - makedirs: true
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100192
Marek Celoud43d293f2017-06-07 12:29:24 +0200193{%- endif %}
194
195manifest_dir_create:
196 file.directory:
197 - makedirs: true
198 - name: /etc/kubernetes/manifests
199 - user: root
200 - group: root
201 - mode: 0751
202
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100203kubelet_service:
204 service.running:
205 - name: kubelet
206 - enable: True
207 - watch:
208 - file: /etc/default/kubelet
209 - file: /usr/bin/hyperkube
Tomáš Kukrál3728a5c2017-01-24 11:15:37 +0100210 - file: /etc/kubernetes/kubelet.kubeconfig
Tomáš Kukrál7f43ee02017-01-24 12:18:34 +0100211 - file: manifest_dir_create
Martin Polreich3de03bb2017-06-13 11:11:40 +0200212 {%- if grains.get('noservices') %}
213 - onlyif: /bin/false
214 {%- endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100215
Swann Croisetba4172b2017-03-16 10:43:48 +0100216{%- if common.logrotate is defined %}
217/etc/logrotate.d/kubernetes:
218 file.managed:
219 - source: salt://kubernetes/files/logrotate
220 - template: jinja
221 - user: root
222 - group: root
223 - mode: 644
224 - makedirs: true
225 - defaults:
226 logfile: {{ common.logrotate }}
227
228{% endif %}
Tomáš Kukrál189da4b2017-01-18 14:30:09 +0100229{% endif %}