---
apiVersion: v1
kind: ConfigMap
metadata:
  name: uwsgi-config
  namespace: atat
data:
  uwsgi.ini: |-
    [uwsgi]
    callable = app
    module = app
    socket = /var/run/uwsgi/uwsgi.socket
    plugin = python3
    plugin = logfile
    virtualenv = /opt/atat/atst/.venv
    chmod-socket = 666
    chown-socket = atst:atat

    ; logger config

    ; application logs: log without modifying
    logger = secondlogger stdio
    log-route = secondlogger atst
    log-encoder = format:secondlogger ${msg}

    ; default uWSGI messages (start, stop, etc.)
    logger = default stdio
    log-route = default ^((?!atst).)*$
    log-encoder = json:default {"timestamp":"${strftime:%%FT%%T}","source":"uwsgi","severity":"DEBUG","message":"${msg}"}
    log-encoder = nl

    ; uWSGI request logs
    logger-req = stdio
    log-format = request_id=%(var.HTTP_X_REQUEST_ID), pid=%(pid), remote_add=%(addr), request=%(method) %(uri), status=%(status), body_bytes_sent=%(rsize), referer=%(referer), user_agent=%(uagent), http_x_forwarded_for=%(var.HTTP_X_FORWARDED_FOR)
    log-req-encoder = json {"timestamp":"${strftime:%%FT%%T}","source":"req","severity":"INFO","message":"${msg}"}
    log-req-encoder = nl
