Add migration to docker compose v2
This commit is contained in:
parent
56faf541a2
commit
437ba4f04c
41
ansible/plays/docker.yaml
Normal file
41
ansible/plays/docker.yaml
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
- name: Migrate to docker compose v2
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
become_user: root
|
||||||
|
pre_tasks:
|
||||||
|
- name: Find deployed projects
|
||||||
|
ansible.builtin.find:
|
||||||
|
paths: /home/core/compose
|
||||||
|
recurse: no
|
||||||
|
file_type: directory
|
||||||
|
register: find_challenges
|
||||||
|
- name: Register Projects Fact
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
deployed_challenges: "{{ find_challenges.files | map(attribute='path') | map('basename') }}"
|
||||||
|
- name: Undeploy
|
||||||
|
include_tasks: undeploy.yaml
|
||||||
|
loop: "{{ deployed_challenges | mandatory }}"
|
||||||
|
loop_control:
|
||||||
|
loop_var: item
|
||||||
|
label: "{{ item }}"
|
||||||
|
tasks:
|
||||||
|
- name: Install Repo
|
||||||
|
copy:
|
||||||
|
dest: /etc/yum.repos.d/docker-ce.repo
|
||||||
|
src: docker.repo
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
- name: Remove legacy versions
|
||||||
|
command: "rpm-ostree override remove --reboot docker containerd runc"
|
||||||
|
async: true
|
||||||
|
poll: 0
|
||||||
|
ignore_errors: true
|
||||||
|
- name: Wait for host
|
||||||
|
ansible.builtin.wait_for_connection:
|
||||||
|
delay: 90
|
||||||
|
- name: Install new docker versions
|
||||||
|
command: "rpm-ostree install -A -y --idempotent docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin"
|
||||||
|
|
||||||
|
- name: Redeploy
|
||||||
|
ansible.builtin.import_playbook: ../playbook.yaml
|
6
ansible/plays/files/docker.repo
Normal file
6
ansible/plays/files/docker.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[docker-ce-stable]
|
||||||
|
name=Docker CE Stable - $basearch
|
||||||
|
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=https://download.docker.com/linux/fedora/gpg
|
20
ansible/plays/undeploy.yaml
Normal file
20
ansible/plays/undeploy.yaml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
- name: Undeploy service
|
||||||
|
block:
|
||||||
|
- name: Set service_dir
|
||||||
|
ansible.builtin.set_fact:
|
||||||
|
service_dir: "/home/core/compose/{{ item | mandatory }}"
|
||||||
|
- name: Check if service is present
|
||||||
|
stat:
|
||||||
|
path: "{{ service_dir | mandatory }}"
|
||||||
|
register: dir
|
||||||
|
- name: Stop Service
|
||||||
|
community.docker.docker_compose:
|
||||||
|
project_src: "{{ service_dir | mandatory }}"
|
||||||
|
state: absent
|
||||||
|
remove_orphans: true
|
||||||
|
when: dir.stat.exists == True
|
||||||
|
- name: Remove Service
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: "{{ service_dir | mandatory }}"
|
||||||
|
when: dir.stat.exists == True
|
Loading…
Reference in New Issue
Block a user