255 lines
6.6 KiB
YAML
255 lines
6.6 KiB
YAML
---
|
|
- name: /tmp bind mount in fstab
|
|
lineinfile:
|
|
dest: /etc/fstab
|
|
line: '/var/tmp /tmp none bind 0 0'
|
|
register: fstab_tmp
|
|
|
|
- name: mount /tmp
|
|
shell: 'mv /tmp/ /old-tmp; mkdir /tmp; mount /tmp; mv /old-tmp /tmp'
|
|
when: fstab_tmp.changed
|
|
|
|
##############################################################################
|
|
# debian-ubuntu /redhat
|
|
|
|
- name: include debian/ubuntu specific
|
|
include_tasks: debian.yml
|
|
when: (ansible_distribution == "Debian" or ansible_distribution == "Ubuntu")
|
|
|
|
- name: include redhat specific
|
|
include_tasks: redhat.yml
|
|
when: ansible_distribution == "RedHat" or ansible_distribution == "AlmaLinux"
|
|
|
|
##############################################################################
|
|
|
|
- name: remove install user
|
|
user:
|
|
name: install
|
|
state: absent
|
|
force: yes
|
|
|
|
- name: remove install user's home directory
|
|
file:
|
|
path: /home/install
|
|
state: absent
|
|
|
|
- name: "remove our key from root's authorized_keys (will use ansible user in future)"
|
|
authorized_key:
|
|
user: root
|
|
state: absent
|
|
key: "{{ mgmt_ssh_key }}"
|
|
|
|
- name: ntpd configuration
|
|
when:
|
|
- ansible_distribution == "Debian" or
|
|
ansible_distribution == "Ubuntu" or
|
|
(ansible_distribution == "RedHat" and ansible_distribution_major_version|int() == 9) or
|
|
(ansible_distribution == "AlmaLinux" and ansible_distribution_major_version|int() == 9)
|
|
block:
|
|
- name: find ntp.conf
|
|
tags: ntp
|
|
command: "find /etc -name ntp.conf"
|
|
register: find_ntpconf
|
|
|
|
- name: set ntpconf variable
|
|
set_fact:
|
|
ntpconf: "{{ find_ntpconf.stdout_lines[0] }}"
|
|
|
|
- name: ntp.conf remove factory ntp servers
|
|
tags: ntp
|
|
lineinfile:
|
|
dest: "{{ ntpconf }}"
|
|
regexp: '^(pool|server)\s'
|
|
state: absent
|
|
|
|
- name: ntp.conf set ntp server
|
|
tags: ntp
|
|
lineinfile:
|
|
dest: "{{ ntpconf }}"
|
|
regexp: '^(pool|server)\s'
|
|
line: "server {{ ntp }} iburst"
|
|
insertafter: '^# pool:'
|
|
|
|
- name: ntp.conf remove limited, debian9-99 ubuntu20-99
|
|
tags: ntp
|
|
replace:
|
|
path: "{{ ntpconf }}"
|
|
regexp: "noquery limited"
|
|
replace: "noquery"
|
|
when:
|
|
- (ansible_distribution == "Debian" and ansible_distribution_major_version|int() >= 9) or
|
|
(ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int() >= 20)
|
|
|
|
- name: ntp.conf set minsane 1
|
|
tags: ntp
|
|
replace:
|
|
path: "{{ ntpconf }}"
|
|
regexp: "minsane \\d+"
|
|
replace: "minsane 1"
|
|
|
|
- name: chrony configuration
|
|
when:
|
|
- ansible_distribution == "RedHat" and ansible_distribution_major_version|int() >= 10
|
|
block:
|
|
- name: chrony.conf remove factory ntp servers
|
|
tags: ntp
|
|
lineinfile:
|
|
dest: /etc/chrony.conf
|
|
regexp: '^(pool|server|sourcedir)\s'
|
|
state: absent
|
|
|
|
- name: chrony.conf set ntp server
|
|
tags: ntp
|
|
lineinfile:
|
|
dest: /etc/chrony.conf
|
|
regexp: '^(pool|server)\s'
|
|
line: "server {{ ntp }} iburst"
|
|
insertafter: '^# Please consider'
|
|
|
|
- name: chrony.conf set allow
|
|
tags: ntp
|
|
lineinfile:
|
|
dest: /etc/chrony.conf
|
|
regexp: '^allow\s'
|
|
line: "allow all"
|
|
insertafter: '^#allow'
|
|
|
|
- name: postfix master.cf debian8
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.jessie
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- ansible_distribution == "Debian"
|
|
- ansible_distribution_major_version == "8"
|
|
|
|
- name: postfix master.cf debian9-10
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.stretch
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- ansible_distribution == "Debian"
|
|
- (ansible_distribution_major_version|int() == 9) or
|
|
(ansible_distribution_major_version|int() == 10)
|
|
|
|
- name: postfix master.cf debian11-99
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.bullseye
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- (ansible_distribution == "Debian" and ansible_distribution_major_version|int() >= 11)
|
|
|
|
- name: postfix master.cf ubuntu20
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.ubuntu20.04
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int() == 20)
|
|
|
|
- name: postfix master.cf ubuntu22-99
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.ubuntu22.04
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- (ansible_distribution == "Ubuntu" and ansible_distribution_major_version|int() >= 22)
|
|
|
|
- name: postfix master.cf redhat
|
|
tags: postfix
|
|
patch:
|
|
src: postfix_master.cf.patch.redhat9
|
|
dest: /etc/postfix/master.cf
|
|
when:
|
|
- ansible_distribution == "RedHat" or ansible_distribution == "AlmaLinux"
|
|
|
|
- name: enable postfix service on redhat
|
|
tags: postfix
|
|
systemd_service:
|
|
name: postfix
|
|
enabled: yes
|
|
when:
|
|
- ansible_distribution == "RedHat" or ansible_distribution == "AlmaLinux"
|
|
|
|
- name: postfix inet_protocols ipv4 (redhat)
|
|
tags: postfix
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
regexp: '^inet_protocols\s'
|
|
line: "inet_protocols = ipv4"
|
|
when:
|
|
- ansible_distribution == "RedHat" or ansible_distribution == "AlmaLinux"
|
|
|
|
- name: postfix myhostname (redhat)
|
|
tags: postfix
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
regexp: '^myhostname\s'
|
|
line: "myhostname = {{ hostname }}.{{ domain }}"
|
|
when:
|
|
- ansible_distribution == "RedHat" or ansible_distribution == "AlmaLinux"
|
|
|
|
- name: postfix relayhost
|
|
tags: postfix
|
|
lineinfile:
|
|
dest: /etc/postfix/main.cf
|
|
regexp: '^relayhost\s'
|
|
line: "relayhost = {{ postfix_relayhost }}"
|
|
when: postfix_relayhost is defined
|
|
|
|
- name: pvresize
|
|
tags:
|
|
- lvm
|
|
- vmware
|
|
shell: 'pvresize $(pvs --noheadings -o pv_name)'
|
|
|
|
- name: /data in fstab
|
|
tags: lvm
|
|
lineinfile:
|
|
dest: /etc/fstab
|
|
line: '/dev/mapper/vg00-data /data ext4 defaults 0 2'
|
|
register: fstab_data
|
|
|
|
- name: create /dev/vg00/data
|
|
tags: lvm
|
|
lvol:
|
|
vg: vg00
|
|
lv: data
|
|
size: "{{ datasize | default('50%FREE') }}"
|
|
when: fstab_data.changed
|
|
|
|
- name: ext4 filesystem on /dev/vg00/data
|
|
tags: lvm
|
|
filesystem:
|
|
dev: /dev/vg00/data
|
|
fstype: ext4
|
|
when: fstab_data.changed
|
|
|
|
- name: mount /data
|
|
tags: lvm
|
|
shell: 'mkdir -p /data && mount /data'
|
|
when: fstab_data.changed
|
|
|
|
- name: bash profile.d
|
|
file:
|
|
path: "/etc/profile.d"
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: bash vtysh pager
|
|
copy:
|
|
dest: "/etc/profile.d/vtysh.sh"
|
|
mode: 0644
|
|
content: "export VTYSH_PAGER='less -F'\n"
|
|
|
|
- name: set vm swappiness
|
|
lineinfile:
|
|
dest: /etc/sysctl.d/swappiness.conf
|
|
regexp: '^vm.swappiness\s='
|
|
line: "vm.swappiness = 2"
|
|
create: yes
|
|
|
|
# vim: set tabstop=2 shiftwidth=2 expandtab smarttab:
|