1
0
Fork 0
forked from infra/ansible

firmitas: support ticket creation on forgejo instead of pagure

Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>
This commit is contained in:
Akashdeep Dhar 2026-05-14 13:24:05 +05:30
commit 4d2aa5527b
7 changed files with 45 additions and 41 deletions

View file

@ -2,14 +2,14 @@
firmitas_namespace: "firmitas"
firmitas_project_description: "Firmitas is a monitoring application which alerts about the expiration of RabbitMQ certs."
firmitas_application_name: "{{ firmitas_namespace }}"
firmitas_pagure_secret_volume_name: "firmitas-pagure-volume"
firmitas_pagure_secret_name: "firmitas-pagure-secret"
firmitas_stg_pagure_apikey: "OVERRIDEME" # in the ansible-private repo
firmitas_stg_pagure_username: "OVERRIDEME" # in the ansible-private repo
firmitas_stg_pagure_host: "OVERRIDEME" # in the ansible-private repo
firmitas_pagure_apikey: "OVERRIDEME" # in the ansible-private repo
firmitas_pagure_username: "OVERRIDEME" # in the ansible-private repo
firmitas_pagure_host: "OVERRIDEME" # in the ansible-private repo
firmitas_forgejo_secret_volume_name: "firmitas-forgejo-volume"
firmitas_forgejo_secret_name: "firmitas-forgejo-secret"
firmitas_stg_forgejo_apikey: "OVERRIDEME" # in the ansible-private repo
firmitas_stg_forgejo_username: "firmitas-automata"
firmitas_stg_forgejo_reponame: "t0xic0der/firmitas-test"
firmitas_forgejo_apikey: "OVERRIDEME" # in the ansible-private repo
firmitas_forgejo_username: "firmitas-automata"
firmitas_forgejo_reponame: "infra/tickets"
firmitas_certs_location: "https://infrastructure.fedoraproject.org/infra/rabbitmq-certs/"
firmitas_requester: "t0xic0der"
firmitas_image: "image-registry.openshift-image-registry.svc:5000/{{ firmitas_namespace }}/{{ firmitas_application_name }}:latest"

View file

@ -11,5 +11,5 @@
ansible.builtin.command: "oc apply -f /root/ocp4/openshift-apps/firmitas/buildconfig.yml"
# Start a build
- name: "Run oc start-build {{ firmitas_application_name }}-build"
- name: "Run oc start-build"
ansible.builtin.command: "oc start-build {{ firmitas_application_name }}-build -n {{ firmitas_namespace }}"

View file

@ -1,11 +1,11 @@
---
# generate the templates for project to be created
- name: Create the pagure api secret template
- name: Create the Forgejo api secret template
ansible.builtin.template:
src: "secret-pagure-apikey.yml.j2"
dest: "/root/ocp4/openshift-apps/firmitas/secret-pagure-apikey.yml"
src: "secret-forgejo-apikey.yml.j2"
dest: "/root/ocp4/openshift-apps/firmitas/secret-forgejo-apikey.yml"
mode: "0770"
# apply created openshift resources
- name: Oc apply resources
ansible.builtin.command: "oc apply -f /root/ocp4/openshift-apps/firmitas/secret-pagure-apikey.yml"
ansible.builtin.command: "oc apply -f /root/ocp4/openshift-apps/firmitas/secret-forgejo-apikey.yml"

View file

@ -3,12 +3,19 @@
ansible.builtin.file:
path: "/root/ocp4/openshift-apps/firmitas/"
state: directory
mode: "0770"
- include_tasks: create-namespace.yml
- include_tasks: create-pagure-apikey-secret.yml
- include_tasks: create-firmitas-configuration-secret.yml
- include_tasks: create-persistent-volume-claim.yml
- include_tasks: create-imagestream.yml
- include_tasks: create-buildconfig.yml
- include_tasks: create-cronjob.yml
# - include_tasks: create-deployment.yml
- name: Create namespace
ansible.builtin.include_tasks: create-namespace.yml
- name: Create Forgejo APIkey secret
ansible.builtin.include_tasks: create-forgejo-apikey-secret.yml
- name: Create Firmitas configuration secret
ansible.builtin.include_tasks: create-firmitas-configuration-secret.yml
- name: Create persistent volume claim
ansible.builtin.include_tasks: create-persistent-volume-claim.yml
- name: Create imagestream
ansible.builtin.include_tasks: create-imagestream.yml
- name: Create buildconfig
ansible.builtin.include_tasks: create-buildconfig.yml
- name: Create cronjob
ansible.builtin.include_tasks: create-cronjob.yml

View file

@ -1,6 +1,6 @@
"""
Firmitas
Copyright (C) 2023-2024 Akashdeep Dhar
Copyright (C) 2023-2026 Akashdeep Dhar
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@ -27,26 +27,23 @@ Variables related to notifications
# The limit for how long a single request must be attempted for
rqsttime = 30
# The source code forge on which the issue tickets need to be created
gitforge = "pagure"
# The location of the ticketing repository
repoloca = ""
repoloca = "https://forge.{{ (env == 'staging')|ternary('stg.', '') }}fedoraproject.org"
# The name of the ticketing repository with namespace
reponame = "{{ (env == 'staging')|ternary(firmitas_stg_pagure_host, firmitas_pagure_host) }}"
reponame = "{{ (env == 'staging')|ternary(firmitas_stg_forgejo_reponame, firmitas_forgejo_reponame) }}"
# The username to masquerade as in order to create notification tickets
username = "{{ (env == 'staging')|ternary(firmitas_stg_pagure_user, firmitas_pagure_user) }}"
username = "{{ (env == 'staging')|ternary(firmitas_stg_forgejo_username, firmitas_forgejo_username) }}"
# The API key for the source code forge pertaining to the user
password = "{{ (env == 'staging')|ternary(firmitas_stg_pagure_apikey, firmitas_pagure_apikey) }}"
password = "{{ (env == 'staging')|ternary(firmitas_stg_forgejo_apikey, firmitas_forgejo_apikey) }}"
# Number of days from validity expiry to make the notification for
daysqant = {{ (env == 'staging')|ternary(firmitas_stg_expiry_days, firmitas_expiry_days) }}
# List of labels to tag the notification tickets with
tagslist = ["firmitas", "automate", "notifier"]
tagslist = []
# Maximum number of retries to opening the notification ticket
maxretry = 5

View file

@ -0,0 +1,11 @@
---
apiVersion: v1
kind: Secret
metadata:
name: "{{ firmitas_namespace }}-forgejo-apikey-secret"
namespace: "{{ firmitas_namespace }}"
data:
firmitas-forgejo-apikey:
"{{ (env == 'production')|ternary(firmitas_forgejo_apikey, firmitas_stg_forgejo_apikey) | b64encode }}"
firmitas-forgejo-reponame:
"{{ (env == 'production')|ternary(firmitas_forgejo_reponame, firmitas_stg_forgejo_reponame) | b64encode }}"

View file

@ -1,11 +0,0 @@
---
apiVersion: v1
kind: Secret
metadata:
name: "{{ firmitas_namespace }}-pagure-apikey-secret"
namespace: "{{ firmitas_namespace }}"
data:
firmitas-pagure-apikey:
"{{ (env == 'production')|ternary(firmitas_pagure_apikey, firmitas_stg_pagure_apikey) | b64encode }}"
firmitas-pagure-host:
"{{ (env == 'production')|ternary( firmitas_pagure_host, firmitas_stg_pagure_host) | b64encode }}"