diff --git a/roles/openshift-apps/mdapi/files/cron.yml b/roles/openshift-apps/mdapi/files/cron.yml index 96e61ac116..ed0f3cfe74 100644 --- a/roles/openshift-apps/mdapi/files/cron.yml +++ b/roles/openshift-apps/mdapi/files/cron.yml @@ -17,8 +17,11 @@ spec: containers: - name: mdapi image: image-registry.openshift-image-registry.svc:5000/mdapi/mdapi:latest - command: ["bash", "-c", "/usr/bin/mdapi --conffile /code/mdapi/confdata/standard.py database"] + command: ["bash", "-c", "/usr/bin/mdapi --conffile /etc/mdapi/confdata/myconfig.py database"] volumeMounts: + - name: myconfigpy-volume + mountPath: /etc/mdapi/confdata/ + readOnly: true - name: config-volume mountPath: /etc/mdapi readOnly: true @@ -38,6 +41,10 @@ spec: readOnly: true restartPolicy: Never volumes: + - name: myconfigpy-volume + configMap: + defaultMode: 420 + name: mdapi-myconfigpy-configmap - name: config-volume configMap: defaultMode: 420 diff --git a/roles/openshift-apps/mdapi/files/deploymentconfig.yml b/roles/openshift-apps/mdapi/files/deploymentconfig.yml index d7bebabfa4..75015d49e5 100644 --- a/roles/openshift-apps/mdapi/files/deploymentconfig.yml +++ b/roles/openshift-apps/mdapi/files/deploymentconfig.yml @@ -23,6 +23,9 @@ spec: ports: - containerPort: 8080 volumeMounts: + - name: myconfigpy-volume + mountPath: /etc/mdapi/confdata/ + readOnly: true - name: config-volume mountPath: /etc/mdapi/ readOnly: true @@ -47,6 +50,9 @@ spec: - name: config-volume configMap: name: mdapi-configmap + - name: myconfigpy-volume + configMap: + name: mdapi-myconfigpy-configmap - name: data-volume persistentVolumeClaim: claimName: mdapi-storage diff --git a/roles/openshift-apps/mdapi/templates/configmap.yml b/roles/openshift-apps/mdapi/templates/configmap.yml index c773aab818..2e0b94450a 100644 --- a/roles/openshift-apps/mdapi/templates/configmap.yml +++ b/roles/openshift-apps/mdapi/templates/configmap.yml @@ -12,6 +12,16 @@ data: --- apiVersion: v1 kind: ConfigMap +metadata: + name: mdapi-myconfigpy-configmap + labels: + app: mdapi +data: + mdapi.cfg: |- + {{ load_file('myconfig.py') | indent }} +--- +apiVersion: v1 +kind: ConfigMap metadata: name: fedora-messaging-configmap labels: diff --git a/roles/openshift-apps/mdapi/templates/myconfig.py b/roles/openshift-apps/mdapi/templates/myconfig.py new file mode 100644 index 0000000000..7ac629dae8 --- /dev/null +++ b/roles/openshift-apps/mdapi/templates/myconfig.py @@ -0,0 +1,89 @@ +""" +mdapi +Copyright (C) 2015-2022 Red Hat, Inc. + +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 Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + +Any Red Hat trademarks that are incorporated in the source +code or documentation are not subject to the GNU General Public +License and may only be used or replicated with the express permission +of Red Hat, Inc. +""" + +""" +mdapi default configuration. +""" + +# url to the database server: +DB_FOLDER = "/var/tmp" + +LOGGING = { + "version": 1, + "disable_existing_loggers": False, + "formatters": { + "standard": { + "format": "%(asctime)s [%(levelname)s] %(message)s", + "datefmt": "[%Y-%m-%d %I:%M:%S %z]", + }, + }, + "handlers": { + "console": { + "level": "INFO", + "formatter": "standard", + "class": "logging.StreamHandler", + "stream": "ext://sys.stdout", + }, + }, + # The root logger configuration; this is a catch-all configuration + # that applies to all log messages not handled by a different logger + "root": { + "level": "INFO", + "handlers": ["console"], + }, +} + +""" +Database fetching configuration +""" + +KOJI_REPO = "https://kojipkgs.fedoraproject.org/repos" +PKGDB2_URL = "https://admin.fedoraproject.org/pkgdb" +DL_SERVER = "https://dl.fedoraproject.org" + +# Enforce, or not, checking the SSL certs +PKGDB2_VERIFY = True + +# Valid for both koji and the download server +DL_VERIFY = True + +# Whether to publish to Fedora Messaging +PUBLISH_CHANGES = False + +# How long to wait between retries if processing failed +CRON_SLEEP = 30 + +repomd_xml_namespace = { + "repo": "http://linux.duke.edu/metadata/repo", + "rpm": "http://linux.duke.edu/metadata/rpm", +} + +""" +Application service configuration +""" + +APPSERVE = { + "logging": {"level": LOGGING["root"]["level"]}, + "bind": "0.0.0.0:8080", + "worker_class": "aiohttp.GunicornUVLoopWebWorker", +}