52 lines
2.0 KiB
YAML
52 lines
2.0 KiB
YAML
---
|
|
# ──────────────────────────────────────────────────────────────────────────────
|
|
# FILE: roles/authentik/tasks/main.yml
|
|
# DESCRIPTION: Deploys Authentik from boilerplate-generated files in the repo.
|
|
# The compose.yaml lives in boilerplates/authentik/.
|
|
# The .env file is templated to inject secrets from Ansible vault.
|
|
# Custom blueprints are synced from boilerplates/authentik/blueprints/.
|
|
# ──────────────────────────────────────────────────────────────────────────────
|
|
|
|
- name: Create Authentik directory structure
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ ansible_user }}"
|
|
group: docker
|
|
mode: '0775'
|
|
loop:
|
|
- "{{ authentik_base_dir }}"
|
|
- "{{ authentik_base_dir }}/blueprints"
|
|
|
|
- name: Copy compose.yaml from boilerplate
|
|
ansible.builtin.copy:
|
|
src: "{{ playbook_dir }}/../../boilerplates/authentik/compose.yaml"
|
|
dest: "{{ authentik_base_dir }}/compose.yaml"
|
|
owner: "{{ ansible_user }}"
|
|
group: docker
|
|
mode: '0644'
|
|
notify: restart authentik
|
|
|
|
- name: Sync custom blueprints
|
|
ansible.builtin.copy:
|
|
src: "{{ playbook_dir }}/../../boilerplates/authentik/blueprints/"
|
|
dest: "{{ authentik_base_dir }}/blueprints/"
|
|
owner: "{{ ansible_user }}"
|
|
group: docker
|
|
mode: '0644'
|
|
notify: restart authentik
|
|
|
|
- name: Deploy .env with secrets from vault
|
|
ansible.builtin.template:
|
|
src: env.j2
|
|
dest: "{{ authentik_base_dir }}/.env"
|
|
owner: "{{ ansible_user }}"
|
|
group: docker
|
|
mode: '0600'
|
|
notify: restart authentik
|
|
|
|
- name: Start Authentik
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ authentik_base_dir }}"
|
|
state: present
|