All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
---
|
|
- name: Validate rsyslog configuration
|
|
hosts: rsyslog_servers
|
|
gather_facts: false
|
|
|
|
vars:
|
|
validate_dir: /tmp/rsyslog-validate
|
|
validate_conf: /tmp/rsyslog-validate/rsyslog.conf
|
|
|
|
tasks:
|
|
- name: Create temp validation directory
|
|
file:
|
|
path: "{{ validate_dir }}/rsyslog.d"
|
|
state: directory
|
|
mode: "0700"
|
|
|
|
- name: Copy main config to temp location
|
|
copy:
|
|
src: "{{ repo_root }}/files/rsyslog.conf"
|
|
dest: "{{ validate_conf }}"
|
|
remote_src: true
|
|
|
|
- name: Copy rsyslog.d configs to temp location
|
|
copy:
|
|
src: "{{ repo_root }}/files/rsyslog.d/"
|
|
dest: "{{ validate_dir }}/rsyslog.d/"
|
|
remote_src: true
|
|
|
|
- name: Update IncludeConfig path to point to temp dir
|
|
replace:
|
|
path: "{{ validate_conf }}"
|
|
regexp: '^\$IncludeConfig\s+.*$'
|
|
replace: '$IncludeConfig {{ validate_dir }}/rsyslog.d/*.conf'
|
|
|
|
- name: Validate repo rsyslog configuration
|
|
command: rsyslogd -N1 -f "{{ validate_conf }}"
|
|
register: validate_result
|
|
failed_when: validate_result.rc != 0
|
|
changed_when: false
|
|
|
|
- name: Display validation result
|
|
debug:
|
|
msg: "✓ rsyslog configuration is valid"
|
|
|
|
- name: Clean up temp validation directory
|
|
file:
|
|
path: "{{ validate_dir }}"
|
|
state: absent
|