Merge pull request 'add-mila' (#20) from add-mila into main
Some checks failed
continuous-integration/drone/push Build is failing

Reviewed-on: #20
This commit is contained in:
2025-12-10 22:11:27 +00:00
8 changed files with 100 additions and 1 deletions

View File

@ -156,5 +156,12 @@ COPY_ASSETS="$COPY_ASSETS icon.png|app:/web/dist/assets/icons/"
# APP_ICONS="$APP_ICONS hedgedoc:~/.abra/recipes/authentik/icons/hedgedoc.png"
# HEDGEDOC_APPGROUP="$GROUP_DOCUMENTATION"
# COMPOSE_FILE="$COMPOSE_FILE:compose.mila.yml"
# MILA_DOMAIN=mila.example.com
# SECRET_MILA_ID_VERSION=v1
# SECRET_MILA_SECRET_VERSION=v1
# APP_ICONS="$APP_ICONS mila:~/.abra/recipes/authentik/icons/mila.svg"
# MILA_APPGROUP=""
# APPLICATIONS='{"Calendar": {"url":"https://nextcloud.example.com/apps/calendar/", "group": ""}, "BBB": {"url":"https://nextcloud.example.com/apps/bbb/", "group":""}, "Pretix": {"url":"https://pretix.example.com/control/", "group":""}}'
# EXTRA_ICONS={"Calendar": "~/.abra/recipes/authentik/icons/calendar.svg", "BBB": "~/.abra/recipes/authentik/icons/bbb.png", "Pretix": "~/.abra/recipes/authentik/icons/pretix.svg"}

1
.gitignore vendored
View File

@ -1 +1,2 @@
.envrc
.cursorignore

View File

@ -16,6 +16,7 @@ export ZAMMAD_CONFIG_VERSION=v4
export RALLLY_CONFIG_VERSION=v4
export HEDGEDOC_CONFIG_VERSION=v3
export MONITORING_CONFIG_VERSION=v4
export MILA_CONFIG_VERSION=v1
export DB_ENTRYPOINT_VERSION=v1
export PG_BACKUP_VERSION=v2
export ENTRYPOINT_CSS_VERSION=v1

View File

@ -87,3 +87,12 @@ hedgedoc:
- hedgedoc.png
secrets:
hedgedoc_id: hedgedoc
mila:
uncomment:
- compose.mila.yml
- MILA_DOMAIN
- SECRET_MILA_ID_VERSION
- SECRET_MILA_SECRET_VERSION
- mila.svg
secrets:
mila_id: mila

27
compose.mila.yml Normal file
View File

@ -0,0 +1,27 @@
version: "3.8"
services:
worker:
secrets:
- mila_id
- mila_secret
environment:
- MILA_DOMAIN
configs:
- source: mila
target: /blueprints/mila.yaml
secrets:
mila_id:
external: true
name: ${STACK_NAME}_mila_id_${SECRET_MILA_ID_VERSION}
mila_secret:
external: true
name: ${STACK_NAME}_mila_secret_${SECRET_MILA_SECRET_VERSION}
configs:
mila:
name: ${STACK_NAME}_mila_${MILA_CONFIG_VERSION}
file: mila.yaml.tmpl
template_driver: golang

View File

@ -69,7 +69,7 @@ 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=10.0.0+2025.10.2"
- "coop-cloud.${STACK_NAME}.version=10.1.0+2025.10.2"
- "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"

5
icons/mila.svg Normal file
View File

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="100" height="100">
<rect width="100" height="100" rx="12" fill="#4f46e5"/>
<text x="50" y="65" font-family="Arial, sans-serif" font-size="48" font-weight="bold" fill="white" text-anchor="middle">M</text>
</svg>

After

Width:  |  Height:  |  Size: 285 B

49
mila.yaml.tmpl Normal file
View File

@ -0,0 +1,49 @@
version: 1
metadata:
labels:
blueprints.goauthentik.io/instantiate: "true"
name: mila
entries:
- attrs:
access_code_validity: minutes=1
authentication_flow: !Find [authentik_flows.flow, [slug, default-authentication-flow]]
authorization_flow: !Find [authentik_flows.flow, [slug, default-provider-authorization-implicit-consent]]
invalidation_flow: !Find [authentik_flows.flow, [slug, default-provider-invalidation-flow]]
client_id: {{ secret "mila_id" }}
client_secret: {{ secret "mila_secret" }}
client_type: confidential
include_claims_in_id_token: true
issuer_mode: per_provider
redirect_uris:
- matching_mode: strict
url: https://{{ env "MILA_DOMAIN" }}/auth/user/rauthy/callback
name: Mila
property_mappings:
- !Find [authentik_providers_oauth2.scopemapping, [scope_name, openid]]
- !Find [authentik_providers_oauth2.scopemapping, [scope_name, email]]
- !Find [authentik_providers_oauth2.scopemapping, [scope_name, profile]]
signing_key: !Find [authentik_crypto.certificatekeypair, [name, authentik Self-signed Certificate]]
sub_mode: hashed_user_id
token_validity: days=30
conditions: []
id: mila_provider
identifiers:
pk: 9990
model: authentik_providers_oauth2.oauth2provider
state: present
- attrs:
meta_launch_url: https://{{ env "MILA_DOMAIN" }}
open_in_new_tab: true
policy_engine_mode: any
provider: !KeyOf mila_provider
slug: mila
conditions: []
id: mila_application
identifiers:
name: Mila
model: authentik_core.application
state: present