ansible-koji/reset.yaml
Rénich Bon Ćirić 93904970f6
feat(infra): unify local and gcp configs, add split repo, wireguard playbooks, and update docs
- Support both GCP and local deployments seamlessly via env parameter
- Configure WireGuard VPN playbooks and templates for builder nodes
- Implement repository classification map split syncing on repository server
- Add CentOS Stream 10 support for Koji/Mock buildroot initialization
- Update all documentation files in Mexican Spanish

Co-developed-by: Gemini AI <renich+gemini@woralelandia.com>
Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
2026-06-19 04:13:21 -06:00

84 lines
2.4 KiB
YAML

---
- name: Reset Koji Environment
hosts: kojidb,kojihub,kojibuilders
vars_files:
- vars/default.yaml
- vars/credentials.yaml
vars_prompt:
- name: confirm_reset
prompt: "Are you sure you want to reset the Koji environment? This will delete all data. Type 'YES' to confirm."
private: false
tasks:
- name: "Check confirmation"
ansible.builtin.fail:
msg: "Reset operation cancelled."
when: confirm_reset != 'YES'
- name: Stop Koji Hub and Kojira services
ansible.builtin.service:
name: "{{ item }}"
state: stopped
loop:
- httpd
- kojira
failed_when: false
- name: Stop and disable kojid service
ansible.builtin.service:
name: kojid
state: stopped
enabled: false
when: "'kojibuilders' in group_names"
failed_when: false
- name: Terminate all active connections to Koji database
community.postgresql.postgresql_query:
query: "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '{{ koji_db_name }}';"
login_db: postgres
become: true
become_user: postgres
when: "'kojidb' in group_names"
- name: Drop Koji database
community.postgresql.postgresql_db:
name: "{{ koji_db_name }}"
state: absent
become: true
become_user: postgres
when: "'kojidb' in group_names"
- name: Drop Koji database user
community.postgresql.postgresql_user:
name: "{{ koji_db_user }}"
state: absent
become: true
become_user: postgres
when: "'kojidb' in group_names"
- name: Create Koji database user
community.postgresql.postgresql_user:
name: "{{ koji_db_user }}"
password: "{{ koji_db_password }}"
become: true
become_user: postgres
when: "'kojidb' in group_names"
- name: Create Koji database
community.postgresql.postgresql_db:
name: "{{ koji_db_name }}"
owner: "{{ koji_db_user }}"
become: true
become_user: postgres
when: "'kojidb' in group_names"
- name: Clean up old Koji build data
ansible.builtin.command: find {{ koji_top_dir }} -mindepth 2 -delete
changed_when: true
when: "'kojihub' in group_names"
- name: Remove kojid work directory
ansible.builtin.file:
path: "{{ kojid_work_dir }}"
state: absent
when: "'kojibuilders' in group_names"