Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 1 | {%- from "kubernetes/map.jinja" import common with context %} |
marco | acdae7e | 2015-12-02 15:35:37 +0100 | [diff] [blame] | 2 | |
| 3 | kubernetes_pkgs: |
| 4 | pkg.installed: |
| 5 | - names: {{ common.pkgs }} |
| 6 | |
Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 7 | {%- if common.hyperkube is defined %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 8 | /tmp/hyperkube: |
| 9 | file.directory: |
| 10 | - user: root |
| 11 | - group: root |
| 12 | |
| 13 | hyperkube-copy: |
Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 14 | cmd.run: |
| 15 | - name: docker run --rm -v /tmp/hyperkube:/tmp/hyperkube --entrypoint cp {{ common.hyperkube.image }} -vr /hyperkube /tmp/hyperkube |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 16 | - require: |
| 17 | - file: /tmp/hyperkube |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 18 | {%- if grains.get('noservices') %} |
| 19 | - onlyif: /bin/false |
| 20 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 21 | |
| 22 | /usr/bin/hyperkube: |
| 23 | file.managed: |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 24 | - source: /tmp/hyperkube/hyperkube |
| 25 | - mode: 751 |
| 26 | - makedirs: true |
| 27 | - user: root |
| 28 | - group: root |
| 29 | - require: |
Artem Panchenko | 7841851 | 2017-06-15 12:16:44 +0300 | [diff] [blame] | 30 | - cmd: hyperkube-copy |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 31 | {%- if grains.get('noservices') %} |
| 32 | - onlyif: /bin/false |
| 33 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 34 | |
Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 35 | /usr/bin/kubectl: |
| 36 | file.symlink: |
| 37 | - target: /usr/bin/hyperkube |
| 38 | - require: |
| 39 | - file: /usr/bin/hyperkube |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 40 | {%- if grains.get('noservices') %} |
| 41 | - onlyif: /bin/false |
| 42 | {%- endif %} |
Tomáš Kukrál | d79276d | 2017-01-24 16:43:40 +0100 | [diff] [blame] | 43 | |
Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 44 | {%- if common.addons.get('virtlet', {}).get('enabled') %} |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 45 | |
| 46 | /usr/bin/criproxy: |
| 47 | file.managed: |
vrovachev | e9b238c | 2017-12-12 21:22:24 +0400 | [diff] [blame] | 48 | - source: https://github.com/mirantis/criproxy/releases/download/{{ common.addons.virtlet.get('criproxy_version', 'v0.9.2') }}/criproxy |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 49 | - mode: 750 |
| 50 | - makedirs: true |
| 51 | - user: root |
| 52 | - group: root |
vrovachev | e9b238c | 2017-12-12 21:22:24 +0400 | [diff] [blame] | 53 | - source_hash: {{ common.addons.virtlet.get('criproxy_source', 'md5=c52d3c4e457144c6523570c847a442b2') }} |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 54 | {%- if grains.get('noservices') %} |
| 55 | - onlyif: /bin/false |
| 56 | {%- endif %} |
| 57 | |
vrovachev | 3b14198 | 2017-10-06 16:52:40 +0400 | [diff] [blame] | 58 | {%- 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 Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 80 | /etc/criproxy: |
| 81 | file.directory: |
| 82 | - user: root |
| 83 | - group: root |
| 84 | - mode: 0750 |
| 85 | |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 86 | /etc/criproxy/node.conf: |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 87 | file.managed: |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 88 | - 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 Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 96 | - template: jinja |
| 97 | - user: root |
| 98 | - group: root |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 99 | - mode: 755 |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 100 | |
| 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 Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 109 | dockershim_service: |
| 110 | service.running: |
| 111 | - name: dockershim |
| 112 | - enable: True |
| 113 | - watch: |
vrovachev | 3b14198 | 2017-10-06 16:52:40 +0400 | [diff] [blame] | 114 | - file: /etc/default/dockershim |
vrovachev | e9b238c | 2017-12-12 21:22:24 +0400 | [diff] [blame] | 115 | - file: /usr/bin/hyperkube |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 116 | {%- if grains.get('noservices') %} |
| 117 | - onlyif: /bin/false |
| 118 | {%- endif %} |
| 119 | |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 120 | criproxy_service: |
| 121 | service.running: |
| 122 | - name: criproxy |
| 123 | - enable: True |
| 124 | - watch: |
| 125 | - file: /etc/systemd/system/criproxy.service |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 126 | - file: /etc/criproxy/node.conf |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 127 | - file: /usr/bin/criproxy |
| 128 | {%- if grains.get('noservices') %} |
| 129 | - onlyif: /bin/false |
| 130 | {%- endif %} |
| 131 | |
Andrey Shestakov | 7059e35 | 2017-09-14 11:27:14 +0300 | [diff] [blame] | 132 | {%- else %} |
| 133 | |
| 134 | /etc/criproxy: |
| 135 | file.absent |
| 136 | |
Andrey Shestakov | 655034e | 2017-09-15 12:30:28 +0300 | [diff] [blame] | 137 | dockershim_service: |
| 138 | service.dead: |
| 139 | - name: dockershim |
| 140 | - enable: False |
| 141 | |
Andrey Shestakov | 7059e35 | 2017-09-14 11:27:14 +0300 | [diff] [blame] | 142 | criproxy_service: |
| 143 | service.dead: |
| 144 | - name: criproxy |
| 145 | - enable: False |
| 146 | |
Sergii Golovatiuk | 707f7d8 | 2017-08-07 15:49:23 +0200 | [diff] [blame] | 147 | {%- endif %} |
| 148 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 149 | /etc/systemd/system/kubelet.service: |
| 150 | file.managed: |
Jakub Pavlik | c1d11e5 | 2017-06-23 11:09:20 +0200 | [diff] [blame] | 151 | - source: salt://kubernetes/files/systemd/kubelet.service |
| 152 | - template: jinja |
| 153 | - user: root |
| 154 | - group: root |
| 155 | - mode: 644 |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 156 | |
| 157 | /etc/kubernetes/config: |
| 158 | file.absent |
| 159 | |
Tomáš Kukrál | 10b1567 | 2017-09-05 10:08:46 +0200 | [diff] [blame] | 160 | {%- if common.get('cloudprovider', {}).get('enabled') and common.get('cloudprovider', {}).get('provider') == 'openstack' %} |
Matthew Mosesohn | 1990351 | 2017-08-31 19:38:19 +0300 | [diff] [blame] | 161 | /etc/kubernetes/cloud-config.conf: |
| 162 | file.managed: |
Jakub Pavlik | 6ef25ef | 2017-09-05 16:00:21 +0200 | [diff] [blame] | 163 | - source: salt://kubernetes/files/cloudprovider/cloud-config-openstack.conf |
Matthew Mosesohn | 1990351 | 2017-08-31 19:38:19 +0300 | [diff] [blame] | 164 | - template: jinja |
| 165 | - user: root |
| 166 | - group: root |
| 167 | - mode: 600 |
| 168 | |
| 169 | {% endif %} |
| 170 | |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 171 | {%- 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 Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 181 | /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ál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 190 | {%- 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ál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 200 | /etc/kubernetes/kubelet.kubeconfig: |
| 201 | file.managed: |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 202 | - source: salt://kubernetes/files/kubelet/kubelet.kubeconfig.pool |
Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 203 | - template: jinja |
| 204 | - user: root |
| 205 | - group: root |
| 206 | - mode: 644 |
| 207 | - makedirs: true |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 208 | |
Marek Celoud | 43d293f | 2017-06-07 12:29:24 +0200 | [diff] [blame] | 209 | {%- endif %} |
| 210 | |
| 211 | manifest_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ál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 219 | kubelet_service: |
| 220 | service.running: |
| 221 | - name: kubelet |
| 222 | - enable: True |
| 223 | - watch: |
| 224 | - file: /etc/default/kubelet |
| 225 | - file: /usr/bin/hyperkube |
Tomáš Kukrál | 3728a5c | 2017-01-24 11:15:37 +0100 | [diff] [blame] | 226 | - file: /etc/kubernetes/kubelet.kubeconfig |
Tomáš Kukrál | 7f43ee0 | 2017-01-24 12:18:34 +0100 | [diff] [blame] | 227 | - file: manifest_dir_create |
Martin Polreich | 3de03bb | 2017-06-13 11:11:40 +0200 | [diff] [blame] | 228 | {%- if grains.get('noservices') %} |
| 229 | - onlyif: /bin/false |
| 230 | {%- endif %} |
Tomáš Kukrál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 231 | |
Swann Croiset | ba4172b | 2017-03-16 10:43:48 +0100 | [diff] [blame] | 232 | {%- 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ál | 189da4b | 2017-01-18 14:30:09 +0100 | [diff] [blame] | 245 | {% endif %} |