feat: switch to binary runc and containerd install (#333)

* feat: switch to binary runc and containerd install

* fix: always download directly to dst node

* feat: add crictl role

* ci: add tests for binary downloads

* ci: rename scenario and add matrix

* ci: move to using prepare

* ci: stop using  anchors

* chore: refactor to download_artifact

* chore: add jammy to containerd+runc

* chore: bump ansible-lint

* chore: add more platforms for cri

* fix: ensure tar command exists

* chore: drop amznlinux2

---------

Co-authored-by: Mohammed Naser <mnaser@vexxhost.com>
diff --git a/.github/workflows/containerd.yml b/.github/workflows/containerd.yml
new file mode 100644
index 0000000..69a0ec8
--- /dev/null
+++ b/.github/workflows/containerd.yml
@@ -0,0 +1,69 @@
+# 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: containerd
+
+on:
+  pull_request:
+    paths:
+      - molecule/containerd/**
+      - roles/defaults/**
+      - roles/runc/**
+      - roles/binary_download/**
+      - roles/containerd/**
+      - roles/crictl/**
+  push:
+    branches:
+      - main
+    paths:
+      - molecule/containerd/**
+      - roles/defaults/**
+      - roles/runc/**
+      - roles/binary_download/**
+      - roles/containerd/**
+      - roles/crictl/**
+
+jobs:
+  test:
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        distro:
+          - debian10
+          - debian11
+          - fedora36
+          - fedora37
+          - rockylinux8
+          - rockylinux9
+          - ubuntu2004
+          - ubuntu2204
+    steps:
+      - name: Checkout project
+        uses: actions/checkout@v3
+
+      - name: Install Poetry
+        run: pipx install poetry
+
+      - name: Setup Python
+        uses: actions/setup-python@v4
+        with:
+          cache: poetry
+
+      - name: Install dependencies
+        run: poetry install --no-interaction --with dev
+
+      - name: Run Molecule
+        run: poetry run molecule test -s containerd
+        env:
+          MOLECULE_DISTRO: ${{ matrix.distro }}