diff --git a/maas/meta/logrotate.yml b/maas/meta/logrotate.yml
new file mode 100644
index 0000000..eec9957
--- /dev/null
+++ b/maas/meta/logrotate.yml
@@ -0,0 +1,82 @@
+{%- from "maas/map.jinja" import cluster, region  with context %}
+
+{%- if cluster.get('enabled', False) %}
+  {%- set log_interval = cluster.get('logrotate', {}).get('interval', 'weekly') %}
+  {%- set log_rotation = cluster.get('logrotate', {}).get('rotate', 8) %}
+{%- elif region.get('enabled', False) %}
+  {%- set log_interval = region.get('logrotate', {}).get('interval', 'weekly') %}
+  {%- set log_rotation = region.get('logrotate', {}).get('rotate', 8) %}
+{%- endif %}
+
+{%- if cluster.get('enabled', False) or region.get('enabled', False) %}
+job:
+  maas-common:
+    - files:
+        - /var/log/maas/maas.log
+      options:
+        - {{ log_interval }}
+        - rotate: {{ log_rotation }}
+        - missingok
+        - compress
+        - delaycompress
+        - notifempty
+        # Don't rotate unless the log is at least 10MB.
+        - minsize: 10M
+        # Force rotation if the log grows beyond 50MB.
+        - maxsize: 50M
+  maas-proxy:
+    - files:
+        - /var/log/maas/proxy/*.log
+      options:
+        - {{ log_interval }}
+        - rotate: {{ log_rotation }}
+        - compress
+        - delaycompress
+        - missingok
+        - nocreate
+        - sharedscripts
+        - postrotate:
+                if [ -x /usr/sbin/squid ]; then SQUID=/usr/sbin/squid; elif  [ -x /usr/sbin/squid3 ]; then SQUID=/usr/sbin/squid3; else echo "No squid binary found" && exit 1; fi; test ! -e /var/run/maas-proxy.pid || $SQUID -f /var/lib/maas/maas-proxy.conf -k rotate
+{%- if pillar.postgresql is not defined %} ## If postgresql pillar is defined, it should be configured in postgresql pillar and not maas pillar
+  postgresql-common: # MAAS install PSQL package as a dependency thus configure PSQL log as well
+    - files:
+        - /var/log/postgresql/*.log
+      options:
+        - {{ log_interval }}
+        - rotate: {{ log_rotation }}
+        - missingok
+        - compress
+        - delaycompress
+        - copytruncate
+        - notifempty
+        - su root root
+{%- endif %}
+{%- endif %}
+{%- if cluster.get('enabled', False) %}
+  maas-rack-controller:
+    - files:
+        - /var/log/maas/rackd.log
+      options:
+        - {{ cluster.get('logrotate', {}).get('interval', 'weekly') }}
+        - rotate: {{ cluster.get('logrotate', {}).get('rotate', 8) }}
+        - compress
+        - missingok
+        - copytruncate
+        - su maas maas
+        - minsize: 10M
+        - maxsize: 50M
+{%- endif %}
+{%- if region.get('enabled', False) %}
+  maas-region-api:
+    - files:
+        - /var/log/maas/regiond.log
+      options:
+        - {{ cluster.get('logrotate', {}).get('interval', 'weekly') }}
+        - rotate: {{ cluster.get('logrotate', {}).get('rotate', 8) }}
+        - compress
+        - missingok
+        - copytruncate
+        - su maas maas
+        - minsize: 10M
+        - maxsize: 50M
+{%- endif %}
\ No newline at end of file
