diff options
Diffstat (limited to 'deployment/noheat/cluster-rke/ansible/roles/setup_docker')
5 files changed, 83 insertions, 0 deletions
diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/defaults/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/defaults/main.yml new file mode 100644 index 000000000..cafa274a1 --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/defaults/main.yml @@ -0,0 +1,3 @@ +--- +docker_version: "20.10.21" +local_user: "ubuntu" diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/handlers/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/handlers/main.yml new file mode 100644 index 000000000..3627303e6 --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart docker + service: + name: docker + state: restarted diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/main.yml new file mode 100644 index 000000000..12e13f47b --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/main.yml @@ -0,0 +1,26 @@ +--- +- name: Setup Docker repo and packages + include_tasks: packages.yml + +- name: Add user to docker group + user: + name: "{{ local_user }}" + groups: docker + append: yes + when: local_user is defined + +- name: Make sure Docker is started and enabled + service: + name: docker + state: started + enabled: yes + +- name: Configure Docker + copy: + dest: /etc/docker/daemon.json + content: "{{ docker_config | to_nice_json }}" + mode: 0600 + backup: true + when: docker_config is defined + notify: + - restart docker diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/packages.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/packages.yml new file mode 100644 index 000000000..814dd285a --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/tasks/packages.yml @@ -0,0 +1,41 @@ +--- +- name: Install deps + apt: + name: "{{ item }}" + state: present + with_items: + - apt-transport-https + - ca-certificates + - curl + - software-properties-common + +- name: Add Docker repo key + apt_key: + url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg" + state: present + +- name: Add Docker repo + apt_repository: + repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release | lower }} stable" + state: present + update_cache: yes + +- name: Find exact Docker version + shell: "set -o pipefail && apt-cache madison docker-ce | grep {{ docker_version }} | head -n 1 | cut -d ' ' -f 4" + args: + executable: "/bin/bash" + register: docker_pkg_version + changed_when: false + +- name: install Docker + apt: + name: "{{ item }}" + state: present + allow_downgrade: true + with_items: + - "docker-ce={{ docker_pkg_version.stdout }}" + - "docker-ce-cli={{ docker_pkg_version.stdout }}" + +- name: Lock docker version + command: apt-mark hold docker-ce docker-ce-cli + changed_when: false diff --git a/deployment/noheat/cluster-rke/ansible/roles/setup_docker/vars/main.yml b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/vars/main.yml new file mode 100644 index 000000000..6879cca7e --- /dev/null +++ b/deployment/noheat/cluster-rke/ansible/roles/setup_docker/vars/main.yml @@ -0,0 +1,8 @@ +--- +# docker_config will be converted to json and placed as a /etc/docker/daemon.json +#docker_config: +# insecure-registries: +# - "192.168.1.1:5000" +# - "192.168.1.2:5000" +# registry-mirrors: +# - "http://192.168.1.1:5000" |