diff options
Diffstat (limited to 'roles/containerd/tasks/main.yml')
-rw-r--r-- | roles/containerd/tasks/main.yml | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/roles/containerd/tasks/main.yml b/roles/containerd/tasks/main.yml index f0d29a4a..10371243 100644 --- a/roles/containerd/tasks/main.yml +++ b/roles/containerd/tasks/main.yml @@ -1,15 +1,48 @@ --- -- name: check for supported platform - when: ansible_distribution != "Ubuntu" - fail: - msg: "currenty this only works with ubuntu" - - name: prepare storage volume for /var/lib/containerd when: containerd_storage is defined - import_tasks: "{{ containerd_storage.type }}.yml" + vars: + storage_volume: "{{ containerd_storage | combine({'dest': '/var/lib/containerd'}) }}" + include_role: + name: "storage/{{ containerd_storage.type }}/volume" + +- name: create child-dataset for zfs-snapshotter + when: "containerd_storage is defined and containerd_storage.type == 'zfs'" + zfs: + name: "{{ containerd_storage.pool }}/{{ containerd_storage.name }}/io.containerd.snapshotter.v1.zfs" + state: present + +- name: prepare package provider + when: containerd_pkg_provider != 'distro' + include_role: + name: "apt-repo/{{ containerd_pkg_provider }}" - name: install containerd apt: - name: containerd + name: "{{ containerd_pkg_name }}{% if containerd_pkg_version is defined %}={{ containerd_pkg_version }}{% endif %}" state: present force: yes + +- name: fetch containerd default config + check_mode: no + command: containerd config default + register: containerd_config_default + changed_when: false + +- name: fetch containerd default config + copy: + content: "{{ containerd_config_default.stdout | from_toml | combine(containerd_config, recursive=True) | to_toml }}\n" + dest: /etc/containerd/config.toml + notify: restart containerd + +- name: disable automatic upgrades for containerd package + when: containerd_pkg_version is defined + dpkg_selections: + name: "{{ containerd_pkg_name }}" + selection: hold + +- name: start and enable containerd + service: + name: containerd + enabled: true + state: started |