Skip to content

Commit f9a2d0f

Browse files
authored
sibling of 2c9bf4b
1 parent f14b2fd commit f9a2d0f

File tree

356 files changed

+2335
-9343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

356 files changed

+2335
-9343
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

+1-5
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@ Output of docker-compose logs or kubectl logs respectively
2828

2929
**Version and Deployment (please complete the following information):**
3030

31-
<!--
32-
Notice: authentik supports installation via Docker, Kubernetes, and AWS CloudFormation only. Support is not available for other methods. For detailed installation and configuration instructions, please refer to the official documentation at https://docs.goauthentik.io/docs/install-config/.
33-
-->
34-
35-
- authentik version: [e.g. 2025.2.0]
31+
- authentik version: [e.g. 2021.8.5]
3632
- Deployment: [e.g. docker-compose, helm]
3733

3834
**Additional context**

.github/ISSUE_TEMPLATE/question.md

+1-6
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,7 @@ Output of docker-compose logs or kubectl logs respectively
2020

2121
**Version and Deployment (please complete the following information):**
2222

23-
<!--
24-
Notice: authentik supports installation via Docker, Kubernetes, and AWS CloudFormation only. Support is not available for other methods. For detailed installation and configuration instructions, please refer to the official documentation at https://docs.goauthentik.io/docs/install-config/.
25-
-->
26-
27-
28-
- authentik version: [e.g. 2025.2.0]
23+
- authentik version: [e.g. 2021.8.5]
2924
- Deployment: [e.g. docker-compose, helm]
3025

3126
**Additional context**

.github/actions/setup/action.yml

+1-5
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,12 @@ runs:
3030
uses: actions/setup-go@v5
3131
with:
3232
go-version-file: "go.mod"
33-
- name: Setup docker cache
34-
uses: ScribeMD/[email protected]
35-
with:
36-
key: docker-images-${{ runner.os }}-${{ hashFiles('.github/actions/setup/docker-compose.yml', 'Makefile') }}-${{ inputs.postgresql_version }}
3733
- name: Setup dependencies
3834
shell: bash
3935
run: |
4036
export PSQL_TAG=${{ inputs.postgresql_version }}
4137
docker compose -f .github/actions/setup/docker-compose.yml up -d
42-
poetry sync
38+
poetry install --sync
4339
cd web && npm ci
4440
- name: Generate config
4541
shell: poetry run python {0}

.github/actions/setup/docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ services:
1111
- 5432:5432
1212
restart: always
1313
redis:
14-
image: docker.io/library/redis:7
14+
image: docker.io/library/redis
1515
ports:
1616
- 6379:6379
1717
restart: always

.github/codespell-words.txt

+3-28
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,7 @@
1-
akadmin
2-
asgi
3-
assertIn
4-
authentik
5-
authn
6-
crate
7-
docstrings
8-
entra
9-
goauthentik
10-
gunicorn
11-
hass
12-
jwe
13-
jwks
141
keypair
152
keypairs
16-
kubernetes
17-
oidc
3+
hass
4+
warmup
185
ontext
19-
openid
20-
passwordless
21-
plex
22-
saml
23-
scim
246
singed
25-
slo
26-
sso
27-
totp
28-
traefik
29-
# https://github.com/codespell-project/codespell/issues/1224
30-
upToDate
31-
warmup
32-
webauthn
7+
assertIn

.github/dependabot.yml

-6
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,6 @@ updates:
8282
docusaurus:
8383
patterns:
8484
- "@docusaurus/*"
85-
build:
86-
patterns:
87-
- "@swc/*"
88-
- "swc-*"
89-
- "lightningcss*"
90-
- "@rspack/binding*"
9185
- package-ecosystem: npm
9286
directory: "/lifecycle/aws"
9387
schedule:

.github/workflows/_reusable-docker-build-single.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
attestations: write
4141
steps:
4242
- uses: actions/checkout@v4
43-
- uses: docker/setup-qemu-action@v3.6.0
43+
- uses: docker/setup-qemu-action@v3.4.0
4444
- uses: docker/setup-buildx-action@v3
4545
- name: prepare variables
4646
uses: ./.github/actions/docker-push-variables

.github/workflows/ci-main-daily.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ jobs:
1515
matrix:
1616
version:
1717
- docs
18-
- version-2025-2
1918
- version-2024-12
19+
- version-2024-10
2020
steps:
2121
- uses: actions/checkout@v4
2222
- run: |

.github/workflows/ci-outpost.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
with:
8383
ref: ${{ github.event.pull_request.head.sha }}
8484
- name: Set up QEMU
85-
uses: docker/setup-qemu-action@v3.6.0
85+
uses: docker/setup-qemu-action@v3.4.0
8686
- name: Set up Docker Buildx
8787
uses: docker/setup-buildx-action@v3
8888
- name: prepare variables

.github/workflows/release-publish.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
with:
4343
go-version-file: "go.mod"
4444
- name: Set up QEMU
45-
uses: docker/setup-qemu-action@v3.6.0
45+
uses: docker/setup-qemu-action@v3.4.0
4646
- name: Set up Docker Buildx
4747
uses: docker/setup-buildx-action@v3
4848
- name: prepare variables
@@ -186,7 +186,7 @@ jobs:
186186
container=$(docker container create ${{ steps.ev.outputs.imageMainName }})
187187
docker cp ${container}:web/ .
188188
- name: Create a Sentry.io release
189-
uses: getsentry/action-release@v3
189+
uses: getsentry/action-release@v1
190190
continue-on-error: true
191191
env:
192192
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}

.github/workflows/translation-extract-compile.yml

+1-12
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
2-
name: authentik-translate-extract-compile
2+
name: authentik-backend-translate-extract-compile
33
on:
44
schedule:
55
- cron: "0 0 * * *" # every day at midnight
66
workflow_dispatch:
7-
pull_request:
8-
branches:
9-
- main
10-
- version-*
117

128
env:
139
POSTGRES_DB: authentik
@@ -19,21 +15,15 @@ jobs:
1915
runs-on: ubuntu-latest
2016
steps:
2117
- id: generate_token
22-
if: ${{ github.event_name != 'pull_request' }}
2318
uses: tibdex/github-app-token@v2
2419
with:
2520
app_id: ${{ secrets.GH_APP_ID }}
2621
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }}
2722
- uses: actions/checkout@v4
28-
if: ${{ github.event_name != 'pull_request' }}
2923
with:
3024
token: ${{ steps.generate_token.outputs.token }}
31-
- uses: actions/checkout@v4
32-
if: ${{ github.event_name == 'pull_request' }}
3325
- name: Setup authentik env
3426
uses: ./.github/actions/setup
35-
- name: Generate API
36-
run: make gen-client-ts
3727
- name: run extract
3828
run: |
3929
poetry run make i18n-extract
@@ -42,7 +32,6 @@ jobs:
4232
poetry run ak compilemessages
4333
make web-check-compile
4434
- name: Create Pull Request
45-
if: ${{ github.event_name != 'pull_request' }}
4635
uses: peter-evans/create-pull-request@v7
4736
with:
4837
token: ${{ steps.generate_token.outputs.token }}

.vscode/settings.json

+22
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
11
{
2+
"cSpell.words": [
3+
"akadmin",
4+
"asgi",
5+
"authentik",
6+
"authn",
7+
"entra",
8+
"goauthentik",
9+
"jwe",
10+
"jwks",
11+
"kubernetes",
12+
"oidc",
13+
"openid",
14+
"passwordless",
15+
"plex",
16+
"saml",
17+
"scim",
18+
"slo",
19+
"sso",
20+
"totp",
21+
"traefik",
22+
"webauthn"
23+
],
224
"todo-tree.tree.showCountsInTree": true,
325
"todo-tree.tree.showBadges": true,
426
"yaml.customTags": [

CODE_OF_CONDUCT.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
We as members, contributors, and leaders pledge to make participation in our
66
community a harassment-free experience for everyone, regardless of age, body
77
size, visible or invisible disability, ethnicity, sex characteristics, gender
8-
identity and expression, level of experience, education, socioeconomic status,
8+
identity and expression, level of experience, education, socio-economic status,
99
nationality, personal appearance, race, religion, or sexual identity
1010
and orientation.
1111

Dockerfile

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
# Stage 1: Build website
44
FROM --platform=${BUILDPLATFORM} docker.io/library/node:22 AS website-builder
55

6-
ENV NODE_ENV=production \
7-
GIT_UNAVAILABLE=true
6+
ENV NODE_ENV=production
87

98
WORKDIR /work/website
109

Makefile

+42-25
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,34 @@
44
PWD = $(shell pwd)
55
UID = $(shell id -u)
66
GID = $(shell id -g)
7-
NPM_VERSION = $(shell python -m scripts.generate_semver)
7+
NPM_VERSION = $(shell python -m scripts.npm_version)
88
PY_SOURCES = authentik tests scripts lifecycle .github
9+
GO_SOURCES = cmd internal
10+
WEB_SOURCES = web/src web/packages
911
DOCKER_IMAGE ?= "authentik:test"
1012

1113
GEN_API_TS = "gen-ts-api"
1214
GEN_API_PY = "gen-py-api"
1315
GEN_API_GO = "gen-go-api"
1416

15-
pg_user := $(shell poetry run python -m authentik.lib.config postgresql.user 2>/dev/null)
16-
pg_host := $(shell poetry run python -m authentik.lib.config postgresql.host 2>/dev/null)
17-
pg_name := $(shell poetry run python -m authentik.lib.config postgresql.name 2>/dev/null)
17+
pg_user := $(shell python -m authentik.lib.config postgresql.user 2>/dev/null)
18+
pg_host := $(shell python -m authentik.lib.config postgresql.host 2>/dev/null)
19+
pg_name := $(shell python -m authentik.lib.config postgresql.name 2>/dev/null)
20+
21+
CODESPELL_ARGS = -D - -D .github/codespell-dictionary.txt \
22+
-I .github/codespell-words.txt \
23+
-S 'web/src/locales/**' \
24+
-S 'website/docs/developer-docs/api/reference/**' \
25+
-S '**/node_modules/**' \
26+
-S '**/dist/**' \
27+
$(PY_SOURCES) \
28+
$(GO_SOURCES) \
29+
$(WEB_SOURCES) \
30+
website/src \
31+
website/blog \
32+
website/docs \
33+
website/integrations \
34+
website/src
1835

1936
all: lint-fix lint test gen web ## Lint, build, and test everything
2037

@@ -32,34 +49,34 @@ go-test:
3249
go test -timeout 0 -v -race -cover ./...
3350

3451
test: ## Run the server tests and produce a coverage report (locally)
35-
poetry run coverage run manage.py test --keepdb authentik
36-
poetry run coverage html
37-
poetry run coverage report
52+
coverage run manage.py test --keepdb authentik
53+
coverage html
54+
coverage report
3855

3956
lint-fix: lint-codespell ## Lint and automatically fix errors in the python source code. Reports spelling errors.
40-
poetry run black $(PY_SOURCES)
41-
poetry run ruff check --fix $(PY_SOURCES)
57+
black $(PY_SOURCES)
58+
ruff check --fix $(PY_SOURCES)
4259

4360
lint-codespell: ## Reports spelling errors.
44-
poetry run codespell -w
61+
codespell -w $(CODESPELL_ARGS)
4562

4663
lint: ## Lint the python and golang sources
47-
poetry run bandit -c pyproject.toml -r $(PY_SOURCES)
64+
bandit -r $(PY_SOURCES) -x web/node_modules -x tests/wdio/node_modules -x website/node_modules
4865
golangci-lint run -v
4966

5067
core-install:
5168
poetry install
5269

5370
migrate: ## Run the Authentik Django server's migrations
54-
poetry run python -m lifecycle.migrate
71+
python -m lifecycle.migrate
5572

5673
i18n-extract: core-i18n-extract web-i18n-extract ## Extract strings that require translation into files to send to a translation service
5774

5875
aws-cfn:
5976
cd lifecycle/aws && npm run aws-cfn
6077

6178
core-i18n-extract:
62-
poetry run ak makemessages \
79+
ak makemessages \
6380
--add-location file \
6481
--no-obsolete \
6582
--ignore web \
@@ -90,11 +107,11 @@ gen-build: ## Extract the schema from the database
90107
AUTHENTIK_DEBUG=true \
91108
AUTHENTIK_TENANTS__ENABLED=true \
92109
AUTHENTIK_OUTPOSTS__DISABLE_EMBEDDED_OUTPOST=true \
93-
poetry run ak make_blueprint_schema > blueprints/schema.json
110+
ak make_blueprint_schema > blueprints/schema.json
94111
AUTHENTIK_DEBUG=true \
95112
AUTHENTIK_TENANTS__ENABLED=true \
96113
AUTHENTIK_OUTPOSTS__DISABLE_EMBEDDED_OUTPOST=true \
97-
poetry run ak spectacular --file schema.yml
114+
ak spectacular --file schema.yml
98115

99116
gen-changelog: ## (Release) generate the changelog based from the commits since the last tag
100117
git log --pretty=format:" - %s" $(shell git describe --tags $(shell git rev-list --tags --max-count=1))...$(shell git branch --show-current) | sort > changelog.md
@@ -145,7 +162,7 @@ gen-client-py: gen-clean-py ## Build and install the authentik API for Python
145162
docker run \
146163
--rm -v ${PWD}:/local \
147164
--user ${UID}:${GID} \
148-
docker.io/openapitools/openapi-generator-cli:v7.11.0 generate \
165+
docker.io/openapitools/openapi-generator-cli:v7.4.0 generate \
149166
-i /local/schema.yml \
150167
-g python \
151168
-o /local/${GEN_API_PY} \
@@ -173,7 +190,7 @@ gen-client-go: gen-clean-go ## Build and install the authentik API for Golang
173190
rm -rf ./${GEN_API_GO}/config.yaml ./${GEN_API_GO}/templates/
174191

175192
gen-dev-config: ## Generate a local development config file
176-
poetry run scripts/generate_config.py
193+
python -m scripts.generate_config
177194

178195
gen: gen-build gen-client-ts
179196

@@ -254,21 +271,21 @@ ci--meta-debug:
254271
node --version
255272

256273
ci-black: ci--meta-debug
257-
poetry run black --check $(PY_SOURCES)
274+
black --check $(PY_SOURCES)
258275

259276
ci-ruff: ci--meta-debug
260-
poetry run ruff check $(PY_SOURCES)
277+
ruff check $(PY_SOURCES)
261278

262279
ci-codespell: ci--meta-debug
263-
poetry run codespell -s
280+
codespell $(CODESPELL_ARGS) -s
264281

265282
ci-bandit: ci--meta-debug
266-
poetry run bandit -r $(PY_SOURCES)
283+
bandit -r $(PY_SOURCES)
267284

268285
ci-pending-migrations: ci--meta-debug
269-
poetry run ak makemigrations --check
286+
ak makemigrations --check
270287

271288
ci-test: ci--meta-debug
272-
poetry run coverage run manage.py test --keepdb --randomly-seed ${CI_TEST_SEED} authentik
273-
poetry run coverage report
274-
poetry run coverage xml
289+
coverage run manage.py test --keepdb --randomly-seed ${CI_TEST_SEED} authentik
290+
coverage report
291+
coverage xml

SECURITY.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ authentik takes security very seriously. We follow the rules of [responsible di
22

33
## Independent audits and pentests
44

5-
We are committed to engaging in regular pentesting and security audits of authentik. Defining and adhering to a cadence of external testing ensures a stronger probability that our code base, our features, and our architecture is as secure and non-exploitable as possible. For more details about specific audits and pentests, refer to "Audits and Certificates" in our [Security documentation](https://docs.goauthentik.io/docs/security).
5+
We are committed to engaging in regular pentesting and security audits of authentik. Defining and adhering to a cadence of external testing ensures a stronger probability that our code base, our features, and our architecture is as secure and non-exploitable as possible. For more details about specfic audits and pentests, refer to "Audits and Certificates" in our [Security documentation](https://docs.goauthentik.io/docs/security).
66

77
## What authentik classifies as a CVE
88

0 commit comments

Comments
 (0)