Early try of poddlers
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
This commit is contained in:
parent
14ee2219b6
commit
5313c40b50
11 changed files with 933 additions and 0 deletions
90
playbooks/openshift-apps/poddlers.yml
Normal file
90
playbooks/openshift-apps/poddlers.yml
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
- name: make the app be real
|
||||||
|
# hosts: os_control[0]:os_control_stg[0]
|
||||||
|
hosts: os_control_stg[0]
|
||||||
|
user: root
|
||||||
|
gather_facts: False
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
|
- /srv/private/ansible/vars.yml
|
||||||
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: openshift/project
|
||||||
|
app: poddlers
|
||||||
|
description: Small fedora-messaging toddlers that keep running around in pods.
|
||||||
|
appowners:
|
||||||
|
- abompard
|
||||||
|
- zlopez
|
||||||
|
- kevin
|
||||||
|
- amedvede
|
||||||
|
- jnsamyak
|
||||||
|
tags:
|
||||||
|
- appowners
|
||||||
|
|
||||||
|
- role: rabbit/user
|
||||||
|
username: toddlers{{ env_suffix }}
|
||||||
|
sent_topics: ^org\.fedoraproject\.{{ env_short }}\.toddlers\..*
|
||||||
|
|
||||||
|
- role: rabbit/queue
|
||||||
|
username: toddlers{{ env_suffix }}
|
||||||
|
queue_name: toddlers{{ env_suffix }}-{{ item.name }}
|
||||||
|
routing_keys: "{{ item.topics }}"
|
||||||
|
thresholds:
|
||||||
|
warning: 10
|
||||||
|
critical: 100
|
||||||
|
loop: "{{ poddlers_toddlers }}"
|
||||||
|
|
||||||
|
- role: openshift/keytab
|
||||||
|
app: poddlers
|
||||||
|
key: service.keytab
|
||||||
|
secret_name: keytab
|
||||||
|
service: toddlers
|
||||||
|
|
||||||
|
- role: openshift/ipa-client
|
||||||
|
app: poddlers
|
||||||
|
|
||||||
|
- role: openshift/object
|
||||||
|
app: poddlers
|
||||||
|
template: buildconfig.yml
|
||||||
|
objectname: buildconfig.yml
|
||||||
|
|
||||||
|
- role: openshift/secret-file
|
||||||
|
app: poddlers
|
||||||
|
secret_name: toddlers-fedora-messaging-key
|
||||||
|
key: toddlers.key
|
||||||
|
privatefile: "rabbitmq/{{env}}/pki/private/toddlers{{env_suffix}}.key"
|
||||||
|
|
||||||
|
- role: openshift/secret-file
|
||||||
|
app: poddlers
|
||||||
|
secret_name: toddlers-fedora-messaging-crt
|
||||||
|
key: toddlers.crt
|
||||||
|
privatefile: "rabbitmq/{{env}}/pki/issued/toddlers{{env_suffix}}.crt"
|
||||||
|
|
||||||
|
- role: openshift/secret-file
|
||||||
|
app: poddlers
|
||||||
|
secret_name: toddlers-fedora-messaging-ca
|
||||||
|
key: toddlers.ca
|
||||||
|
privatefile: "rabbitmq/{{env}}/pki/ca.crt"
|
||||||
|
|
||||||
|
- role: openshift/object
|
||||||
|
app: poddlers
|
||||||
|
template: cron-playtime.yml
|
||||||
|
objectname: cron-playtime.yml
|
||||||
|
tags:
|
||||||
|
- cron-job
|
||||||
|
|
||||||
|
- role: openshift/object
|
||||||
|
app: poddlers
|
||||||
|
template: deploymentconfig.yml
|
||||||
|
objectname: deploymentconfig.yml
|
||||||
|
|
||||||
|
- role: openshift/object
|
||||||
|
app: poddlers
|
||||||
|
template: secret.yml
|
||||||
|
objectname: secret.yml
|
||||||
|
|
||||||
|
- role: openshift/object
|
||||||
|
app: poddlers
|
||||||
|
file: imagestream.yml
|
||||||
|
objectname: imagestream.yml
|
10
roles/openshift-apps/poddlers/files/imagestream.yml
Normal file
10
roles/openshift-apps/poddlers/files/imagestream.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
apiVersion: image.openshift.io/v1
|
||||||
|
kind: ImageStream
|
||||||
|
metadata:
|
||||||
|
name: toddlers
|
||||||
|
spec:
|
||||||
|
lookupPolicy:
|
||||||
|
local: false
|
||||||
|
status:
|
||||||
|
dockerImageRepository: ""
|
55
roles/openshift-apps/poddlers/templates/_macros.yml
Normal file
55
roles/openshift-apps/poddlers/templates/_macros.yml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
{% macro common_volume_mounts() -%}
|
||||||
|
- name: toddlers-secret-volume
|
||||||
|
mountPath: /etc/fedora-messaging
|
||||||
|
readOnly: true
|
||||||
|
- name: fedora-messaging-ca-volume
|
||||||
|
mountPath: /etc/pki/rabbitmq/ca
|
||||||
|
readOnly: true
|
||||||
|
- name: fedora-messaging-key-volume
|
||||||
|
mountPath: /etc/pki/rabbitmq/key
|
||||||
|
readOnly: true
|
||||||
|
- name: fedora-messaging-cert-volume
|
||||||
|
mountPath: /etc/pki/rabbitmq/cert
|
||||||
|
readOnly: true
|
||||||
|
- name: ipa-config-volume
|
||||||
|
mountPath: /etc/ipa
|
||||||
|
readOnly: true
|
||||||
|
- name: keytab-volume
|
||||||
|
mountPath: /etc/keytabs
|
||||||
|
readOnly: true
|
||||||
|
- name: temp-volume
|
||||||
|
mountPath: /var/tmp
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro common_volumes() -%}
|
||||||
|
- name: toddlers-secret-volume
|
||||||
|
secret:
|
||||||
|
secretName: toddlers-secret
|
||||||
|
- name: fedora-messaging-ca-volume
|
||||||
|
secret:
|
||||||
|
secretName: toddlers-fedora-messaging-ca
|
||||||
|
- name: fedora-messaging-key-volume
|
||||||
|
secret:
|
||||||
|
secretName: toddlers-fedora-messaging-key
|
||||||
|
- name: fedora-messaging-cert-volume
|
||||||
|
secret:
|
||||||
|
secretName: toddlers-fedora-messaging-crt
|
||||||
|
- name: ipa-config-volume
|
||||||
|
configMap:
|
||||||
|
name: ipa-client-config
|
||||||
|
- name: keytab-volume
|
||||||
|
secret:
|
||||||
|
secretName: keytab
|
||||||
|
- name: temp-volume
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
|
||||||
|
{% macro common_env() -%}
|
||||||
|
- name: PYTHONPATH
|
||||||
|
value: "/code"
|
||||||
|
- name: KRB5_CONFIG
|
||||||
|
value: /etc/ipa/krb5.conf
|
||||||
|
- name: KRB5_CLIENT_KTNAME
|
||||||
|
value: /etc/keytabs/service.keytab
|
||||||
|
{% endmacro %}
|
39
roles/openshift-apps/poddlers/templates/buildconfig.yml
Normal file
39
roles/openshift-apps/poddlers/templates/buildconfig.yml
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
---
|
||||||
|
apiVersion: build.openshift.io/v1
|
||||||
|
kind: BuildConfig
|
||||||
|
metadata:
|
||||||
|
name: toddlers
|
||||||
|
labels:
|
||||||
|
app: poddlers
|
||||||
|
spec:
|
||||||
|
source:
|
||||||
|
type: Git
|
||||||
|
git:
|
||||||
|
# uri: https://pagure.io/fedora-infra/toddlers.git
|
||||||
|
# {% if env == 'staging' %}
|
||||||
|
# ref: "staging"
|
||||||
|
# {% else %}
|
||||||
|
# ref: "production"
|
||||||
|
# {% endif %}
|
||||||
|
uri: https://pagure.io/fork/abompard/fedora-infra/toddlers.git
|
||||||
|
ref: poddlers
|
||||||
|
strategy:
|
||||||
|
type: Source
|
||||||
|
sourceStrategy:
|
||||||
|
from:
|
||||||
|
kind: ImageStreamTag
|
||||||
|
name: python-310:latest
|
||||||
|
output:
|
||||||
|
to:
|
||||||
|
kind: ImageStreamTag
|
||||||
|
name: toddlers:latest
|
||||||
|
triggers:
|
||||||
|
- type: ConfigChange
|
||||||
|
- type: ImageChange
|
||||||
|
- type: GitHub
|
||||||
|
github:
|
||||||
|
{% if env == 'staging' %}
|
||||||
|
secret: "{{ toddlers_stg_github_secret }}"
|
||||||
|
{% elif env == 'production' %}
|
||||||
|
secret: "{{ toddlers_prod_github_secret }}"
|
||||||
|
{% endif %}
|
33
roles/openshift-apps/poddlers/templates/cron-playtime.yml
Normal file
33
roles/openshift-apps/poddlers/templates/cron-playtime.yml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{% from "_macros.yml" import common_volume_mounts, common_volumes, common_env %}
|
||||||
|
{% for cronjob in poddlers_cronjobs %}
|
||||||
|
{% if not cronjob.only_env|defined or cronjob.only_env == env %}
|
||||||
|
---
|
||||||
|
apiVersion: batch/v1
|
||||||
|
kind: CronJob
|
||||||
|
metadata:
|
||||||
|
name: playtime-{{ cronjob.name }}
|
||||||
|
spec:
|
||||||
|
successfulJobsHistoryLimit: 3
|
||||||
|
failedJobsHistoryLimit: 3
|
||||||
|
concurrencyPolicy: Forbid
|
||||||
|
schedule: "{{ cronjob.name }}"
|
||||||
|
startingDeadlineSeconds: 500
|
||||||
|
jobTemplate:
|
||||||
|
spec:
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
parent: "cron_playtime_toddlers"
|
||||||
|
spec:
|
||||||
|
restartPolicy: Never
|
||||||
|
containers:
|
||||||
|
- name: toddlers
|
||||||
|
image: image-registry.openshift-image-registry.svc:5000/toddlers/toddlers:latest
|
||||||
|
command: ["/usr/bin/python3", "/code/toddlers/playtime.py", "{{ cronjob.command }}"]
|
||||||
|
env:
|
||||||
|
{{ common_env() | indent(4) }}
|
||||||
|
volumeMounts:
|
||||||
|
{{ common_volume_mounts() | indent(4) }}
|
||||||
|
volumes:
|
||||||
|
{{ common_volumes() | indent(4) }}
|
||||||
|
{% endfor %}
|
47
roles/openshift-apps/poddlers/templates/deploymentconfig.yml
Normal file
47
roles/openshift-apps/poddlers/templates/deploymentconfig.yml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{% from "_macros.yml" import common_volume_mounts, common_volumes, common_env %}
|
||||||
|
{% for toddler in poddlers_command %}
|
||||||
|
---
|
||||||
|
apiVersion: apps.openshift.io/v1
|
||||||
|
kind: DeploymentConfig
|
||||||
|
metadata:
|
||||||
|
name: {{ toddler.name }}
|
||||||
|
labels:
|
||||||
|
app: poddlers
|
||||||
|
spec:
|
||||||
|
replicas: {{ toddler.replicas|default(1) }}
|
||||||
|
selector:
|
||||||
|
app: poddlers
|
||||||
|
deploymentconfig: {{ toddler.name }}
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: poddlers
|
||||||
|
deploymentconfig: {{ toddler.name }}
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: toddlers
|
||||||
|
image: toddlers:latest
|
||||||
|
env:
|
||||||
|
- name: FEDORA_MESSAGING_CONF
|
||||||
|
value: /etc/fedora-messaging/{{ toddler.name }}.toml
|
||||||
|
{{ common_env() }}
|
||||||
|
|
||||||
|
volumeMounts:
|
||||||
|
{{ common_volume_mounts() }}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
{{ common_volumes() }}
|
||||||
|
|
||||||
|
triggers:
|
||||||
|
- type: ConfigChange
|
||||||
|
- type: ImageChange
|
||||||
|
imageChangeParams:
|
||||||
|
automatic: true
|
||||||
|
containerNames:
|
||||||
|
- toddlers
|
||||||
|
from:
|
||||||
|
kind: ImageStreamTag
|
||||||
|
name: toddlers:latest
|
||||||
|
{% endfor %}
|
117
roles/openshift-apps/poddlers/templates/email_overrides.toml
Normal file
117
roles/openshift-apps/poddlers/templates/email_overrides.toml
Normal file
|
@ -0,0 +1,117 @@
|
||||||
|
# This file contains the list of FAS email addresses to override for bugzilla.
|
||||||
|
# By default we expect that the email address set in FAS corresponds to
|
||||||
|
# the bugzilla account of the person.
|
||||||
|
# However, some people prefer to use different addresses in FAS and in
|
||||||
|
# bugzilla (for example if they want to use their @fedoraproject alias in
|
||||||
|
# bugzilla). To support these requests, this file maps FAS email addresses to
|
||||||
|
# Bugzilla email addresses where they differ.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# "foo@bar.com" = "bar@foo.org"
|
||||||
|
|
||||||
|
# Control Center Team: Bugzilla user but email doesn"t exist
|
||||||
|
# 9908: "control-center-maint@redhat.com"
|
||||||
|
# Matt Domsch"s rebuild script -- bz email goes to /dev/null
|
||||||
|
# 103590: "ftbfs@fedoraproject.org"
|
||||||
|
|
||||||
|
|
||||||
|
# /!\ WARNING: do not use templating instructions in this file
|
||||||
|
# while being in a template folder it is loaded/processed as
|
||||||
|
# a plain file by toddlers. Adding templating instructions here
|
||||||
|
# will break toddlers!
|
||||||
|
|
||||||
|
|
||||||
|
# icon - Konstantin Ryabitsev
|
||||||
|
"mricon@gmail.com" = "icon@fedoraproject.org"
|
||||||
|
# jafo - Sean Reifschneider
|
||||||
|
"jafo@tummy.com" = "jafo-redhat@tummy.com"
|
||||||
|
# robert - Robert Scheck
|
||||||
|
"redhat@linuxnetz.de" = "redhat-bugzilla@linuxnetz.de"
|
||||||
|
# byte - Colin Charles:
|
||||||
|
"byte@aeon.com.my" = "byte@fedoraproject.org"
|
||||||
|
# mikep - W. Michael Petullo:
|
||||||
|
"mike@flyn.org" = "redhat@flyn.org"
|
||||||
|
# duffy - Máirín Duffy
|
||||||
|
"fedora@linuxgrrl.com" = "duffy@redhat.com"
|
||||||
|
# jmrodri - Jesus M. Rodriguez:
|
||||||
|
"jmrodri@gmail.com" = "jesusr@redhat.com"
|
||||||
|
# mdehaan - Michael DeHaan:
|
||||||
|
"michael.dehaan@gmail.com" = "mdehaan@redhat.com"
|
||||||
|
# ceski - Davide Cescato:
|
||||||
|
"davide.cescato@iaeste.ch" = "ceski@fedoraproject.org"
|
||||||
|
# nb - Nick Bebout:
|
||||||
|
"nick@bebout.net" = "nb@fedoraproject.org"
|
||||||
|
# arxs - Niels Haase:
|
||||||
|
"haase.niels@gmail.com" = "arxs@fedoraproject.org"
|
||||||
|
# thomasj - Thomas Janssen:
|
||||||
|
"th.p.janssen@googlemail.com" = "thomasj@fedoraproject.org"
|
||||||
|
# mjg - Michael J Gruber:
|
||||||
|
"michaeljgruber+fedoraproject@gmail.com" = "mjg@fedoraproject.org"
|
||||||
|
# nushio - Juan Manuel Rodriguez Moreno:
|
||||||
|
"nushio@gmail.com" = "nushio@fedoraproject.org"
|
||||||
|
# cagney - Andrew Cagney:
|
||||||
|
"andrew.cagney@gmail.com" = "cagney@fedoraproject.org"
|
||||||
|
# katzj - Jeremy Katz:
|
||||||
|
"jeremy@katzbox.net" = "katzj@fedoraproject.org"
|
||||||
|
# dmaphy - Dominic Hopf:
|
||||||
|
"dmaphy@googlemail.com" = "dmaphy@fedoraproject.org"
|
||||||
|
# tomspur - Thomas Spura:
|
||||||
|
"thomas.spura@googlemail.com" = "tomspur@fedoraproject.org"
|
||||||
|
# maxamillion - Adam Miller:
|
||||||
|
"maxamillion@gmail.com" = "admiller@redhat.com"
|
||||||
|
# gholms - Garrett Holmstrom:
|
||||||
|
"garrett.holmstrom@gmail.com" = "gholms@fedoraproject.org"
|
||||||
|
# taljurf - Tareq Al Jurf:
|
||||||
|
"taljurf.fedora@gmail.com" = "taljurf@fedoraproject.org"
|
||||||
|
# jokajak - Josh Kayse:
|
||||||
|
"jokajak@gmail.com" = "jokajak@fedoraproject.org"
|
||||||
|
# behdad - Behdad Esfahbod:
|
||||||
|
"fedora@behdad.org" = "behdad@fedoraproject.org"
|
||||||
|
# dbruno - Daniel Bruno:
|
||||||
|
"danielbrunos@gmail.com" = "dbruno@fedoraproject.org"
|
||||||
|
# bethlynn - Beth Lynn Eicher:
|
||||||
|
"bethlynneicher@gmail.com" = "bethlynn@fedoraproject.org"
|
||||||
|
# sheltren - Jeff Sheltren:
|
||||||
|
"jeff@tag1consulting.com" = "sheltren@fedoraproject.org"
|
||||||
|
# mattdm - Matthew Miller:
|
||||||
|
"mattdm@mattdm.org" = "mattdm@redhat.com"
|
||||||
|
# jamielinux - Jamie Nguyen:
|
||||||
|
"j@jamielinux.com" = "jamielinux@fedoraproject.org"
|
||||||
|
# comzeradd - Nikos Roussos:
|
||||||
|
"nikos@roussos.cc" = "comzeradd@fedoraproject.org"
|
||||||
|
# ib54003- Benedikt Schäfer:
|
||||||
|
"b.schaefer@flieden.org" = "ib54003@fedoraproject.org"
|
||||||
|
# codeblock - Ricky Elrod:
|
||||||
|
"codeblock@elrod.me" = "relrod@redhat.com"
|
||||||
|
# fschwarz - Felix Schwarz:
|
||||||
|
"felix.schwarz@oss.schwarz.eu" = "fschwarz@fedoraproject.org"
|
||||||
|
# jdulaney - John Dulaney:
|
||||||
|
"jdulaney@gnu.org" = "jdulaney@fedoraproject.org"
|
||||||
|
# devos - Niels de Vos:
|
||||||
|
"niels@nixpanic.net" = "ndevos@redhat.com"
|
||||||
|
# shawndwells - Shawn Wells:
|
||||||
|
"shawn@redhat.com" = "swells@redhat.com"
|
||||||
|
# ctubbsii - Christopher Tubbs:
|
||||||
|
"ctubbsii+fedora@gmail.com" = "ctubbsii@fedoraproject.org"
|
||||||
|
# besser82 - Björn Esser:
|
||||||
|
"besser82.fpo@gmail.com" = "besser82@fedoraproject.org"
|
||||||
|
# mjw - Mark Wielard:
|
||||||
|
"fedora@wildebeest.org" = "mjw@fedoraproject.org"
|
||||||
|
# roshi - Mike Ruckman:
|
||||||
|
"roshi@mykolab.com" = "roshi@fedoraproject.org"
|
||||||
|
# dustymabe - Dusty Mabe:
|
||||||
|
"dusty@dustymabe.com" = "dustymabe@redhat.com"
|
||||||
|
# jbwillia - Ben Williams:
|
||||||
|
"vaioof@gmail.com" = "jbwillia@math.vt.edu"
|
||||||
|
# thofmann - Till Hofmann:
|
||||||
|
"till.hofmann@posteo.de" = "thofmann@fedoraproject.org"
|
||||||
|
# pkfed - Philip Kovacs:
|
||||||
|
"phil@mxbits.io" = "pkfed@fedoraproject.org"
|
||||||
|
# marcdeop - Marc Deop i Argemí:
|
||||||
|
"fedora@marcdeop.com" = "marcdeop@fedoraproject.org"
|
||||||
|
# etingof
|
||||||
|
"etingof@gmail.com" = "ietingof@redhat.com"
|
||||||
|
# lzap - Lukas Zapletal:
|
||||||
|
"lukas@zapletalovi.com" = "lzap@redhat.com"
|
||||||
|
# anoopcs - Anoop C S:
|
||||||
|
"anoopcs@disr.it" = "anoopcs@redhat.com"
|
413
roles/openshift-apps/poddlers/templates/fedora-messaging.toml
Normal file
413
roles/openshift-apps/poddlers/templates/fedora-messaging.toml
Normal file
|
@ -0,0 +1,413 @@
|
||||||
|
## Fedora Messaging configuration for toddler {{ toddler.name }}
|
||||||
|
|
||||||
|
# Broker address
|
||||||
|
amqp_url = "amqps://toddlers{{ env_suffix }}:@rabbitmq{{ env_suffix }}.fedoraproject.org/%2Fpubsub"
|
||||||
|
|
||||||
|
callback = "toddlers.plugins.{{ toddler.callback }}"
|
||||||
|
|
||||||
|
# Just check if the queue exist, don't try to create it as you won't be allowed
|
||||||
|
# to (this is done in the ansible playbook)
|
||||||
|
passive_declares = true
|
||||||
|
|
||||||
|
# The topic_prefix configuration value will add a prefix to the topics of every sent message.
|
||||||
|
# This is used for migrating from fedmsg, and should not be used afterwards.
|
||||||
|
{% if env == "staging" %}
|
||||||
|
topic_prefix = "org.fedoraproject.stg"
|
||||||
|
{% else %}
|
||||||
|
topic_prefix = "org.fedoraproject.prod"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[tls]
|
||||||
|
ca_cert = "/etc/pki/rabbitmq/ca/toddlers.ca"
|
||||||
|
keyfile = "/etc/pki/rabbitmq/key/toddlers.key"
|
||||||
|
certfile = "/etc/pki/rabbitmq/cert/toddlers.crt"
|
||||||
|
|
||||||
|
[client_properties]
|
||||||
|
app = "toddlers-{{ toddler.name }}"
|
||||||
|
app_url = "https://pagure.io/fedora-infra/toddlers"
|
||||||
|
|
||||||
|
[queues."toddlers{{ env_suffix }}-{{ toddler.name }}"]
|
||||||
|
durable = true
|
||||||
|
auto_delete = false
|
||||||
|
exclusive = false
|
||||||
|
arguments = {}
|
||||||
|
|
||||||
|
[[bindings]]
|
||||||
|
queue = "toddlers{{ env_suffix }}-{{ toddler.name }}"
|
||||||
|
exchange = "amq.topic"
|
||||||
|
{# Use the fact that lists in TOML and JSON are represented the same way #}
|
||||||
|
routing_keys = {{ toddler.topics|tojson }}
|
||||||
|
|
||||||
|
[consumer_config]
|
||||||
|
# Comment out or remove this line if you want to enable the debug toddler.
|
||||||
|
# Or add more toddlers to the list (using their name) if you want to disable
|
||||||
|
# more of them.
|
||||||
|
blocked_toddlers = [
|
||||||
|
"debug",
|
||||||
|
# Block pdc_modules toddler – MBS is retired. Can be removed once toddler has been updated to a
|
||||||
|
# version which doesn’t come with pdc_modules.
|
||||||
|
"pdc_modules",
|
||||||
|
{% if env != "staging" %}
|
||||||
|
"distgit_commit_processor",
|
||||||
|
{% endif %}
|
||||||
|
]
|
||||||
|
|
||||||
|
[consumer_config.default]
|
||||||
|
# Configuration common to all toddlers.
|
||||||
|
#
|
||||||
|
# You can override any of these in the section of a particular toddler, e.g.:
|
||||||
|
#
|
||||||
|
# [consumer_config.default]
|
||||||
|
# somekey = "somevalue"
|
||||||
|
# ...
|
||||||
|
# [consumer_config.sometoddler]
|
||||||
|
# somekey = "someothervalue"
|
||||||
|
|
||||||
|
|
||||||
|
# Configuration used when sending notifications:
|
||||||
|
{% if env == "staging" %}
|
||||||
|
mail_server = "bastion.stg.fedoraproject.org"
|
||||||
|
admin_email = "admin@stg.fedoraproject.org"
|
||||||
|
{% else %}
|
||||||
|
mail_server = "bastion.fedoraproject.org"
|
||||||
|
admin_email = "admin@fedoraproject.org"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Use fasjson instead of FAS
|
||||||
|
fasjson = true
|
||||||
|
|
||||||
|
# Account to use to connect to FAS/FASJSON
|
||||||
|
fas_url = "https://fasjson{{ env_suffix }}.fedoraproject.org/"
|
||||||
|
{% if env != "staging" %}
|
||||||
|
fas_username = "{{ fedoraDummyUser }}"
|
||||||
|
fas_password = "{{ fedoraDummyUserPassword }}"
|
||||||
|
{% else %}
|
||||||
|
fas_username = "{{ fedoraStagingDummyUser }}"
|
||||||
|
fas_password = "{{ fedoraStagingDummyUserPassword }}"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Account to use to connect to pagure
|
||||||
|
# FAS username of the user that will comment on behalf of toddler
|
||||||
|
{% if env == "staging" %}
|
||||||
|
pagure_user = "releng-bot"
|
||||||
|
pagure_url = "https://stg.pagure.io"
|
||||||
|
pagure_api_key = "{{ toddlers_stg_pagure_scm_request_processor_token }}"
|
||||||
|
{% else %}
|
||||||
|
pagure_user = "releng-bot"
|
||||||
|
pagure_url = "https://pagure.io"
|
||||||
|
pagure_api_key = "{{ toddlers_pagure_scm_request_processor_token }}"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Account to use to connect to bugzilla
|
||||||
|
{% if env != "staging" %}
|
||||||
|
bugzilla_url = "https://bugzilla.redhat.com"
|
||||||
|
bugzilla_api_key = "{{ toddlers_bz_api_key }}"
|
||||||
|
{% else %}
|
||||||
|
bugzilla_url = "https://bugzilla.stage.redhat.com"
|
||||||
|
bugzilla_api_key = "{{ toddlers_stg_bz_api_key }}"
|
||||||
|
{% endif %}
|
||||||
|
bugzilla_group = "fedora_contrib"
|
||||||
|
|
||||||
|
# Base URL for the Koji build system
|
||||||
|
koji_url = "https://koji{{ env_suffix }}.fedoraproject.org"
|
||||||
|
|
||||||
|
# Base URL for the Koji package db
|
||||||
|
kojipkgs_url = "https://kojipkgs{{ env_suffix }}.fedoraproject.org"
|
||||||
|
|
||||||
|
# Account to use to connect to Pagure-as-dist-git
|
||||||
|
dist_git_url = "https://src{{ env_suffix }}.fedoraproject.org"
|
||||||
|
{% if env == "staging" %}
|
||||||
|
dist_git_token = "{{ toddlers_stg_dist_git_token }}"
|
||||||
|
{% else %}
|
||||||
|
dist_git_token_seed = "{{ toddlers_flag_ci_seed }}"
|
||||||
|
dist_git_token = "{{ toddlers_dist_git_token }}"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Configuration file storing all the email overrides in the form of:
|
||||||
|
# "foo@bar.com" = "bar@foo.org"
|
||||||
|
# This is the same format as used by the distgit_bugzilla_sync cron/app
|
||||||
|
email_overrides_file = "/etc/fedora-messaging/email_overrides.toml"
|
||||||
|
|
||||||
|
# List of accounts we do not want to report about
|
||||||
|
ignorable_accounts = ["packagerbot", "zuul", "cockpit"]
|
||||||
|
|
||||||
|
# Temp folder to use for toddlers temp files
|
||||||
|
temp_folder = "/var/tmp"
|
||||||
|
|
||||||
|
|
||||||
|
[consumer_config.default.pdc_config]
|
||||||
|
# Configuration to talk to PDC, as understood by pdc-client.
|
||||||
|
server = "https://pdc{{ env_suffix }}.fedoraproject.org/rest_api/v1/"
|
||||||
|
ssl_verify = false # Enable if using a self-signed cert
|
||||||
|
{% if env == "staging" %}
|
||||||
|
token = "{{ pdc_updater_api_token_stg }}"
|
||||||
|
{% else %}
|
||||||
|
token = "{{ pdc_updater_api_token_prod }}"
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
[consumer_config.flag_ci_pr]
|
||||||
|
|
||||||
|
[consumer_config.flag_commit_build]
|
||||||
|
|
||||||
|
[consumer_config.packager_bugzilla_sync]
|
||||||
|
|
||||||
|
[consumer_config.pdc_retired_packages]
|
||||||
|
file_check_url = "https://src{{ env_suffix }}.fedoraproject.org/%(namespace)s/%(repo)s/blob/%(branch)s/f/%(file)s"
|
||||||
|
|
||||||
|
[consumer_config.pdc_import_compose]
|
||||||
|
old_composes_url = "https://kojipkgs{{ env_suffix }}.fedoraproject.org/compose/"
|
||||||
|
|
||||||
|
[consumer_config.check_email_overrides]
|
||||||
|
email_overrides_url = "https://pagure.io/fedora-infra/ansible/raw/main/f/roles/openshift-apps/toddlers/templates/email_overrides.toml"
|
||||||
|
|
||||||
|
[consumer_config.clean_retired_packages]
|
||||||
|
pdc_active_branches = "https://pdc{{ env_suffix }}.fedoraproject.org/extras/active_branches.json"
|
||||||
|
|
||||||
|
[consumer_config.packagers_without_bugzilla]
|
||||||
|
ignorable_namespaces = ["tests"]
|
||||||
|
|
||||||
|
|
||||||
|
[consumer_config.distgit_bugzilla_sync]
|
||||||
|
# FAS username of default QA contact for bugzilla tickets
|
||||||
|
# default_qa_contact = "extras-qa@fedoraproject.org"
|
||||||
|
# Admin addresses to notify
|
||||||
|
{% if env == "staging" %}
|
||||||
|
# Don't notify anyone on staging
|
||||||
|
notify_admins = []
|
||||||
|
{% else %}
|
||||||
|
notify_admins = [
|
||||||
|
"kevin@fedoraproject.org",
|
||||||
|
"pingou@fedoraproject.org",
|
||||||
|
]
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# PDC types mapping for distgit_bugzilla_sync toddler
|
||||||
|
[consumer_config.distgit_bugzilla_sync.pdc_types]
|
||||||
|
"rpms" = "rpm"
|
||||||
|
"modules" = "module"
|
||||||
|
"container" = "container"
|
||||||
|
|
||||||
|
# Bugzilla products informations for Fedora
|
||||||
|
[consumer_config.distgit_bugzilla_sync.products]
|
||||||
|
|
||||||
|
[consumer_config.distgit_bugzilla_sync.products.Fedora]
|
||||||
|
namespace = "rpms"
|
||||||
|
versions = ["rawhide", "39", "38", "37", "36"]
|
||||||
|
|
||||||
|
[consumer_config.distgit_bugzilla_sync.products."Fedora Container Images"]
|
||||||
|
namespace = "container"
|
||||||
|
versions = ["rawhide", "39", "38", "37", "36"]
|
||||||
|
|
||||||
|
[consumer_config.distgit_bugzilla_sync.products."Fedora Modules"]
|
||||||
|
namespace = "modules"
|
||||||
|
versions = []
|
||||||
|
|
||||||
|
[consumer_config.distgit_bugzilla_sync.products."Fedora EPEL"]
|
||||||
|
branch_regex = '^epel\d+$'
|
||||||
|
versions = ["epel9", "epel8"]
|
||||||
|
|
||||||
|
|
||||||
|
# Configuration section for scm_request_processor
|
||||||
|
[consumer_config.scm_request_processor]
|
||||||
|
# Monitoring choices for release-monitoring.org
|
||||||
|
monitor_choices = ['no-monitoring', 'monitoring', 'monitoring-with-scratch']
|
||||||
|
# What we should look for in validation comment
|
||||||
|
validation_comment = "valid"
|
||||||
|
# Text for the ping if the ticket needs to be manually verified
|
||||||
|
ping_comment = "This request wants to skip bugzilla validation! {maintainers} could you check if this is correct? If yes, please respond to this ticket with 'valid' comment"
|
||||||
|
|
||||||
|
# Pagure mapping to bugzilla
|
||||||
|
[consumer_config.scm_request_processor.pagure_namespace_to_component]
|
||||||
|
rpms = 'Package Review'
|
||||||
|
container = 'Container Review'
|
||||||
|
modules = 'Module Review'
|
||||||
|
test-modules = 'Module Review'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.pagure_namespace_to_product]
|
||||||
|
rpms = ['Fedora', 'Fedora EPEL']
|
||||||
|
container = ['Fedora Container Images']
|
||||||
|
modules = ['Fedora Modules']
|
||||||
|
test-modules = ['Fedora']
|
||||||
|
|
||||||
|
# SLAS configuration for scm_request_processor
|
||||||
|
[consumer_config.scm_request_processor.branch_slas]
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.rawhide]
|
||||||
|
rawhide = '2222-01-01'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.stable]
|
||||||
|
rawhide = '2222-01-01'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.main]
|
||||||
|
rawhide = '2222-01-01'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.epel9]
|
||||||
|
stable_api = '2032-05-31'
|
||||||
|
security_fixes = '2032-05-31'
|
||||||
|
bug_fixes = '2032-05-31'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.epel9-next]
|
||||||
|
stable_api = '2027-05-31'
|
||||||
|
security_fixes = '2027-05-31'
|
||||||
|
bug_fixes = '2027-05-31'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.epel8]
|
||||||
|
stable_api = '2029-05-31'
|
||||||
|
security_fixes = '2029-05-31'
|
||||||
|
bug_fixes = '2029-05-31'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.epel8-next]
|
||||||
|
stable_api = '2024-05-31'
|
||||||
|
security_fixes = '2024-05-31'
|
||||||
|
bug_fixes = '2024-05-31'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f40]
|
||||||
|
bug_fixes = '2025-05-13'
|
||||||
|
security_fixes = '2025-05-13'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f39]
|
||||||
|
bug_fixes = '2024-11-12'
|
||||||
|
security_fixes = '2024-11-12'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f38]
|
||||||
|
bug_fixes = '2024-05-14'
|
||||||
|
security_fixes = '2024-05-14'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f37]
|
||||||
|
bug_fixes = '2023-12-15'
|
||||||
|
security_fixes = '2023-12-15'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f36]
|
||||||
|
bug_fixes = '2023-05-16'
|
||||||
|
security_fixes = '2023-05-16'
|
||||||
|
|
||||||
|
[consumer_config.scm_request_processor.branch_slas.f35]
|
||||||
|
security_fixes = '2022-12-13'
|
||||||
|
bug_fixes = '2022-12-13'
|
||||||
|
|
||||||
|
# Configuration section for check_commit_rights
|
||||||
|
[consumer_config.check_commit_rights]
|
||||||
|
exclude_users = []
|
||||||
|
{% if env == "staging" %}
|
||||||
|
notify_emails = [
|
||||||
|
# "nobody@fedoraproject.org",
|
||||||
|
"fedora_stg@sparebit.simplelogin.com",
|
||||||
|
]
|
||||||
|
{% else %}
|
||||||
|
notify_emails = [
|
||||||
|
"admin@fedoraproject.org",
|
||||||
|
]
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Configuration section for distgit_commit_processor
|
||||||
|
[consumer_config.distgit_commit_processor]
|
||||||
|
mail_from = "notifications@{{ env_prefix }}fedoraproject.org"
|
||||||
|
mail_to = "scm-commits@lists.{{ env_prefix }}fedoraproject.org"
|
||||||
|
# This is the default subject
|
||||||
|
# mail_subject_tmpl = "{message.summary}"
|
||||||
|
mail_content_tmpl = """Notification time stamped {headers['sent-at']}
|
||||||
|
|
||||||
|
{message}
|
||||||
|
|
||||||
|
{commit['url']}
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
[qos]
|
||||||
|
prefetch_size = 0
|
||||||
|
prefetch_count = 1
|
||||||
|
|
||||||
|
[log_config]
|
||||||
|
version = 1
|
||||||
|
disable_existing_loggers = true
|
||||||
|
|
||||||
|
[log_config.formatters.simple]
|
||||||
|
format = "%(asctime)s - [%(levelname)s %(name)s] %(message)s"
|
||||||
|
|
||||||
|
[log_config.handlers.console]
|
||||||
|
class = "logging.StreamHandler"
|
||||||
|
formatter = "simple"
|
||||||
|
stream = "ext://sys.stdout"
|
||||||
|
|
||||||
|
[log_config.loggers.fedora_messaging]
|
||||||
|
level = "INFO"
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.twisted]
|
||||||
|
level = "INFO"
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.pika]
|
||||||
|
level = "WARNING"
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
# Toddlers logger, feel free to bump the level to DEBUG if you need to
|
||||||
|
[log_config.loggers.toddlers]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.utils.bugzilla_system]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.utils.pagure]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.plugins.pdc_retired_packages]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.plugins.pdc_import_compose]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.plugins.distgit_bugzilla_sync]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.loggers.toddlers.plugins.scm_request_processor]
|
||||||
|
{% if env == "staging" %}
|
||||||
|
level = "DEBUG"
|
||||||
|
{% else %}
|
||||||
|
level = "INFO"
|
||||||
|
{% endif %}
|
||||||
|
propagate = false
|
||||||
|
handlers = ["console"]
|
||||||
|
|
||||||
|
[log_config.root]
|
||||||
|
level = "ERROR"
|
||||||
|
handlers = ["console"]
|
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: github-webhook-secret
|
||||||
|
data:
|
||||||
|
WebHookSecretKey: "{{ (env == 'production')|ternary(toddlers_prod_github_secret, toddlers_stg_github_secret) }}"
|
||||||
|
type: Opaque
|
15
roles/openshift-apps/poddlers/templates/secrets.yml
Normal file
15
roles/openshift-apps/poddlers/templates/secrets.yml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{% macro load_file(filename) %}{% include filename %}{%- endmacro -%}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: secrets
|
||||||
|
labels:
|
||||||
|
app: poddlers
|
||||||
|
stringData:
|
||||||
|
email_overrides.toml: |-
|
||||||
|
{{ load_file('email_overrides.toml') | indent }}
|
||||||
|
{% for toddler in poddlers_command %}
|
||||||
|
{{ toddler.name }}.toml: |-
|
||||||
|
{{ load_file('fedora-messaging.toml') | indent }}
|
||||||
|
{% endfor %}
|
107
vars/apps/poddlers.yml
Normal file
107
vars/apps/poddlers.yml
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
---
|
||||||
|
poddlers_toddlers:
|
||||||
|
- name: check-commit-rights
|
||||||
|
callback: check_commit_rights.CheckCommitRights
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.check_commit_rights"
|
||||||
|
|
||||||
|
- name: check_email_overrides
|
||||||
|
callback: check_email_overrides.CheckEmailOverrides
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.check_email_overrides"
|
||||||
|
|
||||||
|
- name: clean_retired_packages
|
||||||
|
callback: clean_retired_packages.CleanRetiredPackages
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.clean_retired_packages"
|
||||||
|
|
||||||
|
- name: distgit_bugilla_sync
|
||||||
|
callback: distgit_bugilla_sync
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.distgit_bugzilla_sync"
|
||||||
|
|
||||||
|
- name: distgit_commit_processor
|
||||||
|
callback: distgit_commit_processor.DistGitCommitProcessor
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.git.receive"
|
||||||
|
|
||||||
|
- name: flag_ci_pr
|
||||||
|
callback: flag_ci_pr.FlagCIPR
|
||||||
|
topics:
|
||||||
|
- "org.centos.*.ci.dist-git-pr.test.error"
|
||||||
|
- "org.centos.*.ci.dist-git-pr.test.complete"
|
||||||
|
- "org.centos.*.ci.dist-git-pr.test.running"
|
||||||
|
|
||||||
|
- name: flag_commit_build
|
||||||
|
callback: flag_commit_build.FlagCommitBuild
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.buildsys.build.state.change"
|
||||||
|
|
||||||
|
- name: koji_block_retired
|
||||||
|
callback: koji_block_retired.KojiBlockRetired
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.git.receive"
|
||||||
|
|
||||||
|
- name: packager_bugilla_sync
|
||||||
|
callback: packager_bugilla_sync.PackagerBugzillaSync
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.packager_bugzilla_sync"
|
||||||
|
|
||||||
|
- name: packagers_without_bugzilla
|
||||||
|
callback: packagers_without_bugzilla.PackagerWithoutBugzilla
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.packagers_without_bugzilla"
|
||||||
|
|
||||||
|
- name: pdc_import_compose
|
||||||
|
callback: pdc_import_compose.PDCImportCompose
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.pdc_import_compose"
|
||||||
|
- "org.fedoraproject.*.pungi.compose.status.change"
|
||||||
|
|
||||||
|
- name: pdc_modules
|
||||||
|
callback: pdc_modules.PDCModules
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.mbs.module.state.change"
|
||||||
|
|
||||||
|
- name: pdc_unretire_packages
|
||||||
|
callback: pdc_unretire_packages
|
||||||
|
topics:
|
||||||
|
- "io.pagure.*.pagure.issue.new"
|
||||||
|
|
||||||
|
- name: pdc_update_critpath
|
||||||
|
callback: pdc_update_critpath
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.toddlers.trigger.pdc_update_critpath"
|
||||||
|
|
||||||
|
- name: scm_request_processor
|
||||||
|
callback: scm_request_processor
|
||||||
|
topics:
|
||||||
|
- "org.fedoraproject.*.pagure.issue.new"
|
||||||
|
- "org.fedoraproject.*.pagure.issue.edit"
|
||||||
|
- "org.fedoraproject.*.pagure.issue.comment.added"
|
||||||
|
|
||||||
|
poddlers_cronjobs:
|
||||||
|
- name: packager-bugzilla-sync
|
||||||
|
schedule: "0 */6 * * *"
|
||||||
|
only_env: production
|
||||||
|
command: packager_bugzilla_sync
|
||||||
|
- name: packager-check-email-overrides
|
||||||
|
schedule: "0 6 * * *"
|
||||||
|
only_env: production
|
||||||
|
command: check_email_overrides
|
||||||
|
- name: clean-retired-packages
|
||||||
|
schedule: "0 8 1 * *"
|
||||||
|
only_env: production
|
||||||
|
command: clean_retired_packages
|
||||||
|
- name: packagers-without-bugzilla
|
||||||
|
schedule: "0 7 * * *"
|
||||||
|
only_env: production
|
||||||
|
command: packagers_without_bugzilla
|
||||||
|
- name: distgit-bugzilla-sync
|
||||||
|
schedule: "0 */12 * * *"
|
||||||
|
only_env: production
|
||||||
|
command: distgit_bugzilla_sync
|
||||||
|
- name: check-commit-rights
|
||||||
|
schedule: "0 8 */2 * *"
|
||||||
|
only_env: staging
|
||||||
|
command: check-commit-rights
|
Loading…
Add table
Add a link
Reference in a new issue