add initial rss playbooks
This commit is contained in:
parent
82e3c77caa
commit
19b0a1206f
48
role-rocky-rss-feed.yml
Normal file
48
role-rocky-rss-feed.yml
Normal file
@ -0,0 +1,48 @@
|
||||
---
|
||||
# Preps a system to be a repository
|
||||
- name: Configure RSS Feeds
|
||||
hosts: all
|
||||
become: true
|
||||
vars_files:
|
||||
- vars/common.yml
|
||||
- vars/repopool.yml
|
||||
- vars/mounts/srpmproc.yml
|
||||
- vars/rss.yml
|
||||
|
||||
handlers:
|
||||
- import_tasks: handlers/main.yml
|
||||
|
||||
pre_tasks:
|
||||
- name: Check if ansible cannot be run here
|
||||
stat:
|
||||
path: /etc/no-ansible
|
||||
register: no_ansible
|
||||
|
||||
- name: Verify if we can run ansible
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- "not no_ansible.stat.exists"
|
||||
success_msg: "We are not able to run on this node"
|
||||
fail_msg: "/etc/no-ansible exists - skipping run on this node"
|
||||
|
||||
tasks:
|
||||
- name: "Setup shared filesystem mount"
|
||||
include_tasks: tasks/efs_mount.yml
|
||||
with_items: "{{ mounts }}"
|
||||
tags:
|
||||
- koji_efs_mount
|
||||
|
||||
- name: Configure RSS feeds
|
||||
import_tasks: tasks/rss.yml
|
||||
tags:
|
||||
- rss
|
||||
|
||||
post_tasks:
|
||||
- name: Touching run file that ansible has ran here
|
||||
ansible.builtin.file:
|
||||
path: /var/log/ansible.run
|
||||
state: touch
|
||||
mode: '0644'
|
||||
owner: root
|
||||
group: root
|
||||
...
|
22
tasks/rss.yml
Normal file
22
tasks/rss.yml
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
- name: Ensure docroot actually exists
|
||||
ansible.builtin.file:
|
||||
path: "{{ feeds_output_dir }}"
|
||||
state: directory
|
||||
|
||||
- name: Generate repo file for RSS feed data
|
||||
ansible.builtin.template:
|
||||
src: "etc/yum.repos.d/rss.repo.j2"
|
||||
dest: "/etc/yum.repos.d/rss.repo"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0644'
|
||||
|
||||
- name: Deploy the generator script
|
||||
ansible.builtin.template:
|
||||
src: "usr/libexec/rocky/rss.sh.j2"
|
||||
dest: "/usr/libexec/rocky/rss.sh.j2"
|
||||
owner: root
|
||||
group: root
|
||||
mode: '0755'
|
||||
...
|
12
templates/etc/yum.repos.d/rss.repo.j2
Normal file
12
templates/etc/yum.repos.d/rss.repo.j2
Normal file
@ -0,0 +1,12 @@
|
||||
# This is for RSS feeds only. Do not enable any of these repositories.
|
||||
{% for repo in repo_tracking %}
|
||||
{% for arch in repo.arch %}
|
||||
{% for repository in repo.repositories %}
|
||||
[rl{{ repo.release }}-{{ arch }}-{{ repository }}]
|
||||
name=Rocky Linux {{ repo.release }} {{ arch }} {{ repository }}
|
||||
baseurl=https://dl.rockylinux.org/{{ repo.contentdir }}/{{ repo.release }}/{{ repository }}/{{ arch }}/
|
||||
enabled=0
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
12
templates/usr/libexec/rocky/rss.sh.j2
Normal file
12
templates/usr/libexec/rocky/rss.sh.j2
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
TARGET="{{ feeds_output_dir }}"
|
||||
dnf clean all --enablerepo=\* > /dev/null 2>&1
|
||||
|
||||
{% for repo in repo_tracking %}
|
||||
{% for arch in repo.arch %}
|
||||
{% for repository in repo.repositories %}
|
||||
/usr/libexec/rocky/rss.py --filename ${TARGET}/Rocky-Linux-{{ repo.release }}-{{ arch }}-{{ repository }}.xml --title "Rocky Linux {{ repo.release }} {{ arch }} {{ repository }}" --description "Recently updated packages for Rocky Linux {{ repo.release }} {{ arch }} {{ repository }}" -r 30 rl{{ repo.release }}-{{ arch }}-{{ repository }} > /dev/null 2>&1
|
||||
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
37
vars/rss.yml
Normal file
37
vars/rss.yml
Normal file
@ -0,0 +1,37 @@
|
||||
---
|
||||
feeds_output_dir: "/mnt/repos-production/mirror/pub/feeds"
|
||||
|
||||
repo_tracking:
|
||||
- release: 8
|
||||
contentdir: "pub/rocky"
|
||||
arch:
|
||||
- x86_64
|
||||
- aarch64
|
||||
repositories:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- PowerTools
|
||||
- HighAvailability
|
||||
- ResilientStorage
|
||||
- RT
|
||||
- NFV
|
||||
- extras
|
||||
- plus
|
||||
- release: 9
|
||||
contentdir: "pub/rocky"
|
||||
arch:
|
||||
- x86_64
|
||||
- aarch64
|
||||
repositories:
|
||||
- BaseOS
|
||||
- AppStream
|
||||
- CRB
|
||||
- HighAvailability
|
||||
- ResilientStorage
|
||||
- RT
|
||||
- NFV
|
||||
- SAP
|
||||
- SAPHANA
|
||||
- extras
|
||||
- plus
|
||||
...
|
Loading…
Reference in New Issue
Block a user