configpolicy/roles/repohost/tasks/main.yml

103 lines
2.1 KiB
YAML

- name: ensure required packages are installed
package:
name:
- createrepo_c
- inotify-tools
state: present
tags:
- install
- name: ensure repohost user exists
user:
name: repohost
system: true
createhome: false
home: /srv/www/repohost
- name: ensure repohost base directory exists
file:
path: /srv/www/repohost
owner: repohost
group: repohost
mode: u=rwx,go=rx
state: directory
- name: ensure repohost repos directory exists
file:
path: /srv/www/repohost/repos
owner: repohost
group: repohost
mode: ug=rwx,o=rx
state: directory
- name: ensure repohost repos dir acl is set
acl:
entity: '{{ item }}'
etype: user
default: false
permissions: rwx
path: /srv/www/repohost/repos
loop: '{{ repohost_admins }}'
- name: ensure repohost repos dir default acl is set
acl:
entity: '{{ item }}'
etype: user
default: true
permissions: rwx
path: /srv/www/repohost/repos
loop: '{{ repohost_admins }}'
- name: ensure repohost-createrepo script is installed
copy:
src: repohost-createrepo.sh
dest: /usr/local/libexec/repohost-createrepo
owner: root
group: root
mode: u=rwx,go=rx
setype: bin_t
notify:
- restart repohost-createrepo
tags:
- repohost-createrepo
- install
- name: ensure repohost-createrepo systemd service unit is installed
copy:
src: repohost-createrepo.service
dest: /etc/systemd/system/repohost-createrepo.service
owner: root
group: root
mode: u=rw,go=r
tags:
- systemd
- name: ensure repohost-createrepo service starts at boot
service:
name: repohost-createrepo
enabled: true
tags:
- service
- name: flush handlers
meta: flush_handlers
- name: ensure repohost-createrepo service is running
service:
name: repohost-createrepo
state: started
tags:
- service
- name: ensure apache is configured to serve yum repos
copy:
src: yumrepos.httpd.conf
dest: /etc/httpd/conf.d/yumrepos.conf
owner: root
group: root
mode: u=rw,go=r
notify:
- reload httpd
tags:
- config
- httpd-config