POETRY = poetry POETRY_RUN = $(POETRY) run POETRY_RUN_MANAGE = $(POETRY_RUN) ./manage.py .DEFAULT_GOAL := run.prod ifndef TANK_CALLBACK_BASE_URL override TANK_CALLBACK_BASE_URL = "${AURA_PROTO}://${AURA_HOST}/tank" endif ifndef DASHBOARD_CALLBACK_BASE_URL override DASHBOARD_CALLBACK_BASE_URL = "${AURA_PROTO}://${AURA_HOST}" endif initialize: migrate loadfixtures $(POETRY_RUN_MANAGE) collectstatic --clear --no-input $(POETRY_RUN_MANAGE) createsuperuser --no-input $(POETRY_RUN_MANAGE) creatersakey $(POETRY_RUN_MANAGE) create_oidc_client dashboard public --client-id ${DASHBOARD_OIDC_CLIENT_ID} --client-secret ${DASHBOARD_OIDC_CLIENT_SECRET} -r "id_token token" -u ${DASHBOARD_CALLBACK_BASE_URL}/oidc_callback.html -u ${DASHBOARD_CALLBACK_BASE_URL}/oidc_callback_silentRenew.html -p ${DASHBOARD_CALLBACK_BASE_URL} -p ${DASHBOARD_CALLBACK_BASE_URL}/ $(POETRY_RUN_MANAGE) create_oidc_client tank confidential --client-id ${TANK_OIDC_CLIENT_ID} --client-secret ${TANK_OIDC_CLIENT_SECRET} -r "code" -u ${TANK_CALLBACK_BASE_URL}/tank/auth/oidc/callback showmigrations: $(POETRY_RUN_MANAGE) showmigrations migrate: $(POETRY_RUN_MANAGE) migrate --no-input loadfixtures: # TODO: reduce the fixtures loaded to the very minimum $(POETRY_RUN_MANAGE) loaddata fixtures/*/*.json loaddata: $(POETRY_RUN_MANAGE) loaddata ${DATA} removestaleimages: $(POETRY_RUN_MANAGE) removestaleimages run.dev: dev.install migrate $(POETRY_RUN_MANAGE) runserver 0.0.0.0:8000 dev.install: $(POETRY) install --no-root run.prod: migrate $(POETRY_RUN) gunicorn --bind 0.0.0.0:8000 --workers `nproc` steering.wsgi run.debug: migrate DEBUG=1 $(POETRY_RUN_MANAGE) runserver_plus 0.0.0.0:8000 release: VERSION := `$(POETRY_RUN) python -c 'import tomli; print(tomli.load(open("pyproject.toml", "rb"))["tool"]["poetry"]["version"])'` release: git tag ${VERSION} git push origin ${VERSION} @echo "Release '${VERSION}' tagged and pushed successfully."