blob: 3040bd7baff15b9bb9dbf7a1a9e7f6f11dcceadd [file] [log] [blame]
# Copyright (c) 2023 VEXXHOST, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Remove containerd package
ansible.builtin.package:
name: "{{ containerd_package_name }}"
state: absent
- name: Install containerd binaries
ansible.builtin.copy:
src: "{{ containerd_download_unarchive_dest }}/{{ item }}"
dest: "{{ containerd_bin_dir }}/{{ item }}"
mode: "0755"
remote_src: true
loop: "{{ containerd_binaries }}"
notify: Restart containerd
- name: Remove containerd orphaned binaries
ansible.builtin.file:
path: "/usr/bin/{{ item }}"
state: absent
loop: "{{ containerd_binaries }}"
when: containerd_bin_dir != "/usr/bin"
- name: Create systemd service file for containerd
ansible.builtin.template:
src: containerd.service.j2
dest: /etc/systemd/system/containerd.service
mode: "0644"
notify:
- Reload systemd
- Restart containerd
- name: Create folders for configuration
ansible.builtin.file:
dest: "{{ item }}"
state: directory
mode: "0755"
owner: root
group: root
with_items:
- "{{ containerd_cfg_dir }}"
- "{{ containerd_storage_dir }}"
- "{{ containerd_state_dir }}"
notify:
- Restart containerd
- name: Create containerd config file
ansible.builtin.template:
src: config.toml.j2
dest: /etc/containerd/config.toml
owner: root
group: root
mode: "0644"
notify:
- Restart containerd
- name: Force any restarts if necessary
ansible.builtin.meta: flush_handlers
- name: Enable and start service
ansible.builtin.service:
name: containerd
enabled: true
state: started