diff --git a/cluster/saltbase/salt/logrotate/conf b/cluster/saltbase/salt/logrotate/conf new file mode 100644 index 00000000000..85d15382b0c --- /dev/null +++ b/cluster/saltbase/salt/logrotate/conf @@ -0,0 +1,11 @@ +/var/log/{{ file }}.log { + rotate 5 + copytruncate + missingok + notifempty + compress + maxsize 100m + daily + create 0644 root root +} + diff --git a/cluster/saltbase/salt/logrotate/cron b/cluster/saltbase/salt/logrotate/cron new file mode 100644 index 00000000000..fc02cd00e2e --- /dev/null +++ b/cluster/saltbase/salt/logrotate/cron @@ -0,0 +1 @@ +logrotate /etc/logrotate.conf diff --git a/cluster/saltbase/salt/logrotate/init.sls b/cluster/saltbase/salt/logrotate/init.sls new file mode 100644 index 00000000000..cd66cf9f4f1 --- /dev/null +++ b/cluster/saltbase/salt/logrotate/init.sls @@ -0,0 +1,26 @@ +logrotate: + pkg: + - installed + +{% set logrotate_files = ['scheduler', 'kube-proxy', 'kubelet', 'apiserver', 'controller-manager'] %} +{% for file in logrotate_files %} +/etc/logrotate.d/{{ file }}: + file: + - managed + - source: salt://logrotate/conf + - template: jinja + - user: root + - group: root + - mode: 644 + - context: + file: {{ file }} +{% endfor %} + +/etc/cron.hourly/logrotate: + file: + - managed + - source: salt://logrotate/cron + - template: jinja + - user: root + - group: root + - mode: 644 diff --git a/cluster/saltbase/salt/top.sls b/cluster/saltbase/salt/top.sls index bb0b133b06f..25ad16e7fdc 100644 --- a/cluster/saltbase/salt/top.sls +++ b/cluster/saltbase/salt/top.sls @@ -10,6 +10,7 @@ base: - kube-proxy - cadvisor - nsinit + - logrotate {% if grains['cloud'] is defined and grains['cloud'] == 'azure' %} - openvpn-client {% else %} @@ -24,6 +25,7 @@ base: - controller-manager - scheduler - nginx + - logrotate {% if grains['cloud'] is defined and grains['cloud'] == 'azure' %} - openvpn {% endif %}