Migrate services part

This commit is contained in:
Tobias Reisinger 2024-09-27 00:02:36 +02:00
parent 7c59e4ae57
commit 73bce8f6e5
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
157 changed files with 3883 additions and 9 deletions
roles/vikunja

View file

@ -0,0 +1,27 @@
---
- name: Set common facts
ansible.builtin.import_tasks: tasks/set-default-facts.yml
- name: Deploy {{ svc.name }}
vars:
svc: "{{ vikunja_svc }}"
yml: "{{ vikunja_yml }}"
compose: "{{ vikunja_compose }}"
block:
- name: Import prepare tasks for common service
ansible.builtin.import_tasks: tasks/prepare-common-service.yml
- name: Template config
ansible.builtin.template:
src: yml.j2
dest: "{{ (service_path, 'config.yml') | path_join }}"
mode: "0600"
register: cmd_result
- name: Set the docker force-recreate flag
ansible.builtin.set_fact:
docker_force_recreate: --force-recreate
when: cmd_result.changed # noqa: no-handler We need to handle the restart per service. Handlers don't support variables.
- name: Import start tasks for common service
ansible.builtin.import_tasks: tasks/start-common-service.yml

View file

@ -0,0 +1,59 @@
---
vikunja_svc:
domain: todo.serguzim.me
name: vikunja
port: 3456
db:
host: "{{ postgres.host }}"
port: "{{ postgres.port }}"
database: vikunja
user: "{{ vault_vikunja.db.user }}"
pass: "{{ vault_vikunja.db.pass }}"
vikunja_yml:
service:
JWTSecret: "{{ vault_vikunja.jwt_secret }}"
frontendurl: https://{{ svc.domain }}
enableregistration: false
timezone: "{{ timezone }}"
database:
type: postgres
sslmode: verify-full
host: "{{ svc.db.host }}"
database: "{{ svc.db.database }}"
user: "{{ svc.db.user }}"
password: "{{ svc.db.pass }}"
mailer:
enabled: true
host: "{{ mailer.host }}"
port: "{{ mailer.port }}"
username: "{{ vault_vikunja.mailer.user }}"
password: "{{ vault_vikunja.mailer.pass }}"
fromemail: "{{ vault_vikunja.mailer.user }}"
auth:
local:
enabled: false
openid:
enabled: true
providers:
- name: auth.serguzim.me
authurl: https://auth.serguzim.me/application/o/todo-serguzim-me/
logouturl: https://auth.serguzim.me/application/o/todo-serguzim-me/end-session/
clientid: "{{ vault_vikunja.oidc_client.id }}"
clientsecret: "{{ vault_vikunja.oidc_client.secret }}"
metrics:
enabled: true
vikunja_compose:
watchtower: true
image: vikunja/vikunja
volumes:
- data:/app/vikunja/files
- ./config.yml:/app/vikunja/config.yml
file:
volumes:
data: