Merge pull request 'Ansible-lint and yamllint' (#32) from linting into dev
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-by: Jérémy Dubois <jdubois@noreply.gitea.evolix.org> Reviewed-by: Tristan Pilat <drustan@noreply.gitea.evolix.org>
This commit is contained in:
commit
0b4e262f13
30
.drone.yml
Normal file
30
.drone.yml
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: lint markdown files
|
||||||
|
image: pipelinecomponents/remark-lint:latest
|
||||||
|
commands:
|
||||||
|
- "remark --no-stdout --color --use preset-lint-recommended ."
|
||||||
|
|
||||||
|
- name: lint yaml files
|
||||||
|
image: pipelinecomponents/yamllint:latest
|
||||||
|
commands:
|
||||||
|
- "yamllint ."
|
||||||
|
|
||||||
|
- name: lint ansible scripts
|
||||||
|
image: pipelinecomponents/ansible-lint:latest
|
||||||
|
commands:
|
||||||
|
- >
|
||||||
|
find . -maxdepth 1 -name '*.yml'
|
||||||
|
| sort
|
||||||
|
| grep -v '.drone.yml'
|
||||||
|
| xargs ansible-playbook --syntax-check --list-tasks
|
||||||
|
|
||||||
|
- >
|
||||||
|
find . -maxdepth 1 -name '*.yml'
|
||||||
|
| sort
|
||||||
|
| grep -v '.drone.yml'
|
||||||
|
| xargs ansible-lint
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
Contributions are welcome, as long as they respect our current workflow:
|
Contributions are welcome, as long as they respect our current workflow:
|
||||||
|
|
||||||
1. The master branch is only for releases. Once properly tested,
|
1. The master branch is only for releases. Once properly tested,
|
||||||
the dev branch can be merged, the release tagged and a tar archive
|
the dev branch can be merged, the release tagged and a tar archive
|
||||||
created.
|
created.
|
||||||
|
|
||||||
2. The dev branch should never be commited to directly, unless
|
2. The dev branch should never be commited to directly, unless
|
||||||
you're updating the CHANGELOG file.
|
you're updating the CHANGELOG file.
|
||||||
|
|
||||||
3. Use feature branches for anything else, once they've passed all
|
3. Use feature branches for anything else, once they've passed all
|
||||||
CI tests and have been reviewed by other contributors through a
|
CI test, lints and have been reviewed by other contributors through a
|
||||||
pull request, they may be merged into the dev branch.
|
pull request, they may be merged into the dev branch.
|
||||||
|
|
||||||
|
|
||||||
Open issues liberally, but please review closed and opened issues
|
Open issues liberally, but please review closed and opened issues
|
||||||
|
|
18
README.md
18
README.md
|
@ -9,13 +9,13 @@ used by Evolix.
|
||||||
Put your public key in the remote root's autorized_keys
|
Put your public key in the remote root's autorized_keys
|
||||||
(/root/.ssh/authorized_keys)
|
(/root/.ssh/authorized_keys)
|
||||||
|
|
||||||
1 - Install ansible's prerequisites
|
1. Install ansible's prerequisites
|
||||||
|
|
||||||
```
|
```
|
||||||
ansible-playbook prerequisite.yml -CDi hosts -l HOSTNAME
|
ansible-playbook prerequisite.yml -CDi hosts -l HOSTNAME
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - Run it
|
2. Run it
|
||||||
|
|
||||||
```
|
```
|
||||||
ansible-playbook evolixisation.yml --ask-vault-pass -CDKi hosts -l HOSTNAME
|
ansible-playbook evolixisation.yml --ask-vault-pass -CDKi hosts -l HOSTNAME
|
||||||
|
@ -26,19 +26,19 @@ ansible-playbook evolixisation.yml --ask-vault-pass -CDKi hosts -l HOSTNAME
|
||||||
Changes can be tested by using [Packer](https://www.packer.io/) and
|
Changes can be tested by using [Packer](https://www.packer.io/) and
|
||||||
[vmm(4)](https://man.openbsd.org/vmm.4) :
|
[vmm(4)](https://man.openbsd.org/vmm.4) :
|
||||||
|
|
||||||
* This process depends on the [Go](https://golang.org/) programming language.
|
* This process depends on the [Go](https://golang.org/) programming language.
|
||||||
|
|
||||||
```
|
```
|
||||||
# pkg_add go packer
|
# pkg_add go packer
|
||||||
```
|
```
|
||||||
|
|
||||||
* We use the [packer-builder-vmm](https://github.com/prep/packer-builder-vmm) project to bridge Packer and vmm(4)
|
* We use the [packer-builder-vmm](https://github.com/prep/packer-builder-vmm) project to bridge Packer and vmm(4)
|
||||||
|
|
||||||
```
|
```
|
||||||
$ go get -u github.com/prep/packer-builder-vmm/cmd/packer-builder-vmm
|
$ go get -u github.com/prep/packer-builder-vmm/cmd/packer-builder-vmm
|
||||||
```
|
```
|
||||||
|
|
||||||
* Here is an example build file
|
* Here is an example build file
|
||||||
|
|
||||||
```
|
```
|
||||||
$ vim openbsd.json
|
$ vim openbsd.json
|
||||||
|
@ -101,25 +101,25 @@ $ vim openbsd.json
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
* You need your unprivileged user to be able to run vmctl(8) through doas(1)
|
* You need your unprivileged user to be able to run vmctl(8) through doas(1)
|
||||||
|
|
||||||
```
|
```
|
||||||
# echo "permit nopass myunprivilegeduser as root cmd /usr/sbin/vmctl" >> /etc/doas.conf
|
# echo "permit nopass myunprivilegeduser as root cmd /usr/sbin/vmctl" >> /etc/doas.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
* Build the virtual machine
|
* Build the virtual machine
|
||||||
|
|
||||||
```
|
```
|
||||||
$ packer build openbsd.json
|
$ packer build openbsd.json
|
||||||
```
|
```
|
||||||
|
|
||||||
* Start it
|
* Start it
|
||||||
|
|
||||||
```
|
```
|
||||||
doas vmctl start evobsd -cL -d output-vmm/evobsd.qcow2
|
doas vmctl start evobsd -cL -d output-vmm/evobsd.qcow2
|
||||||
```
|
```
|
||||||
|
|
||||||
* Enable NAT on your host machine
|
* Enable NAT on your host machine
|
||||||
|
|
||||||
```
|
```
|
||||||
pass out on em0 inet from tap0:network to any nat-to (em0)
|
pass out on em0 inet from tap0:network to any nat-to (em0)
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
become: true
|
become: true
|
||||||
become_user: root
|
become_user: root
|
||||||
become_method: sudo
|
become_method: sudo
|
||||||
# become_method: su
|
# become_method: su
|
||||||
|
|
||||||
|
|
||||||
vars_files:
|
vars_files:
|
||||||
- vars/main.yml
|
- vars/main.yml
|
||||||
# - vars/secrets.yml
|
# - vars/secrets.yml
|
||||||
# - vars/openbsd-secret.yml
|
# - vars/openbsd-secret.yml
|
||||||
|
|
||||||
roles:
|
roles:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
@ -27,9 +27,9 @@
|
||||||
- nagios-nrpe
|
- nagios-nrpe
|
||||||
- evocheck
|
- evocheck
|
||||||
- post-install
|
- post-install
|
||||||
#- openvpn
|
# - openvpn
|
||||||
#- ospf
|
# - ospf
|
||||||
#- bgp
|
# - bgp
|
||||||
|
|
||||||
post_tasks:
|
post_tasks:
|
||||||
- include: "tasks/commit_etc_git.yml"
|
- include: "tasks/commit_etc_git.yml"
|
||||||
|
@ -40,6 +40,5 @@
|
||||||
tasks_from: exec.yml
|
tasks_from: exec.yml
|
||||||
|
|
||||||
# environment:
|
# environment:
|
||||||
# PKG_PATH: "http://ftp.openbsd.org/pub/OpenBSD/{{ ansible_distribution_version }}/packages/{{ ansible_architecture }}/"
|
# yamllint disable-line rule:line-length
|
||||||
|
# PKG_PATH: "http://ftp.openbsd.org/pub/OpenBSD/{{ ansible_distribution_version }}/packages/{{ ansible_architecture }}/"
|
||||||
# vim:ft=ansible
|
|
||||||
|
|
|
@ -2,15 +2,16 @@
|
||||||
# ansible-playbook prerequisite.yml -CDi hosts -l HOSTNAME
|
# ansible-playbook prerequisite.yml -CDi hosts -l HOSTNAME
|
||||||
|
|
||||||
---
|
---
|
||||||
- hosts: all
|
- hosts: all
|
||||||
become: yes
|
become: true
|
||||||
become_method: su
|
become_method: su
|
||||||
user: root
|
user: root
|
||||||
gather_facts: no
|
gather_facts: false
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
- name: Install ansible's prerequisite
|
- name: Install ansible's prerequisite
|
||||||
|
# yamllint disable-line rule:line-length
|
||||||
raw: export PKG_PATH=http://ftp.eu.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -p)/; pkg_add -z python-2
|
raw: export PKG_PATH=http://ftp.eu.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -p)/; pkg_add -z python-2
|
||||||
|
|
||||||
# vim:ft=ansible
|
# vim:ft=ansible
|
||||||
|
|
|
@ -30,13 +30,15 @@
|
||||||
check_mode: false
|
check_mode: false
|
||||||
register: grep_allowusers_ssh
|
register: grep_allowusers_ssh
|
||||||
|
|
||||||
- assert:
|
- name: "Check that AllowUsers and AllowGroup do not override each other"
|
||||||
|
assert:
|
||||||
that: "not (grep_allowusers_ssh.rc == 0 and grep_allowgroups_ssh.rc == 0)"
|
that: "not (grep_allowusers_ssh.rc == 0 and grep_allowgroups_ssh.rc == 0)"
|
||||||
msg: "We can't deal with AllowUsers and AllowGroups at the same time"
|
msg: "We can't deal with AllowUsers and AllowGroups at the same time"
|
||||||
|
|
||||||
- set_fact:
|
- name: "If AllowGroups is present then use it"
|
||||||
# If "AllowGroups is present"
|
set_fact:
|
||||||
ssh_allowgroups: "{{ (grep_allowgroups_ssh.rc == 0) or (grep_allowusers_ssh.rc != 0) }}"
|
ssh_allowgroups:
|
||||||
|
"{{ (grep_allowgroups_ssh.rc == 0) or (grep_allowusers_ssh.rc != 0) }}"
|
||||||
|
|
||||||
- name: "Add AllowGroups sshd directive with '{{ evolinux_ssh_group }}'"
|
- name: "Add AllowGroups sshd directive with '{{ evolinux_ssh_group }}'"
|
||||||
lineinfile:
|
lineinfile:
|
||||||
|
|
|
@ -1,30 +1,35 @@
|
||||||
---
|
---
|
||||||
ntpd_servers:
|
ntpd_servers:
|
||||||
- "ntp.evolix.net"
|
- "ntp.evolix.net"
|
||||||
|
|
||||||
general_alert_email: "root@localhost"
|
general_alert_email: "root@localhost"
|
||||||
general_technical_realm: "example.com"
|
general_technical_realm: "example.com"
|
||||||
|
|
||||||
evomaintenance_realm: "example.com"
|
evomaintenance_realm: "example.com"
|
||||||
evomaintenance_alert_email: "evomaintenance-{{ inventory_hostname }}@{{ evomaintenance_realm }}"
|
evomaintenance_alert_email:
|
||||||
evomaintenance_hostname: "{{ inventory_hostname }}.{{ general_technical_realm }}"
|
"evomaintenance-{{ inventory_hostname }}@{{ evomaintenance_realm }}"
|
||||||
evomaintenance_pg_host: Null
|
evomaintenance_hostname:
|
||||||
evomaintenance_pg_passwd: Null
|
"{{ inventory_hostname }}.{{ general_technical_realm }}"
|
||||||
evomaintenance_pg_db: Null
|
evomaintenance_pg_host: null
|
||||||
evomaintenance_pg_table: Null
|
evomaintenance_pg_passwd: null
|
||||||
|
evomaintenance_pg_db: null
|
||||||
|
evomaintenance_pg_table: null
|
||||||
evomaintenance_from_domain: "{{ evomaintenance_realm }}"
|
evomaintenance_from_domain: "{{ evomaintenance_realm }}"
|
||||||
evomaintenance_from: "evomaintenance@{{ evomaintenance_from_domain }}"
|
evomaintenance_from: "evomaintenance@{{ evomaintenance_from_domain }}"
|
||||||
evomaintenance_full_from: "Evomaintenance <{{ evomaintenance_from }}>"
|
evomaintenance_full_from: "Evomaintenance <{{ evomaintenance_from }}>"
|
||||||
evomaintenance_urgency_from: mama.doe@example.com
|
evomaintenance_urgency_from: mama.doe@example.com
|
||||||
evomaintenance_urgency_tel: "06.00.00.00.00"
|
evomaintenance_urgency_tel: "06.00.00.00.00"
|
||||||
evomaintenance_install_vendor: False
|
evomaintenance_install_vendor: false
|
||||||
evomaintenance_force_config: True
|
evomaintenance_force_config: true
|
||||||
evomaintenance_api_endpoint: Null
|
evomaintenance_api_endpoint: null
|
||||||
evomaintenance_api_key: Null
|
evomaintenance_api_key: null
|
||||||
evomaintenance_hook_api: True
|
evomaintenance_hook_api: true
|
||||||
evomaintenance_hook_db: False
|
evomaintenance_hook_db: false
|
||||||
evomaintenance_hook_commit: True
|
evomaintenance_hook_commit: true
|
||||||
evomaintenance_hook_mail: True
|
evomaintenance_hook_mail: true
|
||||||
evomaintenance_default_hosts: []
|
evomaintenance_default_hosts: []
|
||||||
evomaintenance_additional_hosts: []
|
evomaintenance_additional_hosts: []
|
||||||
evomaintenance_hosts: "{{ evomaintenance_default_hosts | union(evomaintenance_additional_hosts) | unique }}"
|
evomaintenance_hosts: >
|
||||||
|
{{ evomaintenance_default_hosts
|
||||||
|
| union(evomaintenance_additional_hosts)
|
||||||
|
| unique }}
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
mode: "0640"
|
mode: "0640"
|
||||||
backup: no
|
backup: false
|
||||||
tags:
|
tags:
|
||||||
- doas
|
- doas
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,10 +39,10 @@
|
||||||
dest: /etc/skel/.profile
|
dest: /etc/skel/.profile
|
||||||
insertafter: EOF
|
insertafter: EOF
|
||||||
line: 'trap "doas /usr/share/scripts/evomaintenance.sh" 0'
|
line: 'trap "doas /usr/share/scripts/evomaintenance.sh" 0'
|
||||||
create: yes
|
create: true
|
||||||
tags:
|
tags:
|
||||||
- admin
|
- admin
|
||||||
- dotfiles
|
- dotfiles
|
||||||
|
|
||||||
- name: Add vim configuration to dotfiles for new users
|
- name: Add vim configuration to dotfiles for new users
|
||||||
copy:
|
copy:
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
force: no
|
force: false
|
||||||
tags:
|
tags:
|
||||||
- evobackup
|
- evobackup
|
||||||
|
|
||||||
|
@ -16,6 +16,6 @@
|
||||||
line: '#sh /usr/share/scripts/zzz_evobackup'
|
line: '#sh /usr/share/scripts/zzz_evobackup'
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
create: yes
|
create: true
|
||||||
tags:
|
tags:
|
||||||
- evobackup
|
- evobackup
|
||||||
|
|
|
@ -10,10 +10,15 @@
|
||||||
- evomaintenance
|
- evomaintenance
|
||||||
|
|
||||||
- name: Copy evomaintenance script and template
|
- name: Copy evomaintenance script and template
|
||||||
copy: src={{ item.src }} dest={{ item.dest }} owner=root group=wheel mode="0755"
|
copy:
|
||||||
|
src: "{{ item.src }}"
|
||||||
|
dest: "{{ item.dest }}"
|
||||||
|
owner: 'root'
|
||||||
|
group: 'wheel'
|
||||||
|
mode: '0755'
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'evomaintenance.sh', dest: '/usr/share/scripts/' }
|
- {src: 'evomaintenance.sh', dest: '/usr/share/scripts/'}
|
||||||
- { src: 'evomaintenance.tpl', dest: '/usr/share/scripts/' }
|
- {src: 'evomaintenance.tpl', dest: '/usr/share/scripts/'}
|
||||||
tags:
|
tags:
|
||||||
- evomaintenance
|
- evomaintenance
|
||||||
- script-evomaintenance
|
- script-evomaintenance
|
||||||
|
@ -25,6 +30,6 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
backup: no
|
backup: false
|
||||||
tags:
|
tags:
|
||||||
- evomaintenance
|
- evomaintenance
|
||||||
|
|
|
@ -2,8 +2,9 @@
|
||||||
- name: Configure rc.local
|
- name: Configure rc.local
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/rc.local
|
path: /etc/rc.local
|
||||||
line: 'date | mail -s "boot/reboot of $(hostname -s)" {{ general_alert_email }}'
|
line:
|
||||||
create: yes
|
'date | mail -s "boot/reboot of $(hostname -s)" {{ general_alert_email }}'
|
||||||
|
create: true
|
||||||
tags:
|
tags:
|
||||||
- misc
|
- misc
|
||||||
|
|
||||||
|
@ -12,7 +13,7 @@
|
||||||
dest: /etc/mail/aliases
|
dest: /etc/mail/aliases
|
||||||
regexp: "# root:"
|
regexp: "# root:"
|
||||||
replace: "root: {{ general_alert_email }}"
|
replace: "root: {{ general_alert_email }}"
|
||||||
backup: no
|
backup: false
|
||||||
notify:
|
notify:
|
||||||
- newaliases
|
- newaliases
|
||||||
tags:
|
tags:
|
||||||
|
|
|
@ -10,20 +10,20 @@
|
||||||
- name: Install packages (vim rsync mtr etc)
|
- name: Install packages (vim rsync mtr etc)
|
||||||
openbsd_pkg:
|
openbsd_pkg:
|
||||||
name:
|
name:
|
||||||
- wget
|
- wget
|
||||||
- vim--no_x11
|
- vim--no_x11
|
||||||
- rsync--
|
- rsync--
|
||||||
- mtr--
|
- mtr--
|
||||||
- iftop
|
- iftop
|
||||||
- sudo--
|
- sudo--
|
||||||
- postgresql-client
|
- postgresql-client
|
||||||
tags:
|
tags:
|
||||||
- pkg
|
- pkg
|
||||||
|
|
||||||
- name: Disable sndiod
|
- name: Disable sndiod
|
||||||
service:
|
service:
|
||||||
name: sndiod
|
name: sndiod
|
||||||
enabled: no
|
enabled: false
|
||||||
state: stopped
|
state: stopped
|
||||||
tags:
|
tags:
|
||||||
- pkg
|
- pkg
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /etc/sudoers
|
dest: /etc/sudoers
|
||||||
insertafter: '# and set environment variables.'
|
insertafter: '# and set environment variables.'
|
||||||
line: '%wheel ALL=(ALL) SETENV: ALL'
|
line: '%wheel ALL=(ALL) SETENV: ALL'
|
||||||
validate: 'visudo -cf %s'
|
validate: 'visudo -cf %s'
|
||||||
backup: no
|
backup: false
|
||||||
tags:
|
tags:
|
||||||
- sudo
|
- sudo
|
||||||
|
|
||||||
- name: Configure sudoers for evomaintenance and monitoring
|
- name: Configure sudoers for evomaintenance and monitoring
|
||||||
blockinfile:
|
blockinfile:
|
||||||
|
@ -19,8 +19,6 @@
|
||||||
Cmnd_Alias MAINT = /usr/share/scripts/evomaintenance.sh
|
Cmnd_Alias MAINT = /usr/share/scripts/evomaintenance.sh
|
||||||
%wheel ALL=NOPASSWD: MAINT
|
%wheel ALL=NOPASSWD: MAINT
|
||||||
validate: 'visudo -cf %s'
|
validate: 'visudo -cf %s'
|
||||||
backup: no
|
backup: false
|
||||||
tags:
|
tags:
|
||||||
- sudo
|
- sudo
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,5 +10,5 @@ Everything is in the `tasks/main.yml` file.
|
||||||
|
|
||||||
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
||||||
|
|
||||||
* `bgp_mailto` : email address the output of the script will be sent to when a change is detected
|
* `bgp_mailto` : email address the output of the script will be sent to when a change is detected
|
||||||
* `bgp_exclude_grep_command` : facultative grep -v command for some peers not to be checked
|
* `bgp_exclude_grep_command` : facultative grep -v command for some peers not to be checked
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
dest: /usr/share/scripts/bgpd-check-peers.sh
|
dest: /usr/share/scripts/bgpd-check-peers.sh
|
||||||
when: group_names | select('search','bgp') | list | count > 0
|
when: group_names | select('search','bgp') | list | count > 0
|
||||||
tags:
|
tags:
|
||||||
- bgp
|
- bgp
|
||||||
|
|
||||||
- name: Cron job for bgp check script is installed
|
- name: Cron job for bgp check script is installed
|
||||||
cron:
|
cron:
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
state: directory
|
state: directory
|
||||||
when: group_names | select('search','bgp') | list | count > 0
|
when: group_names | select('search','bgp') | list | count > 0
|
||||||
tags:
|
tags:
|
||||||
- bgp
|
- bgp
|
||||||
|
|
||||||
- name: weekly best routes cron job is installed
|
- name: weekly best routes cron job is installed
|
||||||
cron:
|
cron:
|
||||||
|
@ -29,7 +29,9 @@
|
||||||
minute: 0
|
minute: 0
|
||||||
hour: 4
|
hour: 4
|
||||||
weekday: 0
|
weekday: 0
|
||||||
job: "/usr/sbin/bgpctl show rib selected > /var/log/bgp/rib-selected-$(date +\\%F)"
|
job: >
|
||||||
|
/usr/sbin/bgpctl show rib selected
|
||||||
|
> /var/log/bgp/rib-selected-$(date +\\%F)
|
||||||
when: group_names | select('search','bgp') | list | count > 0
|
when: group_names | select('search','bgp') | list | count > 0
|
||||||
tags:
|
tags:
|
||||||
- bgp
|
- bgp
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
---
|
---
|
||||||
commit_message: Ansible run
|
commit_message: Ansible run
|
||||||
|
|
||||||
etc_git_monitor_status: True
|
etc_git_monitor_status: true
|
||||||
|
|
|
@ -3,20 +3,20 @@
|
||||||
command: git status --porcelain
|
command: git status --porcelain
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
changed_when: False
|
changed_when: false
|
||||||
register: git_status
|
register: git_status
|
||||||
when: not ansible_check_mode
|
when: not ansible_check_mode
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
var: git_status
|
var: git_status
|
||||||
verbosity: 3
|
verbosity: 3
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
||||||
- name: fetch current Git user.email
|
- name: fetch current Git user.email
|
||||||
git_config:
|
git_config:
|
||||||
|
@ -24,33 +24,49 @@
|
||||||
repo: /etc
|
repo: /etc
|
||||||
scope: local
|
scope: local
|
||||||
register: git_config_user_email
|
register: git_config_user_email
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
||||||
- name: set commit author
|
- name: set commit author
|
||||||
set_fact:
|
set_fact:
|
||||||
commit_author: '{% if ansible_env.SUDO_USER is not defined %}root{% else %}{{ ansible_env.SUDO_USER }}{% endif %}'
|
commit_author: >
|
||||||
commit_email: '{% if git_config_user_email.config_value is not defined or git_config_user_email.config_value == "" %}root@localhost{% else %}{{ git_config_user_email.config_value }}{% endif %}'
|
{% if ansible_env.SUDO_USER is not defined %}
|
||||||
|
root
|
||||||
|
{% else %}
|
||||||
|
{{ ansible_env.SUDO_USER }}
|
||||||
|
{% endif %}
|
||||||
|
commit_email: >
|
||||||
|
{% if git_config_user_email.config_value is not defined
|
||||||
|
or git_config_user_email.config_value == "" %}
|
||||||
|
root@localhost
|
||||||
|
{% else %}
|
||||||
|
{{ git_config_user_email.config_value }}
|
||||||
|
{% endif %}
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
||||||
- name: /etc modifications are committed
|
- name: /etc modifications are committed
|
||||||
shell: "git add -A . && git commit -m \"{{ commit_message | mandatory }}\" --author \"{{ commit_author | mandatory }} <{{ commit_email | mandatory }}>\""
|
shell: >
|
||||||
|
git add -A .
|
||||||
|
&& git commit
|
||||||
|
-m "{{ commit_message | mandatory }}"
|
||||||
|
--author
|
||||||
|
"{{ commit_author | mandatory }} <{{ commit_email | mandatory }}>"
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
register: etc_commit_end_run
|
register: etc_commit_end_run
|
||||||
when: not ansible_check_mode and git_status.stdout != ""
|
when: not ansible_check_mode and git_status.stdout != ""
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
var: etc_commit_end_run
|
var: etc_commit_end_run
|
||||||
verbosity: 4
|
verbosity: 4
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
creates: /etc/.git/
|
creates: /etc/.git/
|
||||||
warn: no
|
warn: false
|
||||||
register: git_init
|
register: git_init
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
@ -48,11 +48,11 @@
|
||||||
command: "git log"
|
command: "git log"
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
warn: no
|
warn: false
|
||||||
changed_when: False
|
changed_when: false
|
||||||
failed_when: False
|
failed_when: false
|
||||||
register: git_log
|
register: git_log
|
||||||
check_mode: no
|
check_mode: false
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
shell: "git add -A . && git commit -m \"Initial commit via Ansible\""
|
shell: "git add -A . && git commit -m \"Initial commit via Ansible\""
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
warn: no
|
warn: false
|
||||||
register: git_commit
|
register: git_commit
|
||||||
when: git_log.rc != 0 or (git_init is defined and git_init.changed)
|
when: git_log.rc != 0 or (git_init is defined and git_init.changed)
|
||||||
tags:
|
tags:
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
line: '/usr/local/bin/git --git-dir /etc/.git gc --quiet'
|
line: '/usr/local/bin/git --git-dir /etc/.git gc --quiet'
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
create: yes
|
create: true
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@
|
||||||
line: "{{ item }}"
|
line: "{{ item }}"
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
create: yes
|
create: true
|
||||||
when: etc_git_monitor_status
|
when: etc_git_monitor_status
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
@ -93,7 +93,8 @@
|
||||||
- name: cron job for /etc/.git status is removed
|
- name: cron job for /etc/.git status is removed
|
||||||
lineinfile:
|
lineinfile:
|
||||||
path: /etc/daily.local
|
path: /etc/daily.local
|
||||||
line: '/usr/local/bin/git --git-dir=/etc/.git --work-tree=/etc status --short'
|
line:
|
||||||
|
'/usr/local/bin/git --git-dir=/etc/.git --work-tree=/etc status --short'
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
state: absent
|
state: absent
|
||||||
|
@ -105,7 +106,13 @@
|
||||||
cron:
|
cron:
|
||||||
name: git status
|
name: git status
|
||||||
minute: 42
|
minute: 42
|
||||||
job: "who > /dev/null || /usr/local/bin/git --git-dir=/etc/.git --work-tree=/etc status --short"
|
job: >
|
||||||
|
who
|
||||||
|
> /dev/null
|
||||||
|
|| /usr/local/bin/git
|
||||||
|
--git-dir=/etc/.git
|
||||||
|
--work-tree=/etc
|
||||||
|
status --short
|
||||||
when: etc_git_monitor_status
|
when: etc_git_monitor_status
|
||||||
tags:
|
tags:
|
||||||
- etc-git
|
- etc-git
|
||||||
|
@ -114,7 +121,13 @@
|
||||||
cron:
|
cron:
|
||||||
name: git status
|
name: git status
|
||||||
minute: 42
|
minute: 42
|
||||||
job: "who > /dev/null || /usr/local/bin/git --git-dir=/etc/.git --work-tree=/etc status --short"
|
job: >
|
||||||
|
who
|
||||||
|
> /dev/null
|
||||||
|
|| /usr/local/bin/git
|
||||||
|
--git-dir=/etc/.git
|
||||||
|
--work-tree=/etc
|
||||||
|
status --short
|
||||||
state: absent
|
state: absent
|
||||||
when: not etc_git_monitor_status
|
when: not etc_git_monitor_status
|
||||||
tags:
|
tags:
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
- name: run evocheck
|
- name: run evocheck
|
||||||
command: "{{ evocheck_bin_dir }}/evocheck.sh"
|
command: "{{ evocheck_bin_dir }}/evocheck.sh"
|
||||||
register: evocheck_run
|
register: evocheck_run
|
||||||
changed_when: False
|
changed_when: false
|
||||||
failed_when: False
|
failed_when: false
|
||||||
check_mode: no
|
check_mode: false
|
||||||
tags:
|
tags:
|
||||||
- evocheck-exec
|
- evocheck-exec
|
||||||
|
|
||||||
|
@ -12,4 +12,4 @@
|
||||||
var: evocheck_run.stdout_lines
|
var: evocheck_run.stdout_lines
|
||||||
when: evocheck_run.stdout != ""
|
when: evocheck_run.stdout != ""
|
||||||
tags:
|
tags:
|
||||||
- evocheck-exec
|
- evocheck-exec
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
dest: "{{ evocheck_bin_dir }}/evocheck.sh"
|
dest: "{{ evocheck_bin_dir }}/evocheck.sh"
|
||||||
mode: "0700"
|
mode: "0700"
|
||||||
owner: root
|
owner: root
|
||||||
force: yes
|
force: true
|
||||||
tags:
|
tags:
|
||||||
- evocheck
|
- evocheck
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
copy:
|
copy:
|
||||||
src: evocheck.cf
|
src: evocheck.cf
|
||||||
dest: /etc/evocheck.cf
|
dest: /etc/evocheck.cf
|
||||||
force: no
|
force: false
|
||||||
tags:
|
tags:
|
||||||
- evocheck
|
- evocheck
|
||||||
|
|
||||||
|
@ -33,6 +33,6 @@
|
||||||
line: 'sh /usr/share/scripts/evocheck.sh --verbose --cron'
|
line: 'sh /usr/share/scripts/evocheck.sh --verbose --cron'
|
||||||
owner: root
|
owner: root
|
||||||
mode: "0644"
|
mode: "0644"
|
||||||
create: yes
|
create: true
|
||||||
tags:
|
tags:
|
||||||
- evocheck
|
- evocheck
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
name: net.inet.ip.forwarding
|
name: net.inet.ip.forwarding
|
||||||
value: 1
|
value: 1
|
||||||
state: present
|
state: present
|
||||||
reload: yes
|
reload: true
|
||||||
tags:
|
tags:
|
||||||
- net
|
- net
|
||||||
|
|
||||||
|
@ -13,6 +13,6 @@
|
||||||
name: net.inet6.ip6.forwarding
|
name: net.inet6.ip6.forwarding
|
||||||
value: 1
|
value: 1
|
||||||
state: present
|
state: present
|
||||||
reload: yes
|
reload: true
|
||||||
tags:
|
tags:
|
||||||
- net
|
- net
|
||||||
|
|
|
@ -8,6 +8,6 @@ Everything is in the `tasks/main.yml` file.
|
||||||
|
|
||||||
## Available variables
|
## Available variables
|
||||||
|
|
||||||
* `nagios_nrpe_allowed_hosts` : list of IP/hosts authorized (default: none).
|
* `nagios_nrpe_allowed_hosts` : list of IP/hosts authorized (default: none).
|
||||||
|
|
||||||
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
evolix_trusted_ips: []
|
evolix_trusted_ips: []
|
||||||
additional_trusted_ips: []
|
additional_trusted_ips: []
|
||||||
# Let's merge evolix_trusted_ips with additional_trusted_ips
|
# Let's merge evolix_trusted_ips with additional_trusted_ips
|
||||||
nagios_nrpe_allowed_hosts: "{{ evolix_trusted_ips | union(additional_trusted_ips) | unique }}"
|
nagios_nrpe_allowed_hosts:
|
||||||
|
"{{ evolix_trusted_ips | union(additional_trusted_ips) | unique }}"
|
||||||
nagios_nrpe_ldap_dc: "dc=DOMAIN,dc=EXT"
|
nagios_nrpe_ldap_dc: "dc=DOMAIN,dc=EXT"
|
||||||
nagios_nrpe_ldap_passwd: LDAP_PASSWD
|
nagios_nrpe_ldap_passwd: LDAP_PASSWD
|
||||||
nagios_nrpe_pgsql_passwd: PGSQL_PASSWD
|
nagios_nrpe_pgsql_passwd: PGSQL_PASSWD
|
||||||
|
|
|
@ -54,5 +54,5 @@
|
||||||
- name: Starting and enabling nrpe
|
- name: Starting and enabling nrpe
|
||||||
service:
|
service:
|
||||||
name: nrpe
|
name: nrpe
|
||||||
enabled: yes
|
enabled: true
|
||||||
state: started
|
state: started
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
openbsd_pkg:
|
openbsd_pkg:
|
||||||
name: "openvpn--"
|
name: "openvpn--"
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Create /etc/openvpn directory
|
- name: Create /etc/openvpn directory
|
||||||
file:
|
file:
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
group: "wheel"
|
group: "wheel"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Deploy OpenVPN configuration
|
- name: Deploy OpenVPN configuration
|
||||||
template:
|
template:
|
||||||
|
@ -22,30 +22,29 @@
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
notify: restart openvpn
|
notify: restart openvpn
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Enabling OpenVPN
|
- name: Enabling OpenVPN
|
||||||
service:
|
service:
|
||||||
name: openvpn
|
name: openvpn
|
||||||
enabled: yes
|
enabled: true
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Set OpenVPN flag
|
- name: Set OpenVPN flag
|
||||||
shell: 'rcctl set openvpn flags "--config /etc/openvpn/server.conf"'
|
shell: 'rcctl set openvpn flags "--config /etc/openvpn/server.conf"'
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Create shellpki user
|
- name: Create shellpki user
|
||||||
user:
|
user:
|
||||||
name: "_shellpki"
|
name: "_shellpki"
|
||||||
system: yes
|
system: true
|
||||||
state: present
|
state: present
|
||||||
system: yes
|
|
||||||
home: "/etc/shellpki/"
|
home: "/etc/shellpki/"
|
||||||
shell: "/sbin/nologin"
|
shell: "/sbin/nologin"
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Copy some shellpki files
|
- name: Copy some shellpki files
|
||||||
copy:
|
copy:
|
||||||
|
@ -54,10 +53,14 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
mode: "{{ item.mode }}"
|
mode: "{{ item.mode }}"
|
||||||
force: yes
|
force: true
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'files/shellpki/openssl.cnf', dest: '/etc/shellpki/openssl.cnf', mode: '0640' }
|
- src: 'files/shellpki/openssl.cnf'
|
||||||
- { src: 'files/shellpki/shellpki', dest: '/usr/local/sbin/shellpki', mode: '0755' }
|
dest: '/etc/shellpki/openssl.cnf'
|
||||||
|
mode: '0640'
|
||||||
|
- src: 'files/shellpki/shellpki'
|
||||||
|
dest: '/usr/local/sbin/shellpki'
|
||||||
|
mode: '0755'
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
|
@ -77,7 +80,7 @@
|
||||||
group: "wheel"
|
group: "wheel"
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Include /etc/sudoers.d in sudoers configuration file
|
- name: Include /etc/sudoers.d in sudoers configuration file
|
||||||
lineinfile:
|
lineinfile:
|
||||||
|
@ -94,7 +97,7 @@
|
||||||
mode: "0440"
|
mode: "0440"
|
||||||
validate: '/usr/local/sbin/visudo -cf %s'
|
validate: '/usr/local/sbin/visudo -cf %s'
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
||||||
- name: Copy check_openvpn
|
- name: Copy check_openvpn
|
||||||
copy:
|
copy:
|
||||||
|
@ -103,8 +106,10 @@
|
||||||
owner: root
|
owner: root
|
||||||
group: wheel
|
group: wheel
|
||||||
mode: "{{ item.mode }}"
|
mode: "{{ item.mode }}"
|
||||||
force: yes
|
force: true
|
||||||
with_items:
|
with_items:
|
||||||
- { src: 'files/check_openvpn.pl', dest: '/usr/local/libexec/nagios/plugins/check_openvpn.pl', mode: '0755' }
|
- src: 'files/check_openvpn.pl'
|
||||||
|
dest: '/usr/local/libexec/nagios/plugins/check_openvpn.pl'
|
||||||
|
mode: '0755'
|
||||||
tags:
|
tags:
|
||||||
- openvpn
|
- openvpn
|
||||||
|
|
|
@ -10,5 +10,5 @@ Everything is in the `tasks/main.yml` file.
|
||||||
|
|
||||||
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
The full list of variables (with default values) can be found in `defaults/main.yml`.
|
||||||
|
|
||||||
* `ospf_mailto` : email address the output of the scripts will be sent to when a change is detected
|
* `ospf_mailto` : email address the output of the scripts will be sent to when a change is detected
|
||||||
* `ospf_sed_command` : facultative sed command to modify the ospfctl output and add a name to IPs
|
* `ospf_sed_command` : facultative sed command to modify the ospfctl output and add a name to IPs
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
- "ospf6d-check-peers.sh"
|
- "ospf6d-check-peers.sh"
|
||||||
when: group_names | select('search','ospf') | list | count > 0
|
when: group_names | select('search','ospf') | list | count > 0
|
||||||
tags:
|
tags:
|
||||||
- ospf
|
- ospf
|
||||||
|
|
||||||
- name: Cron job for ospf check scripts is installed
|
- name: Cron job for ospf check scripts is installed
|
||||||
cron:
|
cron:
|
||||||
|
|
|
@ -4,4 +4,4 @@
|
||||||
src: pf.conf.j2
|
src: pf.conf.j2
|
||||||
dest: /etc/pf.conf
|
dest: /etc/pf.conf
|
||||||
mode: "0600"
|
mode: "0600"
|
||||||
backup: yes
|
backup: true
|
||||||
|
|
|
@ -3,19 +3,25 @@
|
||||||
command: git status --porcelain
|
command: git status --porcelain
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
changed_when: False
|
changed_when: false
|
||||||
register: git_status
|
register: git_status
|
||||||
when: not ansible_check_mode
|
when: not ansible_check_mode
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
tags:
|
tags:
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
# yamllint disable rule:line-length
|
||||||
- name: /etc modifications are committed
|
- name: /etc modifications are committed
|
||||||
shell: "git add -A . && git commit -m \"{{ commit_message | default('Ansible run') }}\" --author=\"{{ ansible_env.SUDO_USER | default('Root') }} <{{ ansible_env.SUDO_USER | default('Root') }}@{{ general_technical_realm }}>\""
|
shell: >
|
||||||
|
git add -A .
|
||||||
|
&& git commit
|
||||||
|
-m "{{ commit_message | default('Ansible run') }}"
|
||||||
|
--author="{{ ansible_env.SUDO_USER | default('Root') }}"
|
||||||
|
< "{{ ansible_env.SUDO_USER | default('Root') }}@{{ general_technical_realm }}>"
|
||||||
args:
|
args:
|
||||||
chdir: /etc
|
chdir: /etc
|
||||||
register: etc_commit_end_evolinux
|
register: etc_commit_end_evolinux
|
||||||
when: not ansible_check_mode and git_status.stdout != ""
|
when: not ansible_check_mode and git_status.stdout != ""
|
||||||
ignore_errors: yes
|
ignore_errors: true
|
||||||
tags:
|
tags:
|
||||||
- commit-etc
|
- commit-etc
|
||||||
|
# yamllint enable rule:line-length
|
||||||
|
|
|
@ -3,29 +3,31 @@
|
||||||
## Edit and uncomment to overwrite the default values ##
|
## Edit and uncomment to overwrite the default values ##
|
||||||
########################################################
|
########################################################
|
||||||
|
|
||||||
#ntpd_servers:
|
# ntpd_servers:
|
||||||
#- "ntp.evolix.net"
|
# - "ntp.evolix.net"
|
||||||
#
|
#
|
||||||
#general_alert_email: "root@localhost"
|
# general_alert_email: "root@localhost"
|
||||||
#general_technical_realm: "example.com"
|
# general_technical_realm: "example.com"
|
||||||
evolinux_ssh_group: "evolinux-ssh"
|
evolinux_ssh_group: "evolinux-ssh"
|
||||||
evolinux_sudo_group: "evolinux-sudo"
|
evolinux_sudo_group: "evolinux-sudo"
|
||||||
evolinux_root_disable_ssh: true
|
evolinux_root_disable_ssh: true
|
||||||
#
|
#
|
||||||
#evomaintenance_realm: "example.com"
|
# evomaintenance_realm: "example.com"
|
||||||
#evomaintenance_alert_email: "evomaintenance-{{ inventory_hostname }}@{{ evomaintenance_realm }}"
|
# evomaintenance_alert_email:
|
||||||
#evomaintenance_hostname: "{{ inventory_hostname }}.{{ general_technical_realm }}"
|
# "evomaintenance-{{ inventory_hostname }}@{{ evomaintenance_realm }}"
|
||||||
#evomaintenance_pg_host: Null
|
# evomaintenance_hostname:
|
||||||
#evomaintenance_pg_passwd: Null
|
# "{{ inventory_hostname }}.{{ general_technical_realm }}"
|
||||||
#evomaintenance_pg_db: Null
|
# evomaintenance_pg_host: Null
|
||||||
#evomaintenance_pg_table: Null
|
# evomaintenance_pg_passwd: Null
|
||||||
#evomaintenance_from_domain: "{{ evomaintenance_realm }}"
|
# evomaintenance_pg_db: Null
|
||||||
#evomaintenance_from: "evomaintenance@{{ evomaintenance_from_domain }}"
|
# evomaintenance_pg_table: Null
|
||||||
#evomaintenance_full_from: "Evomaintenance <{{ evomaintenance_from }}>"
|
# evomaintenance_from_domain: "{{ evomaintenance_realm }}"
|
||||||
#evomaintenance_urgency_from: mama.doe@example.com
|
# evomaintenance_from: "evomaintenance@{{ evomaintenance_from_domain }}"
|
||||||
#evomaintenance_urgency_tel: "06.00.00.00.00"
|
# evomaintenance_full_from: "Evomaintenance <{{ evomaintenance_from }}>"
|
||||||
|
# evomaintenance_urgency_from: mama.doe@example.com
|
||||||
|
# evomaintenance_urgency_tel: "06.00.00.00.00"
|
||||||
#
|
#
|
||||||
#evolix_users:
|
# evolix_users:
|
||||||
# foo:
|
# foo:
|
||||||
# name: foo
|
# name: foo
|
||||||
# uid: 1042
|
# uid: 1042
|
||||||
|
|
Loading…
Reference in a new issue