W2FM: adapt to the switch to fastapi
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
This commit is contained in:
parent
425277ffa4
commit
584f878fcf
6 changed files with 65 additions and 68 deletions
|
@ -1,38 +0,0 @@
|
||||||
[flaskapp]
|
|
||||||
DEBUG = false
|
|
||||||
TESTING = false
|
|
||||||
SQLALCHEMY_DATABASE_URI = "postgresql://webhook2fedmsg:{{ (env == 'staging')|ternary(webhook2fedmsg_stg_db_password, webhook2fedmsg_prod_db_password) }}@db01{{ env_suffix }}.iad2.fedoraproject.org/webhook2fedmsg"
|
|
||||||
SECRET_KEY = "{{ (env == 'staging')|ternary(webhook2fedmsg_stg_secret_key, webhook2fedmsg_prod_secret_key) }}"
|
|
||||||
PERMANENT_SESSION_LIFETIME = 604800
|
|
||||||
SESSION_COOKIE_HTTPONLY = true
|
|
||||||
SESSION_COOKIE_SECURE = true
|
|
||||||
PREFERRED_URL_SCHEME = "https"
|
|
||||||
|
|
||||||
[flaskapp.logsconf]
|
|
||||||
version = 1
|
|
||||||
disable_existing_loggers = false
|
|
||||||
|
|
||||||
[flaskapp.logsconf.handlers]
|
|
||||||
|
|
||||||
[flaskapp.logsconf.handlers.wsgi]
|
|
||||||
class = "logging.StreamHandler"
|
|
||||||
stream = "ext://flask.logging.wsgi_errors_stream"
|
|
||||||
level = "INFO"
|
|
||||||
formatter = "default"
|
|
||||||
|
|
||||||
[flaskapp.logsconf.formatters]
|
|
||||||
|
|
||||||
[flaskapp.logsconf.formatters.default]
|
|
||||||
format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
|
|
||||||
datefmt = "[%Y-%m-%d %I:%M:%S %z]"
|
|
||||||
|
|
||||||
[flaskapp.logsconf.root]
|
|
||||||
handlers = ["wsgi"]
|
|
||||||
level = "INFO"
|
|
||||||
|
|
||||||
[flaskapp.logsconf.loggers]
|
|
||||||
|
|
||||||
[flaskapp.logsconf.loggers.werkzeug]
|
|
||||||
handlers = ["wsgi"]
|
|
||||||
level = "INFO"
|
|
||||||
propagate = false
|
|
|
@ -11,18 +11,10 @@ items:
|
||||||
labels:
|
labels:
|
||||||
app: webhook2fedmsg
|
app: webhook2fedmsg
|
||||||
data:
|
data:
|
||||||
config.toml: |-
|
webhook-to-fedora-messaging.cfg: |-
|
||||||
{{ load_file('config.toml') | indent(6) }}
|
{{ load_file('w2fm.cfg') | indent(6) }}
|
||||||
- apiVersion: v1
|
logging.yaml: |-
|
||||||
kind: ConfigMap
|
{{ load_file('logging.yaml') | indent(6) }}
|
||||||
metadata:
|
|
||||||
name: wsgi-script
|
|
||||||
labels:
|
|
||||||
app: webhook2fedmsg
|
|
||||||
data:
|
|
||||||
wsgi.py: |-
|
|
||||||
{{ load_file('wsgi.py') | indent(6) }}
|
|
||||||
__init__.py: ""
|
|
||||||
- apiVersion: v1
|
- apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
|
|
|
@ -16,7 +16,7 @@ spec:
|
||||||
recreateParams:
|
recreateParams:
|
||||||
mid:
|
mid:
|
||||||
execNewPod:
|
execNewPod:
|
||||||
command: [/opt/app-root/bin/flask, db, sync]
|
command: [/opt/app-root/bin/w2fm, setup]
|
||||||
containerName: app
|
containerName: app
|
||||||
volumes:
|
volumes:
|
||||||
- config
|
- config
|
||||||
|
@ -31,19 +31,16 @@ spec:
|
||||||
- image: webhook2fedmsg:latest
|
- image: webhook2fedmsg:latest
|
||||||
name: app
|
name: app
|
||||||
env:
|
env:
|
||||||
- name: APP_MODULE
|
- name: W2FM_CONFIG
|
||||||
value: "deploy.wsgi"
|
value: "/etc/webhook-to-fedora-messaging/webhook-to-fedora-messaging.cfg"
|
||||||
- name: W2FM_APPCONFIG
|
- name: APP_SCRIPT
|
||||||
value: "/etc/webhook2fedmsg/config.toml"
|
value: "uvicorn --host 0.0.0.0 --port 8080 --log-config /etc/webhook-to-fedora-messaging/logging.yaml --factory webhook_to_fedora_messaging.main:create_app"
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 8080
|
- containerPort: 8080
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config
|
- name: config
|
||||||
mountPath: "/etc/webhook2fedmsg"
|
mountPath: "/etc/webhook-to-fedora-messaging"
|
||||||
readOnly: true
|
|
||||||
- name: wsgi-script
|
|
||||||
mountPath: "/opt/app-root/src/deploy"
|
|
||||||
readOnly: true
|
readOnly: true
|
||||||
- name: fedora-messaging-config
|
- name: fedora-messaging-config
|
||||||
mountPath: "/etc/fedora-messaging"
|
mountPath: "/etc/fedora-messaging"
|
||||||
|
@ -65,22 +62,19 @@ spec:
|
||||||
# initialDelaySeconds: 5
|
# initialDelaySeconds: 5
|
||||||
# periodSeconds: 60
|
# periodSeconds: 60
|
||||||
# httpGet:
|
# httpGet:
|
||||||
# path: "/healthz/ready"
|
# path: "/api/v1/healthz/ready"
|
||||||
# port: 8080
|
# port: 8080
|
||||||
# livenessProbe:
|
# livenessProbe:
|
||||||
# timeoutSeconds: 10
|
# timeoutSeconds: 10
|
||||||
# initialDelaySeconds: 3
|
# initialDelaySeconds: 3
|
||||||
# periodSeconds: 60
|
# periodSeconds: 60
|
||||||
# httpGet:
|
# httpGet:
|
||||||
# path: "/healthz/live"
|
# path: "/api/v1/healthz/live"
|
||||||
# port: 8080
|
# port: 8080
|
||||||
volumes:
|
volumes:
|
||||||
- name: config
|
- name: config
|
||||||
configMap:
|
configMap:
|
||||||
name: config
|
name: config
|
||||||
- name: wsgi-script
|
|
||||||
configMap:
|
|
||||||
name: wsgi-script
|
|
||||||
- name: fedora-messaging-config
|
- name: fedora-messaging-config
|
||||||
configMap:
|
configMap:
|
||||||
name: fedora-messaging-config
|
name: fedora-messaging-config
|
||||||
|
|
49
roles/openshift-apps/webhook2fedmsg/templates/logging.yaml
Normal file
49
roles/openshift-apps/webhook2fedmsg/templates/logging.yaml
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
version: 1
|
||||||
|
disable_existing_loggers: false
|
||||||
|
|
||||||
|
formatters:
|
||||||
|
standard:
|
||||||
|
format: "%(asctime)s [%(levelname)s] %(message)s"
|
||||||
|
datefmt: "[%Y-%m-%d %I:%M:%S %z]"
|
||||||
|
uvicorn:
|
||||||
|
(): "uvicorn.logging.DefaultFormatter"
|
||||||
|
fmt: "%(asctime)s [%(levelname)s] %(message)s"
|
||||||
|
datefmt: "[%Y-%m-%d %I:%M:%S %z]"
|
||||||
|
use_colors: false
|
||||||
|
access:
|
||||||
|
(): "uvicorn.logging.AccessFormatter"
|
||||||
|
fmt: "%(asctime)s [%(levelname)s] %(client_addr)s - '%(request_line)s' %(status_code)s"
|
||||||
|
datefmt: "[%Y-%m-%d %I:%M:%S %z]"
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
console:
|
||||||
|
level: "DEBUG"
|
||||||
|
formatter: "standard"
|
||||||
|
class: "logging.StreamHandler"
|
||||||
|
stream: "ext://sys.stdout"
|
||||||
|
uvicorn:
|
||||||
|
level: "DEBUG"
|
||||||
|
formatter: "uvicorn"
|
||||||
|
class: "logging.StreamHandler"
|
||||||
|
stream: "ext://sys.stdout"
|
||||||
|
access:
|
||||||
|
level: "DEBUG"
|
||||||
|
formatter: "access"
|
||||||
|
class: "logging.StreamHandler"
|
||||||
|
stream: "ext://sys.stdout"
|
||||||
|
|
||||||
|
loggers:
|
||||||
|
uvicorn:
|
||||||
|
handlers: ["uvicorn"]
|
||||||
|
level: "INFO"
|
||||||
|
propagate: false
|
||||||
|
uvicorn.error:
|
||||||
|
level": "INFO"
|
||||||
|
uvicorn.access:
|
||||||
|
handlers: ["access"]
|
||||||
|
level: "INFO"
|
||||||
|
propagate: false
|
||||||
|
|
||||||
|
root:
|
||||||
|
level: "INFO"
|
||||||
|
handlers: ["console"]
|
4
roles/openshift-apps/webhook2fedmsg/templates/w2fm.cfg
Normal file
4
roles/openshift-apps/webhook2fedmsg/templates/w2fm.cfg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
DATABASE__SQLALCHEMY__URL="postgresql://webhook2fedmsg:{{ (env == 'staging')|ternary(webhook2fedmsg_stg_db_password, webhook2fedmsg_prod_db_password) }}@db01{{ env_suffix }}.iad2.fedoraproject.org/webhook2fedmsg"
|
||||||
|
SESSION_SECRET="{{ (env == 'staging')|ternary(webhook2fedmsg_stg_secret_key, webhook2fedmsg_prod_secret_key) }}"
|
||||||
|
FASJSON_URL="https://fasjson{{ env_suffix }}.fedoraproject.org"
|
||||||
|
OIDC__PROVIDER_URL="https://id{{ env_suffix }}.fedoraproject.org/openidc"
|
|
@ -1,4 +0,0 @@
|
||||||
from werkzeug.middleware.proxy_fix import ProxyFix
|
|
||||||
from webhook_to_fedora_messaging.main import create_app
|
|
||||||
application = create_app()
|
|
||||||
application.wsgi_app = ProxyFix(application.wsgi_app, x_proto=1, x_host=1)
|
|
Loading…
Add table
Add a link
Reference in a new issue