Files
ansible-role-rsyslog/tasks/main.yml

120 lines
3.2 KiB
YAML

# Install and configure rsyslog
---
- name: Debugger
debug:
msg: 'OS Family: {{ ansible_os_family }}'
- name: set OS dependent variables
tags:
- rsyslog
- prereq
include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_distribution }}_{{ ansible_distribution_major_version }}.yml"
- "{{ ansible_distribution }}.yml"
- "{{ ansible_os_family }}_{{ ansible_distribution_major_version }}.yml"
- "{{ ansible_os_family }}.yml"
- default.yml
- include: main_rh.yml
when: >
ansible_os_family == 'RedHat' or
ansible_os_family == 'Rocky'
- include: main_deb.yml
when: ansible_os_family == 'Debian'
- include: main_arch.yml
when: ansible_os_family == 'Archlinux'
- name: setup main configuration
tags:
- rsyslog
- files
template: >
src={{ rsyslog_custom_config | default('rsyslog.conf.j2') }}
dest={{ rsyslog_main_config }}
owner={{ rsyslog_file_owner }}
group={{ rsyslog_file_group }}
mode={{ rsyslog_file_mode }}
notify:
- restart rsyslog
when: rsyslog_os_supported
- name: remove existing (custom/additional) configurations
tags:
- rsyslog
- files
file:
state: absent
path: "{{ rsyslog_include_path }}/"
when: purge_config
- name: create additional configuration directory
tags:
- rsyslog
- files
file: >
path="{{ rsyslog_include_path }}"
owner={{ rsyslog_file_owner }}
group={{ rsyslog_file_group }}
mode={{ rsyslog_file_mode }}
state=directory
when: rsyslog_os_supported
- name: setup default additional configuration
tags:
- rsyslog
- files
template: >
src=rsyslog.snippet.conf.j2
dest={{ rsyslog_include_path }}/{{ item.name }}.conf
owner={{ rsyslog_file_owner }}
group={{ rsyslog_file_group }}
mode={{ rsyslog_file_mode }}
with_items:
- name: "50-default"
lines:
- '*.info;mail.none;authpriv.none;cron.none /var/log/messages'
- 'kern.* -/var/log/kern.log'
- 'auth.*;authpriv.* /var/log/auth.log'
- 'daemon.* /var/log/daemon.log'
- 'cron.* -/var/log/cron.log'
- 'mail.* -/var/log/mail.log'
- 'uucp,news.* /var/log/spooler'
- '*.emerg *'
- 'local7.* /var/log/boot.log'
- '*.* /var/log/uncategorized.log'
notify:
- restart rsyslog
when: >
rsyslog_default_config and
rsyslog_os_supported
- name: setup additional configurations
tags:
- rsyslog
- files
template: >
src=rsyslog.snippet.conf.j2
dest={{ rsyslog_include_path }}/{{ item.name }}.conf
owner={{ rsyslog_file_owner }}
group={{ rsyslog_file_group }}
mode={{ rsyslog_file_mode }}
with_items:
- "{{ items }}"
notify:
- restart rsyslog
when: rsyslog_os_supported
- name: Reload systemd
systemd:
daemon_reload: yes
- name: enable service
tags:
- rsyslog
- configuration
service: name={{ rsyslog_service_name }} enabled=yes state=started
when: rsyslog_os_supported