64 lines
1.6 KiB
YAML
64 lines
1.6 KiB
YAML
---
|
|
- name: install ansible packages
|
|
ansible.builtin.package:
|
|
name: "{{ item }}"
|
|
state: installed
|
|
with_items:
|
|
- ansible
|
|
- ansible-collection-ansible-posix
|
|
- ansible-collection-community-general
|
|
- python3-dns # required for lookup('dig', 'hostname')
|
|
- python3-netaddr # required by iptables role
|
|
|
|
- name: create private directory and force permissions
|
|
ansible.builtin.file:
|
|
path: /export/private
|
|
owner: root
|
|
group: root
|
|
mode: 0700
|
|
state: directory
|
|
|
|
- name: link private directory
|
|
ansible.builtin.file:
|
|
src: "/export/private"
|
|
dest: "/srv/private"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
state: link
|
|
follow: false
|
|
|
|
- name: allow http server to access /srv/ansible
|
|
community.general.sefcontext:
|
|
path: /srv/ansible(/.*)?
|
|
setype: httpd_sys_content_t
|
|
- name: clone ansible repository
|
|
ansible.builtin.git:
|
|
dest: /srv/ansible
|
|
repo: https://git.foo.sh/ansible.git
|
|
update: false
|
|
|
|
- name: link facts to nginx
|
|
ansible.builtin.file:
|
|
src: "/srv/ansible/facts"
|
|
dest: "/srv/web/{{ inventory_hostname }}/facts"
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
state: link
|
|
follow: false
|
|
|
|
- name: create nginx conf
|
|
ansible.builtin.copy:
|
|
src: nginx.conf
|
|
dest: /etc/nginx/conf.d/{{ inventory_hostname }}/ansible.conf
|
|
mode: 0644
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: restart nginx
|
|
|
|
- name: add custom .bashrc for root
|
|
ansible.builtin.copy:
|
|
dest: /root/.bashrc
|
|
src: root-bashrc.sh
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
mode: 0600
|