| # 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 |