2014-07-14 17:50:04 +00:00
|
|
|
{% if grains['os_family'] == 'RedHat' %}
|
|
|
|
{% set environment_file = '/etc/sysconfig/docker' %}
|
|
|
|
{% else %}
|
|
|
|
{% set environment_file = '/etc/default/docker' %}
|
|
|
|
{% endif %}
|
|
|
|
|
2014-08-07 20:02:52 +00:00
|
|
|
bridge-utils:
|
|
|
|
pkg.installed
|
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
{% if grains.os_family == 'RedHat' %}
|
|
|
|
docker-io:
|
|
|
|
pkg:
|
|
|
|
- installed
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
docker:
|
|
|
|
service.running:
|
|
|
|
- enable: True
|
2014-06-06 23:40:48 +00:00
|
|
|
- require:
|
2014-10-31 17:22:24 +00:00
|
|
|
- pkg: docker-io
|
2014-06-06 23:40:48 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
{% else %}
|
|
|
|
|
|
|
|
{% if grains.cloud is defined
|
|
|
|
and grains.cloud == 'gce' %}
|
2014-06-06 23:40:48 +00:00
|
|
|
# The default GCE images have ip_forwarding explicitly set to 0.
|
|
|
|
# Here we take care of commenting that out.
|
|
|
|
/etc/sysctl.d/11-gce-network-security.conf:
|
|
|
|
file.replace:
|
|
|
|
- pattern: '^net.ipv4.ip_forward=0'
|
|
|
|
- repl: '# net.ipv4.ip_forward=0'
|
2014-10-29 19:39:07 +00:00
|
|
|
{% endif %}
|
2014-06-06 23:40:48 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
# TODO: This should really be based on network strategy instead of os_family
|
2014-06-06 23:40:48 +00:00
|
|
|
net.ipv4.ip_forward:
|
|
|
|
sysctl.present:
|
|
|
|
- value: 1
|
|
|
|
|
|
|
|
cbr0:
|
|
|
|
container_bridge.ensure:
|
|
|
|
- cidr: {{ grains['cbr-cidr'] }}
|
|
|
|
- mtu: 1460
|
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
purge-old-docker:
|
|
|
|
pkg.removed:
|
|
|
|
- pkgs:
|
|
|
|
- lxc-docker-1.2.0
|
2014-11-25 22:39:49 +00:00
|
|
|
- lxc-docker-1.3.0
|
|
|
|
- lxc-docker-1.3.1
|
2014-12-12 20:17:58 +00:00
|
|
|
- lxc-docker-1.3.2
|
2014-12-16 19:55:13 +00:00
|
|
|
- lxc-docker-1.3.3
|
2014-12-16 23:27:25 +00:00
|
|
|
- lxc-docker-1.4.0
|
2015-02-26 19:06:53 +00:00
|
|
|
- lxc-docker-1.4.1
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
{{ environment_file }}:
|
|
|
|
file.managed:
|
|
|
|
- source: salt://docker/docker-defaults
|
|
|
|
- template: jinja
|
|
|
|
- user: root
|
|
|
|
- group: root
|
|
|
|
- mode: 644
|
|
|
|
- makedirs: true
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
# We are caching the Docker deb file in GCS for reliability and speed. To
|
|
|
|
# update this to a new version of docker, do the following:
|
|
|
|
# 1. Find new deb name with:
|
|
|
|
# curl https://get.docker.com/ubuntu/dists/docker/main/binary-amd64/Packages
|
|
|
|
# 2. Download based on that:
|
|
|
|
# curl -O https://get.docker.com/ubuntu/pool/main/<...>
|
2014-11-07 21:43:07 +00:00
|
|
|
# 3. Upload to GCS:
|
2014-10-31 17:22:24 +00:00
|
|
|
# gsutil cp <deb> gs://kubernetes-release/docker/<deb>
|
|
|
|
# 4. Make it world readable:
|
|
|
|
# gsutil acl ch -R -g all:R gs://kubernetes-release/docker/<deb>
|
|
|
|
# 5. Get a hash of the deb:
|
|
|
|
# shasum <deb>
|
|
|
|
# 6. Update this file with new deb name, new hash and new version
|
|
|
|
# 7. Add the old version to purge-old-docker above.
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
{% set storage_base='https://storage.googleapis.com/kubernetes-release/docker/' %}
|
2015-02-26 19:06:53 +00:00
|
|
|
{% set deb='lxc-docker-1.5.0_1.5.0_amd64.deb' %}
|
|
|
|
{% set deb_hash='sha1=ba4db088a741c15311406780d828fa6a6341fb40' %}
|
|
|
|
{% set docker_ver='1.5.0' %}
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
/var/cache/docker-install/{{ deb }}:
|
|
|
|
file.managed:
|
|
|
|
- source: {{ storage_base }}{{ deb }}
|
|
|
|
- source_hash: {{ deb_hash }}
|
|
|
|
- user: root
|
|
|
|
- group: root
|
|
|
|
- mode: 644
|
|
|
|
- makedirs: true
|
2014-07-14 17:50:04 +00:00
|
|
|
|
2014-11-25 22:39:49 +00:00
|
|
|
# Drop the license file into /usr/share so that everything is crystal clear.
|
2014-10-31 17:22:24 +00:00
|
|
|
/usr/share/doc/docker/apache.txt:
|
2014-06-06 23:40:48 +00:00
|
|
|
file.managed:
|
2014-10-31 17:22:24 +00:00
|
|
|
- source: {{ storage_base }}apache2.txt
|
|
|
|
- source_hash: sha1=2b8b815229aa8a61e483fb4ba0588b8b6c491890
|
2014-06-06 23:40:48 +00:00
|
|
|
- user: root
|
|
|
|
- group: root
|
|
|
|
- mode: 644
|
|
|
|
- makedirs: true
|
|
|
|
|
2014-10-31 17:22:24 +00:00
|
|
|
lxc-docker-{{ docker_ver }}:
|
|
|
|
pkg.installed:
|
|
|
|
- sources:
|
|
|
|
- lxc-docker-{{ docker_ver }}: /var/cache/docker-install/{{ deb }}
|
2014-06-06 23:40:48 +00:00
|
|
|
|
2014-09-03 16:45:30 +00:00
|
|
|
docker:
|
|
|
|
service.running:
|
|
|
|
- enable: True
|
|
|
|
- require:
|
2014-10-31 17:22:24 +00:00
|
|
|
- pkg: lxc-docker-{{ docker_ver }}
|
2014-09-03 16:45:30 +00:00
|
|
|
- watch:
|
|
|
|
- file: {{ environment_file }}
|
|
|
|
- container_bridge: cbr0
|
2014-10-31 17:22:24 +00:00
|
|
|
- pkg: lxc-docker-{{ docker_ver }}
|
2014-07-14 17:50:04 +00:00
|
|
|
|
|
|
|
{% endif %}
|