summaryrefslogtreecommitdiff
path: root/roles/containerd/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/containerd/tasks/main.yml')
-rw-r--r--roles/containerd/tasks/main.yml47
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