
* root: move database calls from ready() to dedicated startup signal Signed-off-by: Jens Langhammer <jens@goauthentik.io> * optimise gunicorn startup to only do DB code in one worker Signed-off-by: Jens Langhammer <jens@goauthentik.io> * always use 2 workers in compose Signed-off-by: Jens Langhammer <jens@goauthentik.io> * send startup signals for test runner Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove k8s import that isn't really needed Signed-off-by: Jens Langhammer <jens@goauthentik.io> * ci: bump nested actions Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix @reconcile_app not triggering reconcile due to changed functions Signed-off-by: Jens Langhammer <jens@goauthentik.io> * connect startup with uid Signed-off-by: Jens Langhammer <jens@goauthentik.io> * adjust some log levels Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove internal healthcheck we didn't really use it to do anything, and we shouldn't have to since the live/ready probes are handled by django anyways and so the container runtime will restart the server if needed Signed-off-by: Jens Langhammer <jens@goauthentik.io> * add setproctitle for gunicorn and celery process titles Signed-off-by: Jens Langhammer <jens@goauthentik.io> * configure structlog early to use it Signed-off-by: Jens Langhammer <jens@goauthentik.io> * Revert "configure structlog early to use it" This reverts commit 16778fdbbca0f5c474d376c2f85c6f8032c06044. * Revert "adjust some log levels" This reverts commit a129f7ab6aecf27f1206aea1ad8384ce897b74ad. Signed-off-by: Jens Langhammer <jens@goauthentik.io> # Conflicts: # authentik/root/settings.py * optimize startup to not spawn a bunch of one-off processes Signed-off-by: Jens Langhammer <jens@goauthentik.io> * idk why this shows up Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: Jens Langhammer <jens@goauthentik.io>
47 lines
1.6 KiB
Python
Executable File
47 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
"""Django manage.py"""
|
|
import os
|
|
import sys
|
|
import warnings
|
|
|
|
from defusedxml import defuse_stdlib
|
|
from django.utils.autoreload import DJANGO_AUTORELOAD_ENV
|
|
|
|
from lifecycle.migrate import run_migrations
|
|
from lifecycle.wait_for_db import wait_for_db
|
|
|
|
warnings.filterwarnings("ignore", "SelectableGroups dict interface")
|
|
warnings.filterwarnings(
|
|
"ignore",
|
|
"defusedxml.lxml is no longer supported and will be removed in a future release.",
|
|
)
|
|
warnings.filterwarnings(
|
|
"ignore",
|
|
"defusedxml.cElementTree is deprecated, import from defusedxml.ElementTree instead.",
|
|
)
|
|
|
|
defuse_stdlib()
|
|
|
|
if __name__ == "__main__":
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "authentik.root.settings")
|
|
wait_for_db()
|
|
if (
|
|
len(sys.argv) > 1
|
|
# Explicitly only run migrate for server and worker
|
|
# `bootstrap_tasks` is a special case as that command might be triggered by the `ak`
|
|
# script to pre-run certain tasks for an automated install
|
|
and sys.argv[1] in ["dev_server", "worker", "bootstrap_tasks"]
|
|
# and don't run if this is the child process of a dev_server
|
|
and os.environ.get(DJANGO_AUTORELOAD_ENV, None) is None
|
|
):
|
|
run_migrations()
|
|
try:
|
|
from django.core.management import execute_from_command_line
|
|
except ImportError as exc:
|
|
raise ImportError(
|
|
"Couldn't import Django. Are you sure it's installed and "
|
|
"available on your PYTHONPATH environment variable? Did you "
|
|
"forget to activate a virtual environment?"
|
|
) from exc
|
|
execute_from_command_line(sys.argv)
|