rsyslog/ansible/playbooks/validate.yml
dvirlabs 82a9274bf9
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
test
2026-04-17 17:30:55 +03:00

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