Each of the five roles touched in this branch now ships: * meta/argument_specs.yml: typed schema for every variable in defaults/main.yml plus the optional inputs surfaced via this branch (traefik_extra_hosts, authentik_host_rewrite_domains, authentik_proxy_apps.mode / .allowed_groups, drawio_extra_domains, drawio_authentik_forward_auth*, garage_webui_authentik_forward_auth*). All five specs load cleanly through ansible-core's ArgumentSpecValidator. * README.md: replaces the ansible-galaxy boilerplate (where it was still in place) with a focused write-up — service vars, required secrets, ForwardAuth/idempotency notes, dependencies, and a working example playbook. authentik and garage READMEs are rewritten to cover the new knobs while preserving their existing content. |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| tests | ||
| vars | ||
| README.md | ||
Drawio
Ansible role to deploy draw.io (the
self-hosted jgraph/drawio container) via Docker Compose behind
Traefik, with optional authentik ForwardAuth gating.
Requirements
- Docker and Docker Compose installed on the target host
- Ansible collection:
community.docker - Traefik with a shared
drawio_traefik_network(defaultproxy) - For ForwardAuth: a reachable authentik embedded outpost endpoint
Role variables
Full spec with types and defaults: meta/argument_specs.yml. The most
common overrides:
Service
drawio_domain: canonical hostname used in the traefik Host rule (defaultdrawio.local.test).drawio_extra_domains: additional hostnames the same container should answer on (e.g. an internal*.int.*FQDN so a DMZ proxy can reach drawio via a backend hostname).drawio_image,drawio_port,drawio_use_ssl.
Authentik ForwardAuth
drawio_authentik_forward_auth: set totrueto gate the editor behind authentik.drawio_authentik_forward_auth_url: full URL of the embedded outpost ForwardAuth endpoint, e.g.https://auth.example.com/outpost.goauthentik.io/auth/traefik.
When enabled, traefik redirects unauthenticated requests to authentik
for login and forwards the resulting X-Authentik-* identity headers
downstream.
Dependencies
- Traefik network (
drawio_traefik_network, defaultproxy) - Optional: authentik with a Proxy/ForwardAuth provider for drawio
(see the
authentikrole'sauthentik_proxy_apps).
Example playbook
- hosts: app_servers
roles:
- role: digitalboard.core.drawio
vars:
drawio_domain: "drawio.example.com"
drawio_authentik_forward_auth: true
drawio_authentik_forward_auth_url: "https://auth.example.com/outpost.goauthentik.io/auth/traefik"
License
MIT-0