feat: add crictl.yaml config (#330)

Co-authored-by: Tadas Sutkaitis <t.sutkaitis@syseleven.de>
diff --git a/roles/kubernetes/defaults/main.yml b/roles/kubernetes/defaults/main.yml
index 84818bb..c834aae 100644
--- a/roles/kubernetes/defaults/main.yml
+++ b/roles/kubernetes/defaults/main.yml
@@ -24,6 +24,12 @@
 kubernetes_cri_tools_version: 1.25.0
 
                                                                    # ]]]
+# .. envvar:: kubernetes_cri_socket [[[
+#
+# CRI socket path
+kubernetes_cri_socket: /run/containerd/containerd.sock
+
+                                                                   # ]]]
 # .. envvar:: kubernetes_kernel_modules [[[
 #
 # List of kernel modules to be automatically loaded
diff --git a/roles/kubernetes/tasks/main.yml b/roles/kubernetes/tasks/main.yml
index cd806b8..583829f 100644
--- a/roles/kubernetes/tasks/main.yml
+++ b/roles/kubernetes/tasks/main.yml
@@ -41,13 +41,19 @@
 - name: Install packages
   ansible.builtin.apt:
     name:
-      - "containerd"
       - "cri-tools={{ kubernetes_cri_tools_version }}-00"
       - "kubeadm={{ kubernetes_version }}-00"
       - "kubectl={{ kubernetes_version }}-00"
       - "kubelet={{ kubernetes_version }}-00"
     state: present
 
+- name: Create crictl config
+  ansible.builtin.template:
+    src: crictl.yaml.j2
+    dest: /etc/crictl.yaml
+    owner: root
+    mode: 0644
+
 - name: Enable kernel modules on-boot
   ansible.builtin.template:
     src: modules-load.conf.j2
diff --git a/roles/kubernetes/templates/crictl.yaml.j2 b/roles/kubernetes/templates/crictl.yaml.j2
new file mode 100644
index 0000000..a5e8dc2
--- /dev/null
+++ b/roles/kubernetes/templates/crictl.yaml.j2
@@ -0,0 +1,4 @@
+runtime-endpoint: unix://{{ kubernetes_cri_socket }}
+image-endpoint: unix://{{ kubernetes_cri_socket }}
+timeout: 30
+debug: false
diff --git a/roles/kubernetes/templates/kubeadm.yaml.j2 b/roles/kubernetes/templates/kubeadm.yaml.j2
index f4689a0..4179141 100644
--- a/roles/kubernetes/templates/kubeadm.yaml.j2
+++ b/roles/kubernetes/templates/kubeadm.yaml.j2
@@ -9,7 +9,7 @@
     enforce-node-allocatable: ""
     node-ip: "{{ ansible_default_ipv4.address }}"
     container-runtime: "remote"
-    container-runtime-endpoint: "/run/containerd/containerd.sock"
+    container-runtime-endpoint: "{{ kubernetes_cri_socket }}"
 ---
 apiVersion: kubeadm.k8s.io/v1beta2
 kind: JoinConfiguration
@@ -19,7 +19,7 @@
     enforce-node-allocatable: ""
     node-ip: "{{ ansible_default_ipv4.address }}"
     container-runtime: "remote"
-    container-runtime-endpoint: "/run/containerd/containerd.sock"
+    container-runtime-endpoint: "{{ kubernetes_cri_socket }}"
 {% if (_kubernetes_bootstrap_node is not defined) or (_kubernetes_bootstrap_node is defined and inventory_hostname != _kubernetes_bootstrap_node) %}
 discovery:
   bootstrapToken: