109 lines
2.1 KiB
YAML
109 lines
2.1 KiB
YAML
---
|
|
- name: install rsync
|
|
package:
|
|
name: rsync
|
|
state: installed
|
|
|
|
- name: create mirror group
|
|
group:
|
|
name: mirror
|
|
gid: 1001
|
|
|
|
- name: create mirror user
|
|
user:
|
|
name: mirror
|
|
comment: Service Mirror
|
|
createhome: false
|
|
group: mirror
|
|
home: /var/empty
|
|
shell: /sbin/nologin
|
|
uid: 1001
|
|
|
|
- name: create data directory
|
|
file:
|
|
path: /export/mirrors
|
|
state: directory
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
|
|
- name: fix selinux contexts from data directory
|
|
sefcontext:
|
|
path: /export/mirrors(/.*)?
|
|
setype: public_content_t
|
|
|
|
- name: create data directory link
|
|
file:
|
|
path: /srv/mirrors
|
|
state: link
|
|
src: /export/mirrors
|
|
owner: root
|
|
group: root
|
|
|
|
- name: create config directory
|
|
file:
|
|
path: /etc/sync-mirrors
|
|
state: directory
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
|
|
- name: create runtime and log directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: 0755
|
|
owner: mirror
|
|
group: mirror
|
|
with_items:
|
|
- /var/run/sync-mirrors
|
|
- /var/log/sync-mirrors
|
|
|
|
- name: configure tmpfiles to create runtime directory on boot
|
|
copy:
|
|
dest: /usr/lib/tmpfiles.d/sync-mirrors.conf
|
|
content: "d /run/sync-mirrors 0755 mirror mirror\n"
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
|
|
- name: copy mirroring script
|
|
copy:
|
|
dest: /usr/local/bin/sync-mirrors
|
|
src: sync-mirrors
|
|
mode: 0755
|
|
owner: root
|
|
group: root
|
|
|
|
- name: create mirror cron job
|
|
cron:
|
|
name: sync-mirrors
|
|
hour: "0,6,12,18"
|
|
minute: "0"
|
|
job: /usr/local/bin/sync-mirrors
|
|
user: mirror
|
|
|
|
- name: create log rotate cron job for sync-mirrors
|
|
cron:
|
|
name: sync-mirrors-logs
|
|
hour: "5"
|
|
minute: "10"
|
|
job: "find /var/log/sync-mirrors/ -xdev -type f \
|
|
-mtime +30 -name '*.log' -execdir rm {} \\+"
|
|
user: mirror
|
|
|
|
- name: copy static web content
|
|
synchronize:
|
|
dest: "/srv/web/{{ inventory_hostname }}/"
|
|
delete: true
|
|
recursive: true
|
|
src: static
|
|
|
|
- name: create apache mirror config
|
|
template:
|
|
src: mirror.conf.j2
|
|
dest: /etc/httpd/conf.local.d/mirror.conf
|
|
mode: 0644
|
|
owner: root
|
|
group: "{{ ansible_wheel }}"
|
|
notify: restart apache
|