forked from coop-cloud/authentik
Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9c000634c7 | ||
|
|
04cbec1cb0 | ||
|
|
ca72a13d30 | ||
|
|
041eb3e4b9
|
||
|
|
e2cb5d2aae
|
||
|
|
2f01ac90a2
|
||
|
|
576aa69bdd | ||
|
|
ce22dab747 |
@@ -0,0 +1,32 @@
|
||||
# Authentik Recipe Maintenance
|
||||
|
||||
All contributions should be made via a pull request. This is to ensure a
|
||||
certain quality and consistency, that others can rely on.
|
||||
|
||||
## Maintainer Responsibilities
|
||||
|
||||
A recipe maintainer has the following responsibilities:
|
||||
|
||||
- Respond to pull requests / issues within two weeks
|
||||
- Make image security updates within a week
|
||||
- Make image major updates every three months
|
||||
|
||||
In order to fullfill these responsibilities a recipe maintainer:
|
||||
|
||||
- Has to watch the repository (to get notifications)
|
||||
- Needs to make sure renovate is configured properly
|
||||
|
||||
## Pull Requests
|
||||
|
||||
A pull request can be merged if it is approved by at least one maintainer. For
|
||||
pull requests opened by a maintainer they need to be approved by another
|
||||
maintainer. Even though it is okay to merge a pull request with one approval, it
|
||||
is always better if all maintainers looked at the pull request and approved it.
|
||||
|
||||
## Become a maintainer
|
||||
|
||||
Everyone can apply to be a recipe maintainer:
|
||||
1. Watch the repository to always get updates
|
||||
2. Simply add your self to the list in the [README.md](./README.md) and open a new pull request with the change.
|
||||
3. Once the pull request gets merged you will be added to the [authentik maintainers team](https://git.coopcloud.tech/org/coop-cloud/teams/authentik-maintainers).
|
||||
4. Join the room [#cc-|-authentik-maintenance:matrix.org](#cc-|-authentik-maintenance:matrix.org) and chat to other maintainers.
|
||||
@@ -6,7 +6,8 @@
|
||||
[List of all possible environment variables](https://goauthentik.io/docs/installation/configuration)
|
||||
|
||||
<!-- metadata -->
|
||||
|
||||
* **Maintainer**: Local-IT: [@moritz](https://git.coopcloud.tech/moritz), [@msimon](https://git.coopcloud.tech/simon), [@carla](https://git.coopcloud.tech/carla)
|
||||
* **Status**: `stable`
|
||||
* **Category**: Apps
|
||||
* **Status**: 0, work-in-progress
|
||||
* **Image**: [ghcr/goauthentik/server](https://ghcr.io/goauthentik/server), 4, upstream
|
||||
|
||||
@@ -78,6 +78,7 @@ for group_name in groups:
|
||||
group.users.add(admin)
|
||||
print(f'add akadmin to group {group_name}')
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
|
||||
}
|
||||
|
||||
@@ -108,6 +109,7 @@ with open('/tmp/$1', newline='') as file:
|
||||
group.users.add(new_user)
|
||||
print(f'add {username} to group {group_name}')
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
set_user_pass() {
|
||||
@@ -119,7 +121,7 @@ user.set_password('$password')
|
||||
user.save()
|
||||
print('Changed $username password')
|
||||
""" 2>&1 | quieten
|
||||
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
set_admin_pass() {
|
||||
@@ -157,6 +159,7 @@ else:
|
||||
)
|
||||
print('Created authentik-bootstrap-token')
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
rotate_db_pass() {
|
||||
@@ -182,6 +185,7 @@ update_and_disable_blueprint() {
|
||||
apply_blueprint $@
|
||||
sleep 1
|
||||
disable_blueprint $@ 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
disable_blueprint() {
|
||||
@@ -195,6 +199,7 @@ enable_blueprint() {
|
||||
apply_blueprint() {
|
||||
echo apply blueprint $@
|
||||
ak apply_blueprint $@ 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
blueprint_state() {
|
||||
@@ -212,7 +217,7 @@ time.sleep(1)
|
||||
blueprint.save()
|
||||
print(f'{blueprint.name} enabled: {blueprint.enabled}')
|
||||
""" 2>&1 | quieten
|
||||
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
# This function adds each application with its name, slug and group if passed
|
||||
@@ -242,6 +247,7 @@ for name, details in applications.items():
|
||||
app.open_in_new_tab = True
|
||||
app.save()
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
# This function adds one application with its name, slug and group if passed
|
||||
@@ -271,6 +277,7 @@ else:
|
||||
app.open_in_new_tab = True
|
||||
app.save()
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
## This function is for renaming apps - usage: rename "old name" "new name"
|
||||
@@ -287,12 +294,13 @@ if app:
|
||||
else:
|
||||
print(f'No application found with name: {old_name}')
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
quieten() {
|
||||
# 'SyntaxWarning|version_regex|"http\['
|
||||
# is a workaround to get rid of some verbose syntax warnings, this might be fixed with another version
|
||||
grep -Pv '"level": "(info|debug)"|SyntaxWarning|version_regex|"http\[|RuntimeWarning:|### authentik shell|### Node| objects imported automatically|^$'
|
||||
grep -Pv '"level": "(info|debug)"|SyntaxWarning|version_regex|"http\[|RuntimeWarning:|### authentik shell|### Node| objects imported automatically|^$' || true
|
||||
}
|
||||
|
||||
add_email_templates() {
|
||||
@@ -386,6 +394,29 @@ Brand.objects.filter(default=True).delete()
|
||||
apply_blueprints
|
||||
}
|
||||
|
||||
check_blueprints() {
|
||||
failed_blueprints=$(/manage.py shell -c """
|
||||
print(','.join(b.path for b in BlueprintInstance.objects.exclude(status='successful').exclude(name='Default - Out-of-box-experience flow')))
|
||||
""" 2>&1 | quieten | tail -n1)
|
||||
|
||||
if [ -z "$failed_blueprints" ]; then
|
||||
echo "All Blueprints Successful"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "These Blueprints failed:"
|
||||
echo "$failed_blueprints" | tr ',' '\n'
|
||||
|
||||
echo "execute failed Blueprints"
|
||||
export AUTHENTIK_LOG_LEVEL=warning
|
||||
for bp in $(echo "$failed_blueprints" | tr ',' '\n'); do
|
||||
echo "Applying: $bp"
|
||||
ak apply_blueprint "/blueprints/$bp" 2>&1 | quieten
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
get_certificate() {
|
||||
/manage.py shell -c """
|
||||
provider_name='$1'
|
||||
@@ -397,12 +428,14 @@ saml = provider.samlprovider
|
||||
cert = saml.signing_kp
|
||||
print(''.join(cert.certificate_data.splitlines()[1:-1]))
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
get_user_uid() {
|
||||
/manage.py shell -c """
|
||||
print(User.objects.filter(username='$1').first().uid)
|
||||
""" 2>&1 | quieten
|
||||
return ${PIPESTATUS[0]}
|
||||
}
|
||||
|
||||
get_secrets() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
version: "3.8"
|
||||
services:
|
||||
authentik_ldap:
|
||||
image: ghcr.io/goauthentik/ldap:2026.5.6
|
||||
image: ghcr.io/goauthentik/ldap:2026.8.0
|
||||
# Optionally specify which networks the container should be
|
||||
# might be needed to reach the core authentik server
|
||||
networks:
|
||||
|
||||
+3
-3
@@ -35,7 +35,7 @@ x-env: &env
|
||||
version: '3.8'
|
||||
services:
|
||||
app:
|
||||
image: ghcr.io/goauthentik/server:2026.5.6
|
||||
image: ghcr.io/goauthentik/server:2026.8.0
|
||||
command: server
|
||||
depends_on:
|
||||
- db
|
||||
@@ -71,14 +71,14 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect,${STACK_NAME}-frameOptions,${STACK_NAME}-redirect"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.customFrameOptionsValue=SAMEORIGIN"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-frameOptions.headers.contentSecurityPolicy=frame-ancestors ${X_FRAME_OPTIONS_ALLOW_FROM}"
|
||||
- "coop-cloud.${STACK_NAME}.version=12.0.6+2026.5.6"
|
||||
- "coop-cloud.${STACK_NAME}.version=12.1.0+2026.8.0"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.regex=^https://(${REDIRECTS})/(.*)"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.replacement=https://${DOMAIN}/$${2}"
|
||||
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.permanent=true"
|
||||
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
|
||||
|
||||
worker:
|
||||
image: ghcr.io/goauthentik/server:2026.5.6
|
||||
image: ghcr.io/goauthentik/server:2026.8.0
|
||||
command: worker
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
@@ -2,5 +2,10 @@
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended"
|
||||
],
|
||||
"reviewers": [
|
||||
"moritz",
|
||||
"simon",
|
||||
"carla"
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user