Infra: Ansible docker images cleanup
[csit.git] / resources / tools / testbed-setup / ansible / roles / cleanup / tasks / clean_images.yaml
diff --git a/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/clean_images.yaml b/resources/tools/testbed-setup/ansible/roles/cleanup/tasks/clean_images.yaml
new file mode 100644 (file)
index 0000000..e030acb
--- /dev/null
@@ -0,0 +1,36 @@
+---
+# file: roles/cleanup/tasks/clean_images.yaml
+
+- name: Clean Docker Images
+  block:
+  - name: Clean Images - Prefetch Docker Images
+    cron:
+      name: "Prefetch docker image {{ item }}"
+      minute: "10"
+      hour: "7"
+      job: "/usr/bin/docker pull {{ item }}"
+    loop:
+      "{{ images_to_prefetch_by_arch[ansible_machine] }}"
+    tags:
+      - prefetch-docker-images
+
+  - name: Clean Images - Remove Dangling Docker Images
+    cron:
+      name: "Remove dangling docker images"
+      minute: "10"
+      hour: "5"
+      weekday: "7"
+      job: "/usr/bin/docker rmi $(/usr/bin/docker images --filter 'dangling=true' -q)"
+    tags:
+      - remove-docker-images-dangling
+
+  # TODO: Disabled until all images will be in registry
+  #- name: Clean Images - Prune Docker Images
+  #  cron:
+  #    name: "Prune docker images"
+  #    minute: "10"
+  #    hour: "6"
+  #    weekday: 7
+  #    job: "/usr/bin/docker image prune --all --force"
+  #  tags:
+  #    - prune-docker-images
\ No newline at end of file