Update kerneltest openshift config

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lercho 2024-03-12 13:47:18 +10:00
parent ba4613f735
commit d92a573709
8 changed files with 193 additions and 77 deletions

View file

@ -66,7 +66,7 @@
- role: openshift/route - role: openshift/route
app: kerneltest app: kerneltest
routename: kerneltest routename: kerneltest
host: "kerneltest{{ env_suffix }}.fedoraproject.org" host: "kerneltest.apps.ocp{{ env_suffix }}.fedoraproject.org"
serviceport: web serviceport: web
servicename: kerneltest-web servicename: kerneltest-web

View file

@ -0,0 +1,54 @@
# A generic, single database configuration.
[alembic]
# path to migration scripts
script_location = /opt/app-root/src/alembic
# template used to generate migration files
# file_template = %%(rev)s_%%(slug)s
# set to 'true' to run the environment during
# the 'revision' command, regardless of autogenerate
# revision_environment = false
{% if env == 'staging' %}
sqlalchemy.url = postgresql://{{ kerneltest_stg_db_user }}:{{ kerneltest_stg_db_pass }}@{{ kerneltest_stg_db_host }}/kerneltest
{% else %}
sqlalchemy.url = postgresql://{{ kerneltest_db_user }}:{{ kerneltest_db_pass }}@{{ kerneltest_db_host }}/kerneltest
{% endif %}
# Logging configuration
[loggers]
keys = root,sqlalchemy,alembic
[handlers]
keys = console
[formatters]
keys = generic
[logger_root]
level = WARN
handlers = console
qualname =
[logger_sqlalchemy]
level = WARN
handlers =
qualname = sqlalchemy.engine
[logger_alembic]
level = INFO
handlers =
qualname = alembic
[handler_console]
class = StreamHandler
args = (sys.stderr,)
level = NOTSET
formatter = generic
[formatter_generic]
format = %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %H:%M:%S

View file

@ -0,0 +1,4 @@
#!/bin/bash
pip install alembic
alembic -c /etc/alembic-upgrade-script/alembic.ini upgrade head

View file

@ -1,66 +1,100 @@
--- ---
apiVersion: v1 apiVersion: v1
kind: List kind: DeploymentConfig
metadata: {} metadata:
items: labels:
- apiVersion: v1 app: kerneltest
kind: DeploymentConfig service: kerneltest
metadata: name: kerneltest
labels: spec:
app: kerneltest replicas: 1
service: web selector:
name: kerneltest-web app: kerneltest
spec: deploymentconfig: kerneltest
replicas: 1 strategy:
selector: type: Recreate
deploymentconfig: kerneltest-web recreateParams:
strategy: mid:
resources: {} failurePolicy: Abort
template: execNewPod:
metadata: containerName: kerneltest
labels: command: ["/opt/app-root/config/alembic_upgrade.sh"]
app: kerneltest
deploymentconfig: kerneltest-web
spec:
containers:
- name: kerneltest-web
image: docker-registry.default.svc:5000/kerneltest/kerneltest:latest
env: env:
- name: KERNELTEST_CONFIG - name: PYTHONPATH
value: /etc/kerneltest/config.toml value: /opt/app-root/src
- name: APP_MODULE volumes:
value: "kerneltest.wsgi:application" - kerneltest-config-volume
ports: - kerneltest-secret-volume
- containerPort: 8080 - ipa-config-volume
resources: {} template:
volumeMounts: metadata:
- name: config-volume labels:
mountPath: /etc/kerneltest app: kerneltest
readOnly: true deploymentconfig: kerneltest
readinessProbe: spec:
timeoutSeconds: 1 containers:
initialDelaySeconds: 5 - name: kerneltest
httpGet: image: kerneltest:latest
path: / ports:
port: 8080 - containerPort: 8080
livenessProbe: resources: {}
timeoutSeconds: 1 env:
initialDelaySeconds: 30 - name: GUNICORN_CMD_ARGS
httpGet: value: "--bind=0.0.0.0:8080"
path: / - name: KERNELTEST_CONFIG
port: 8080 value: /etc/kerneltest-config/config.toml
volumes: volumeMounts:
- name: config-volume - name: kerneltest-config-volume
configMap: mountPath: /etc/kerneltest-config
name: kerneltest-configmap readOnly: true
triggers: - name: alembic-upgrade-script-volume
- imageChangeParams: mountPath: /etc/alembic-upgrade-script
automatic: true readOnly: true
containerNames: - name: wsgi-script-volume
- kerneltest-web mountPath: "/opt/app-root/src/deploy"
from: readOnly: true
kind: ImageStreamTag - name: kerneltest-secrets-volume
name: kerneltest:latest mountPath: /etc/kerneltest-secrets
namespace: kerneltest readOnly: true
type: ImageChange - name: ipa-config-volume
- type: ConfigChange mountPath: /etc/ipa
readOnly: true
readinessProbe:
timeoutSeconds: 1
initialDelaySeconds: 5
httpGet:
path: /
port: 8080
livenessProbe:
timeoutSeconds: 1
initialDelaySeconds: 30
httpGet:
path: /
port: 8080
volumes:
- name: kerneltest-config-volume
configMap:
name: kerneltest-config-map
- name: alembic-upgrade-script-volume
configMap:
name: alembic-upgrade-script
- name: wsgi-script-volume
configMap:
name: wsgi-script
- name: kerneltest-secrets-volume
secret:
secretName: kerneltest-secrets
- name: ipa-config-volume
configMap:
name: ipa-client-config
triggers:
- type: ConfigChange
- type: ImageChange
imageChangeParams:
automatic: true
containerNames:
- elections
from:
kind: ImageStreamTag
name: elections:latest

View file

@ -0,0 +1 @@
from fedora_elections import APP as application

View file

@ -12,14 +12,14 @@ spec:
source: source:
type: Git type: Git
git: git:
uri: https://github.com/jmflinuxtx/kerneltest-harness.git uri: https://github.com/fedora-infra/kerneltest.git
strategy: strategy:
type: Source type: Source
sourceStrategy: sourceStrategy:
from: from:
kind: ImageStreamTag kind: ImageStreamTag
namespace: openshift namespace: openshift
name: python:3.6 name: python:3.10
triggers: triggers:
- type: ConfigChange - type: ConfigChange
- type: ImageChange - type: ImageChange

View file

@ -6,4 +6,4 @@ SECRET_KEY = "{{ kerneltest_secretkey }}"
DB_URL = "postgresql://{{ kerneltest_db_user }}:{{ kerneltest_db_pass }}@{{ kerneltest_db_host }}/kerneltest" DB_URL = "postgresql://{{ kerneltest_db_user }}:{{ kerneltest_db_pass }}@{{ kerneltest_db_host }}/kerneltest"
{% endif %} {% endif %}
ADMIN_GROUP = ["sysadmin-kernel", "sysadmin-main"] ADMIN_GROUP = ["sysadmin-kernel", "sysadmin-main"]
OIDC_CLIENT_SECRETS = "/etc/kerneltest/client_secrets.json" OIDC_CLIENT_SECRETS = "/etc/kerneltest-config/client_secrets.json"

View file

@ -1,13 +1,36 @@
{% macro load_file(filename) %}{% include filename %}{%- endmacro -%} {% macro load_file(filename) %}{% include filename %}{%- endmacro -%}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: List
metadata: metadata: {}
name: kerneltest-configmap items:
labels: - apiVersion: v1
app: kerneltest kind: ConfigMap
data: metadata:
config.toml: |- name: kerneltest-config-map
{{ load_file('config.toml') | indent }} labels:
client_secrets.json: |- app: kerneltest
{{ load_file('client_secrets.json') | indent }} data:
config.toml: |-
{{ load_file('kerneltest.toml') | indent }}
client_secrets.json: |-
{{ load_file('client_secrets.json') | indent }}
- apiVersion: v1
kind: ConfigMap
metadata:
name: alembic-upgrade-script
labels:
app: kerneltest
data:
alembic_upgrade.sh: |-
{{ load_file('alembic_upgrade.sh') | indent }}
- apiVersion: v1
kind: ConfigMap
metadata:
name: wsgi-script
labels:
app: kerneltest
data:
alembic_upgrade.sh: |-
{{ load_file('wsgi.py') | indent }}