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:
|
||||
app: webhook2fedmsg
|
||||
data:
|
||||
config.toml: |-
|
||||
{{ load_file('config.toml') | indent(6) }}
|
||||
- apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: wsgi-script
|
||||
labels:
|
||||
app: webhook2fedmsg
|
||||
data:
|
||||
wsgi.py: |-
|
||||
{{ load_file('wsgi.py') | indent(6) }}
|
||||
__init__.py: ""
|
||||
webhook-to-fedora-messaging.cfg: |-
|
||||
{{ load_file('w2fm.cfg') | indent(6) }}
|
||||
logging.yaml: |-
|
||||
{{ load_file('logging.yaml') | indent(6) }}
|
||||
- apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
|
|
|
@ -16,7 +16,7 @@ spec:
|
|||
recreateParams:
|
||||
mid:
|
||||
execNewPod:
|
||||
command: [/opt/app-root/bin/flask, db, sync]
|
||||
command: [/opt/app-root/bin/w2fm, setup]
|
||||
containerName: app
|
||||
volumes:
|
||||
- config
|
||||
|
@ -31,19 +31,16 @@ spec:
|
|||
- image: webhook2fedmsg:latest
|
||||
name: app
|
||||
env:
|
||||
- name: APP_MODULE
|
||||
value: "deploy.wsgi"
|
||||
- name: W2FM_APPCONFIG
|
||||
value: "/etc/webhook2fedmsg/config.toml"
|
||||
- name: W2FM_CONFIG
|
||||
value: "/etc/webhook-to-fedora-messaging/webhook-to-fedora-messaging.cfg"
|
||||
- name: APP_SCRIPT
|
||||
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:
|
||||
- containerPort: 8080
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: "/etc/webhook2fedmsg"
|
||||
readOnly: true
|
||||
- name: wsgi-script
|
||||
mountPath: "/opt/app-root/src/deploy"
|
||||
mountPath: "/etc/webhook-to-fedora-messaging"
|
||||
readOnly: true
|
||||
- name: fedora-messaging-config
|
||||
mountPath: "/etc/fedora-messaging"
|
||||
|
@ -65,22 +62,19 @@ spec:
|
|||
# initialDelaySeconds: 5
|
||||
# periodSeconds: 60
|
||||
# httpGet:
|
||||
# path: "/healthz/ready"
|
||||
# path: "/api/v1/healthz/ready"
|
||||
# port: 8080
|
||||
# livenessProbe:
|
||||
# timeoutSeconds: 10
|
||||
# initialDelaySeconds: 3
|
||||
# periodSeconds: 60
|
||||
# httpGet:
|
||||
# path: "/healthz/live"
|
||||
# path: "/api/v1/healthz/live"
|
||||
# port: 8080
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: config
|
||||
- name: wsgi-script
|
||||
configMap:
|
||||
name: wsgi-script
|
||||
- name: fedora-messaging-config
|
||||
configMap:
|
||||
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