mdapi: add myconfig.py configmap

add volumemount to deploymentconfig
       add volumemount to cronjob

Signed-off-by: David Kirwan <dkirwan@redhat.com>
This commit is contained in:
David Kirwan 2022-12-20 17:33:47 +09:00
parent ab250d7a87
commit 15ec523d15
4 changed files with 113 additions and 1 deletions

View file

@ -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

View file

@ -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

View file

@ -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:

View file

@ -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 <https://www.gnu.org/licenses/>.
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",
}