From 34b866351b4e165cce0d502c0545e7201e0b2af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Bompard?= Date: Fri, 24 Jan 2025 10:07:53 +0100 Subject: [PATCH] Remove toddlers, it's now replaced by poddlers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Aurélien Bompard --- playbooks/openshift-apps/toddlers.yml | 123 ----- .../toddlers/templates/buildconfig.yml.j2 | 26 - .../toddlers/templates/cron_playtime.yml.j2 | 476 ----------------- .../templates/deploymentconfig.yml.j2 | 84 --- .../toddlers/templates/email_overrides.toml | 117 ---- .../toddlers/templates/fedora-messaging.toml | 500 ------------------ .../toddlers/templates/imagestream.yml.j2 | 10 - .../toddlers/templates/secret.yml.j2 | 13 - 8 files changed, 1349 deletions(-) delete mode 100644 playbooks/openshift-apps/toddlers.yml delete mode 100644 roles/openshift-apps/toddlers/templates/buildconfig.yml.j2 delete mode 100644 roles/openshift-apps/toddlers/templates/cron_playtime.yml.j2 delete mode 100644 roles/openshift-apps/toddlers/templates/deploymentconfig.yml.j2 delete mode 100644 roles/openshift-apps/toddlers/templates/email_overrides.toml delete mode 100644 roles/openshift-apps/toddlers/templates/fedora-messaging.toml delete mode 100644 roles/openshift-apps/toddlers/templates/imagestream.yml.j2 delete mode 100644 roles/openshift-apps/toddlers/templates/secret.yml.j2 diff --git a/playbooks/openshift-apps/toddlers.yml b/playbooks/openshift-apps/toddlers.yml deleted file mode 100644 index fc11b7adec..0000000000 --- a/playbooks/openshift-apps/toddlers.yml +++ /dev/null @@ -1,123 +0,0 @@ ---- -- name: Make the app be real - hosts: os_control[0]: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 - project_app: toddlers - project_description: Small fedora-messaging toddlers that keep running around - project_appowners: - - abompard - - zlopez - - kevin - - amedvede - - jnsamyak - - nphilipp - - lenkaseg - tags: - - appowners - - - role: rabbit/queue - queue_username: toddlers{{ env_suffix }} - queue_name: toddlers{{ env_suffix }} - # queue_routing_keys: - # # flag_ci_pr - # - "org.centos.*.ci.dist-git-pr.test.error" - # - "org.centos.*.ci.dist-git-pr.test.complete" - # - "org.centos.*.ci.dist-git-pr.test.running" - # # flag_commit_build - # - "org.fedoraproject.*.buildsys.build.state.change" - # # packager_bugzilla_sync - # - "org.fedoraproject.*.toddlers.trigger.packager_bugzilla_sync" - # # pdc_import_compose - # - "org.fedoraproject.*.toddlers.trigger.pdc_import_compose" - # - "org.fedoraproject.*.pungi.compose.status.change" - # # pdc_modules - # - "org.fedoraproject.*.mbs.module.state.change" - # # check_email_overrides - # - "org.fedoraproject.*.toddlers.trigger.check_email_overrides" - # # clean_retired_packages - # - "org.fedoraproject.*.toddlers.trigger.clean_retired_packages" - # # koji_block_retired - # - "org.fedoraproject.*.toddlers.trigger.koji_block_retired" - # - "org.fedoraproject.*.git.receive" - # # scm_request_processor - # - "io.pagure.*.pagure.issue.new" - # - "io.pagure.*.pagure.issue.edit" - # - "io.pagure.*.pagure.issue.comment.added" - # # pagure_fas_groups_sync - # - "org.fedoraproject.*.toddlers.trigger.pagure_fas_groups_sync" - # - "org.fedoraproject.*.fas.group.member.sponsor" - queue_thresholds: - warning: 10 - critical: 100 - user_sent_topics: ^org\.fedoraproject\.{{ env_short }}\.toddlers\..* - - - role: openshift/keytab - keytab_app: toddlers - keytab_key: service.keytab - keytab_secret_name: toddlers-keytab - keytab_service: toddlers - - - role: openshift/ipa-client - ipa_client_app: toddlers - - - role: openshift/object - object_app: toddlers - object_template: buildconfig.yml.j2 - object_objectname: buildconfig.yml - - - role: openshift/secret-file - secret_file_app: toddlers - secret_file_secret_name: toddlers-fedora-messaging-key - secret_file_key: toddlers.key - secret_file_privatefile: "rabbitmq/{{env}}/pki/private/toddlers{{env_suffix}}.key" - - - role: openshift/secret-file - secret_file_app: toddlers - secret_file_secret_name: toddlers-fedora-messaging-crt - secret_file_key: toddlers.crt - secret_file_privatefile: "rabbitmq/{{env}}/pki/issued/toddlers{{env_suffix}}.crt" - - - role: openshift/secret-file - secret_file_app: toddlers - secret_file_secret_name: toddlers-fedora-messaging-ca - secret_file_key: toddlers.ca - secret_file_privatefile: "rabbitmq/{{env}}/pki/ca.crt" - - - role: openshift/object - object_app: toddlers - object_template: cron_playtime.yml.j2 - object_objectname: cron_playtime.yml - tags: - - cron-job - - - role: openshift/object - object_app: toddlers - object_template: deploymentconfig.yml.j2 - object_objectname: deploymentconfig.yml - - - role: openshift/object - object_app: toddlers - object_template: secret.yml.j2 - object_objectname: secret.yml - - - role: openshift/object - object_app: toddlers - object_template: imagestream.yml.j2 - object_objectname: imagestream.yml - - - role: openshift/start-build - start_build_app: toddlers - start_build_buildname: toddlers-build - start_build_objectname: toddlers-build - tags: - - never - - build diff --git a/roles/openshift-apps/toddlers/templates/buildconfig.yml.j2 b/roles/openshift-apps/toddlers/templates/buildconfig.yml.j2 deleted file mode 100644 index a05daa465d..0000000000 --- a/roles/openshift-apps/toddlers/templates/buildconfig.yml.j2 +++ /dev/null @@ -1,26 +0,0 @@ ---- -apiVersion: build.openshift.io/v1 -kind: BuildConfig -metadata: - name: toddlers-build - labels: - environment: "toddlers" -spec: - output: - to: - kind: ImageStreamTag - name: toddlers:latest - source: - type: Git - git: - uri: https://pagure.io/fedora-infra/toddlers.git -{% if env == 'staging' %} - ref: "staging" -{% else %} - ref: "production" -{% endif %} - strategy: - type: Docker - triggers: - - type: ConfigChange - - type: ImageChange diff --git a/roles/openshift-apps/toddlers/templates/cron_playtime.yml.j2 b/roles/openshift-apps/toddlers/templates/cron_playtime.yml.j2 deleted file mode 100644 index a5684d81ed..0000000000 --- a/roles/openshift-apps/toddlers/templates/cron_playtime.yml.j2 +++ /dev/null @@ -1,476 +0,0 @@ -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-packager-bugzilla-sync -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 */6 * * *" -# 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", "packager_bugzilla_sync"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-check-email-overrides -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 6 * * *" -# 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", "check_email_overrides"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-clean-retired-packages -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 8 1 * *" -# 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", "clean_retired_packages"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-packagers-without-bugzilla -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 7 * * *" -# 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", "packagers_without_bugzilla"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# -# -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-distgit-bugzilla-sync -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 */12 * * *" -# 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", "distgit_bugzilla_sync"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-pagure-fas-groups-sync -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "0 4 * * *" -# 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", "pagure_fas_groups_sync"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# --- -# apiVersion: batch/v1 -# kind: CronJob -# metadata: -# name: playtime-koji-block-retired -# spec: -# successfulJobsHistoryLimit: 3 -# failedJobsHistoryLimit: 3 -# concurrencyPolicy: Forbid -# schedule: "30 5 * * *" -# 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", "koji_block_retired"] -# env: -# - name: PYTHONPATH -# value: "/code" -# volumeMounts: -# - 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 -# 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 -# -# {% else %} -# ## Replaced by Poddlers ## -# # --- -# # apiVersion: batch/v1 -# # kind: CronJob -# # metadata: -# # name: playtime-check-commit-rights -# # spec: -# # successfulJobsHistoryLimit: 3 -# # failedJobsHistoryLimit: 3 -# # concurrencyPolicy: Forbid -# # schedule: "0 8 */2 * *" -# # 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", "check-commit-rights"] -# # env: -# # - name: PYTHONPATH -# # value: "/code" -# # volumeMounts: -# # - 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 -# # 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 -# # --- -# # apiVersion: batch/v1 -# # kind: CronJob -# # metadata: -# # name: playtime-clean-retired-packages -# # spec: -# # successfulJobsHistoryLimit: 3 -# # failedJobsHistoryLimit: 3 -# # concurrencyPolicy: Forbid -# # schedule: "0 8 1 * *" -# # 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", "clean_retired_packages"] -# # env: -# # - name: PYTHONPATH -# # value: "/code" -# # volumeMounts: -# # - 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 -# # 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 diff --git a/roles/openshift-apps/toddlers/templates/deploymentconfig.yml.j2 b/roles/openshift-apps/toddlers/templates/deploymentconfig.yml.j2 deleted file mode 100644 index 14f7e8aea5..0000000000 --- a/roles/openshift-apps/toddlers/templates/deploymentconfig.yml.j2 +++ /dev/null @@ -1,84 +0,0 @@ ---- -apiVersion: apps.openshift.io/v1 -kind: DeploymentConfig -metadata: - labels: - app: toddlers - service: toddlers - name: toddlers -spec: - ## Replaced by Poddlers ## - replicas: 0 - selector: - app: toddlers - deploymentconfig: toddlers - strategy: - type: Recreate - template: - metadata: - labels: - app: toddlers - deploymentconfig: toddlers - spec: - containers: - - name: toddlers - image: toddlers:latest - command: ["fedora-messaging", "consume"] - env: - - name: PYTHONPATH - value: "/code" - - name: KRB5_CONFIG - value: /etc/ipa/krb5.conf - resources: {} - volumeMounts: - - 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 - 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: toddlers-keytab - - name: temp-volume - - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - toddlers - from: - kind: ImageStreamTag - name: toddlers:latest diff --git a/roles/openshift-apps/toddlers/templates/email_overrides.toml b/roles/openshift-apps/toddlers/templates/email_overrides.toml deleted file mode 100644 index 9aaace108d..0000000000 --- a/roles/openshift-apps/toddlers/templates/email_overrides.toml +++ /dev/null @@ -1,117 +0,0 @@ -# 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" diff --git a/roles/openshift-apps/toddlers/templates/fedora-messaging.toml b/roles/openshift-apps/toddlers/templates/fedora-messaging.toml deleted file mode 100644 index 224b56c9f7..0000000000 --- a/roles/openshift-apps/toddlers/templates/fedora-messaging.toml +++ /dev/null @@ -1,500 +0,0 @@ -# A sample configuration for fedora-messaging. This file is in the TOML format. -# For complete details on all configuration options, see the documentation. -# https://fedora-messaging.readthedocs.io/en/stable/configuration.html - -# Broker address -amqp_url = "amqps://toddlers{{ env_suffix }}:@rabbitmq{{ env_suffix }}.fedoraproject.org/%2Fpubsub" -callback = "toddlers.runner:RunningToddler" - -# 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" -app_url = "https://pagure.io/fedora-infra/toddlers" - -[queues."toddlers{{ env_suffix }}"] -durable = true -auto_delete = false -exclusive = false -arguments = {} - -[[bindings]] -queue = "toddlers{{ env_suffix }}" -exchange = "amq.topic" -routing_keys = ["#"] # This is dynamically generated in the code - -[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", - "distgit_commit_processor", - # Block all the PDC related toddlers - "pdc_import_compose", - "pdc_unretire_packages", - "pdc_update_critpath", -] - -[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: -mail_server = "bastion.fedoraproject.org" -{% if env == "staging" %} -admin_email = "admin@stg.fedoraproject.org" -{% else %} -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 lookaside cache (no staging here) -lookaside_url = "https://src.fedoraproject.org/lookaside" - -# Credentials for koji session -{% if env == 'staging' %} -principal = "toddlers/os-control01.stg.iad2.fedoraproject.org@STG.FEDORAPROJECT.ORG" -keytab = "/etc/keytabs/service.keytab" -{% else %} -principal = "toddlers/os-control01.iad2.fedoraproject.org@FEDORAPROJECT.ORG" -keytab = "/etc/keytabs/service.keytab" -{% endif %} - -# Base URL for the Koji package db -kojipkgs_url = "https://kojipkgs{{ env_suffix }}.fedoraproject.org" - -# Base URL for Bodhi -bodhi_url = "https://bodhi{{ 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 %} - -# Bugzilla products informations for Fedora -[consumer_config.distgit_bugzilla_sync.products] - -[consumer_config.distgit_bugzilla_sync.products.Fedora] -branch_regex = '^((f\d+)|rawhide)$' -namespace = "rpms" -versions = ["rawhide", "41", "40", "39", "38"] - -[consumer_config.distgit_bugzilla_sync.products."Fedora Container Images"] -branch_regex = '^((f\d+)|rawhide)$' -namespace = "container" -versions = ["rawhide", "41", "40", "39", "38"] - -[consumer_config.distgit_bugzilla_sync.products."Fedora EPEL"] -branch_regex = '^epel\d+(?:\.\d+)?$' -namespace = "rpms" -versions = ["epel10", "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.eln] -rawhide = '2222-01-01' - -[consumer_config.scm_request_processor.branch_slas.epel10] -stable_api = '2035-05-31' -security_fixes = '2035-05-31' -bug_fixes = '2035-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.9"] -stable_api = '2030-05-31' -security_fixes = '2030-05-31' -bug_fixes = '2030-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.8"] -stable_api = '2029-11-31' -security_fixes = '2029-11-31' -bug_fixes = '2029-11-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.7"] -stable_api = '2029-05-31' -security_fixes = '2029-05-31' -bug_fixes = '2029-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.6"] -stable_api = '2028-11-31' -security_fixes = '2028-11-31' -bug_fixes = '2028-11-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.5"] -stable_api = '2028-05-31' -security_fixes = '2028-05-31' -bug_fixes = '2028-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.4"] -stable_api = '2027-11-31' -security_fixes = '2027-11-31' -bug_fixes = '2027-11-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.3"] -stable_api = '2027-05-31' -security_fixes = '2027-05-31' -bug_fixes = '2027-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.2"] -stable_api = '2026-11-31' -security_fixes = '2026-11-31' -bug_fixes = '2026-11-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.1"] -stable_api = '2026-05-31' -security_fixes = '2026-05-31' -bug_fixes = '2026-05-31' - -[consumer_config.scm_request_processor.branch_slas."epel10.0"] -stable_api = '2025-11-31' -security_fixes = '2025-11-31' -bug_fixes = '2025-11-31' - -[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.f41] -bug_fixes = '2025-11-11' -security_fixes = '2025-11-11' - -[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' - -[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"] - -# 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" -# The templates are passed to str.format() => no quotes in dictionary keys! -# This is the default subject -# mail_subject_tmpl = "{message.summary}" -mail_content_tmpl = """Notification time stamped {headers[sent-at]} - -{message} - - {commit[url]} -""" - -[consumer_config.pagure_fas_groups_sync] -{% if env == "staging" %} -pagure_url = "https://stg.pagure.io" -# Token needs to have following permissions: -# - adding_member_to_group -# - removing_member_from_group -pagure_api_key = "{{ toddlers_stg_pagure_fas_groups_sync_token }}" -{% else %} -pagure_url = "https://pagure.io" -# Token needs to have following permissions: -# - adding_member_to_group -# - removing_member_from_group -pagure_api_key = "{{ toddlers_pagure_fas_groups_sync_token }}" -{% endif %} - -[consumer_config.pagure_fas_groups_sync.group_map] -#Mapping of FAS groups to Pagure groups -infra-sig = 'fedora-infra' -metrics-sig = 'metrics' diff --git a/roles/openshift-apps/toddlers/templates/imagestream.yml.j2 b/roles/openshift-apps/toddlers/templates/imagestream.yml.j2 deleted file mode 100644 index 3ba77035ab..0000000000 --- a/roles/openshift-apps/toddlers/templates/imagestream.yml.j2 +++ /dev/null @@ -1,10 +0,0 @@ ---- -apiVersion: image.openshift.io/v1 -kind: ImageStream -metadata: - name: toddlers -spec: - lookupPolicy: - local: false -status: - dockerImageRepository: "" diff --git a/roles/openshift-apps/toddlers/templates/secret.yml.j2 b/roles/openshift-apps/toddlers/templates/secret.yml.j2 deleted file mode 100644 index e466b6051c..0000000000 --- a/roles/openshift-apps/toddlers/templates/secret.yml.j2 +++ /dev/null @@ -1,13 +0,0 @@ -{% macro load_file(filename) %}{% include filename %}{%- endmacro -%} ---- -apiVersion: v1 -kind: Secret -metadata: - name: toddlers-secret - labels: - app: toddlers -stringData: - config.toml: |- - {{ load_file('fedora-messaging.toml') | indent }} - email_overrides.toml: |- - {{ load_file('email_overrides.toml') | indent }}