Skip to content

wak-automation/ansible-role-logrotate

 
 

Repository files navigation

Ansible Role: Logrotate Build Status

Report issues and send Pull Requests in the main Ansible Role repository

This role will assume the setup of Logrotate.

It's part of the Manala Ansible stack but can be used as a stand alone component.

Requirements

None.

Dependencies

None.

Installation

Ansible 2+

Using ansible galaxy cli:

ansible-galaxy install manala.logrotate

Using ansible galaxy requirements file:

- src: manala.logrotate

Role Handlers

None

Role Variables

Name Default Type Description
manala_logrotate_install_packages ~ Array Dependency packages to install
manala_logrotate_install_packages_default ['logrotate'] Array Default dependency packages to install
manala_logrotate_configs_exclusive false Boolean Exclusion of existing files Configurations
manala_logrotate_configs_dir '/etc/logrotate.d' String Configurations directory path
manala_logrotate_configs_defaults {} Array Configurations defaults
manala_logrotate_configs [] Array Configurations directives

Configurations examples

manala_logrotate_configs:
  # Config based
  - file: config
    config:
      /var/log/nginx/example/*.log:
        size: 200M
        missingok: true
        rotate: 0
  # Dicts array config based (deprecated)
  - file: config_deprecated.conf
    config:
      - /var/log/nginx/example/*.log:
        - size: 200M
        - missingok
        - rotate: 0
        - compress
        - delaycompress
        - notifempty
        - create: 0640 www-data adm
        - sharedscripts
  # Content based
  - file: content
    config: |
      /var/log/nginx/example/*/*.log
      /var/log/nginx/example/*/*/*.log {
          size 200M
          missingok
          rotate 0
          compress
          delaycompress
          notifempty
          create 0640 www-data adm
          sharedscripts
      }
  # Template based (file name based on template)
  - template: telegraf/bar.j2
    config:
      foo: bar
  # Template based (force file name)
  - file: baz
    template: telegraf/bar.j2
    config:
      foo: bar
  # Ensure config is absent
  - file: absent
    state: absent # "present" by default
  # Ignore config
  - file: ignore
    state: ignore
  # Flatten configs
  - "{{ my_custom_configs_array }}"

manala_logrotate_configs_exclusive allow you to clean up existing logrotate configuration files into directory defined by the manala_logrotate_configs_dir key. Made to be sure no old or manually created files will alter current configuration.

manala_logrotate_configs_exclusive: true

Example playbook

- hosts: servers
  roles:
    - role: manala.logrotate

Licence

MIT

Author information

Manala (http://www.manala.io/)

About

[READ-ONLY] Ansible role dealing with the setup of Logrotate

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Makefile 47.3%
  • Python 34.6%
  • Jinja 18.1%