diff --git a/defaults/main.yml b/defaults/main.yml index 953d7f6..3dbdfed 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -31,6 +31,11 @@ docker_py_version: 1.2.3 docker_rotate_version: 2.0.1 +# Python regex of image names to remove. Use a '~' prefix for negative match. +# +# https://github.com/locationlabs/docker-rotate +docker_rotate_containers_images_filter: ~busybox + # Log rotate interval. Log files will be rotated after this interval. docker_log_rotate_interval: "daily" diff --git a/files/docker-rotate b/files/docker-rotate deleted file mode 100644 index 88c48a1..0000000 --- a/files/docker-rotate +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# Remove docker images keeping the last 3 of each type -docker-rotate images --keep 3 -# Remove docker containers that have exited over an hour ago -# and were created over a day ago> Exclude containers based on busybox -# which are typically used for data volumes. -docker-rotate containers --exited 1h --created 1d --images ~busybox diff --git a/tasks/main.yml b/tasks/main.yml index 8aa5c54..a0e4f59 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -11,7 +11,7 @@ pip: name=dockerrotate version="{{ docker_rotate_version}}" - name: install docker-rotate cron script - copy: src=docker-rotate dest=/etc/cron.daily/ mode=755 + template: src=docker-rotate dest=/etc/cron.daily/ mode=755 - name: push logrotate config file for docker container json logs template: src=logrotate.conf.j2 dest=/etc/logrotate.d/docker diff --git a/templates/docker-rotate b/templates/docker-rotate new file mode 100644 index 0000000..0a73ad3 --- /dev/null +++ b/templates/docker-rotate @@ -0,0 +1,7 @@ +#!/bin/sh + +# Remove docker images keeping the last 3 of each type +docker-rotate images --keep 3 +# Remove docker containers that have exited over an hour ago +# and were created over a day ago +docker-rotate containers --exited 1h --created 1d --images {{ docker_rotate_containers_images_filter }}