Compare commits
2 commits
3eab5611fd
...
7708011fc4
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7708011fc4 | ||
![]() |
8ba5c929ac |
7 changed files with 205 additions and 3 deletions
|
@ -11,5 +11,11 @@
|
||||||
"var_zeitbild_backend_database_data_postgresql_port": 5432,
|
"var_zeitbild_backend_database_data_postgresql_port": 5432,
|
||||||
"var_zeitbild_backend_database_data_postgresql_username": "zeitbild_user",
|
"var_zeitbild_backend_database_data_postgresql_username": "zeitbild_user",
|
||||||
"var_zeitbild_backend_database_data_postgresql_password": "REPLACE_ME",
|
"var_zeitbild_backend_database_data_postgresql_password": "REPLACE_ME",
|
||||||
"var_zeitbild_backend_database_data_postgresql_schema": "zeitbild"
|
"var_zeitbild_backend_database_data_postgresql_schema": "zeitbild",
|
||||||
|
"var_zeitbild_backend_authentication_kind": "internal",
|
||||||
|
"var_zeitbild_backend_authentication_data_authelia_url_base": "https://authelia.example.org",
|
||||||
|
"var_zeitbild_backend_authentication_data_authelia_client_id": "zeitbild",
|
||||||
|
"var_zeitbild_backend_authentication_data_authelia_client_secret": "REPLACE_ME",
|
||||||
|
"var_zeitbild_backend_authentication_data_authelia_label": "Authelia",
|
||||||
|
"var_zeitbild_backend_authentication_data_authelia_backend_url_base": "https://zeitbild.example.org/"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,60 @@
|
||||||
{}
|
{
|
||||||
|
"version": 1,
|
||||||
|
"log": [
|
||||||
|
{
|
||||||
|
"kind": "stdout",
|
||||||
|
"data": {
|
||||||
|
"threshold": "info"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"server": {
|
||||||
|
"address": {{var_zeitbild_backend_address}},
|
||||||
|
"port": {{var_zeitbild_backend_port | string}}
|
||||||
|
},
|
||||||
|
{% if var_zeitbild_backend_database_kind == 'sqlite' %}
|
||||||
|
"database": {
|
||||||
|
"kind": "sqlite",
|
||||||
|
"data": {
|
||||||
|
"path": "data.sqlite"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{% endif %}
|
||||||
|
{% if var_zeitbild_backend_database_kind == 'postgresql' %}
|
||||||
|
"database": {
|
||||||
|
"kind": "postgresql",
|
||||||
|
"data": {
|
||||||
|
"host": "{{var_zeitbild_backend_database_data_postgresql_host}}"
|
||||||
|
"port": "{{var_zeitbild_backend_database_data_postgresql_port | string}}",
|
||||||
|
"username": "{{var_zeitbild_backend_database_data_postgresql_username}}",
|
||||||
|
"password": "{{var_zeitbild_backend_database_data_postgresql_password}}"
|
||||||
|
"schema": "{{var_zeitbild_backend_database_data_postgresql_schema}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{% endif %}
|
||||||
|
{% if var_zeitbild_backend_authentication_kind == 'internal' %}
|
||||||
|
"authentication": {
|
||||||
|
"kind": "internal",
|
||||||
|
"data": {}
|
||||||
|
},
|
||||||
|
{% endif %}
|
||||||
|
{% if var_zeitbild_backend_authentication_kind == 'authelia' %}
|
||||||
|
"authentication": {
|
||||||
|
"kind": "oidc",
|
||||||
|
"data": {
|
||||||
|
"url_authorization": "{{var_zeitbild_backend_authentication_data_authelia_url_base}}/api/oidc/authorization",
|
||||||
|
"url_token": "{{var_zeitbild_backend_authentication_data_authelia_url_base}}/api/oidc/token",
|
||||||
|
"url_userinfo": "{{var_zeitbild_backend_authentication_data_authelia_url_base}}/api/oidc/userinfo",
|
||||||
|
"client_id": "{{var_zeitbild_backend_authentication_data_authelia_client_id}}",
|
||||||
|
"client_secret": "{{var_zeitbild_backend_authentication_data_authelia_client_secret}}",
|
||||||
|
"backend_url_base": "{{var_zeitbild_backend_authentication_data_authelia_backend_url_base}}",
|
||||||
|
"label": "{{var_zeitbild_backend_authentication_data_authelia_provider_name}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{% endif %}
|
||||||
|
"session_management": {
|
||||||
|
"in_memory": false,
|
||||||
|
"lifetime": 3600,
|
||||||
|
"drop_all_at_start": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -60,5 +60,29 @@
|
||||||
"database_data_postgresql_schema": {
|
"database_data_postgresql_schema": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"mandatory": false
|
"mandatory": false
|
||||||
}
|
},
|
||||||
|
"authentication_kind": {
|
||||||
|
"type": "string",
|
||||||
|
"options": [
|
||||||
|
"internal",
|
||||||
|
"authelia"
|
||||||
|
],
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"authentication_data_authelia_url_base": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"authentication_data_authelia_client_id": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"authentication_data_authelia_client_secret": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"authentication_data_authelia_label": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
11
roles/zeitbild_frontend_dali/defaults/main.json
Normal file
11
roles/zeitbild_frontend_dali/defaults/main.json
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"var_zeitbild_frontend_dali_git_reference": "master",
|
||||||
|
"var_zeitbild_frontend_dali_directory": "/opt/dali",
|
||||||
|
"var_zeitbild_frontend_dali_user": "root",
|
||||||
|
"var_zeitbild_frontend_dali_title": "Dali",
|
||||||
|
"var_zeitbild_frontend_dali_backend_scheme": "https",
|
||||||
|
"var_zeitbild_frontend_dali_backend_host": "zeitbild.example.org",
|
||||||
|
"var_zeitbild_frontend_dali_backend_port": 7845,
|
||||||
|
"var_zeitbild_frontend_dali_backend_path_base": "",
|
||||||
|
"var_zeitbild_frontend_dali_url_base": "https://dali.example.org"
|
||||||
|
}
|
52
roles/zeitbild_frontend_dali/tasks/main.json
Normal file
52
roles/zeitbild_frontend_dali/tasks/main.json
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "packages",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.apt": {
|
||||||
|
"update_cache": true,
|
||||||
|
"pkg": [
|
||||||
|
"git",
|
||||||
|
"make"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "directory",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.file": {
|
||||||
|
"state": "directory",
|
||||||
|
"owner": "{{var_zeitbild_frontend_dali_user}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | fetch",
|
||||||
|
"ansible.builtin.git": {
|
||||||
|
"repo": "https://forgejo.linke.sx/zeitbild/frontend",
|
||||||
|
"version": "{{var_zeitbild_frontend_dali_git_reference}}",
|
||||||
|
"dest": "/tmp/zeitbild-frontend-dali-repo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | build",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/tmp/zeitbild-frontend-dali-repo",
|
||||||
|
"cmd": "tools/build"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | deploy",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.shell": {
|
||||||
|
"cmd": "cp --recursive --update /tmp/zeitbild-frontend-dali-repo/build/* {{var_zeitbild_frontend_dali_directory}}/ && chown --recursive {{var_zeitbild_frontend_dali_user}} {{var_zeitbild_frontend_dali_directory}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "conf",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "conf.json.j2",
|
||||||
|
"dest": "{{var_zeitbild_frontend_dali_directory}}/conf.json",
|
||||||
|
"owner": "{{var_zeitbild_frontend_dali_user}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
12
roles/zeitbild_frontend_dali/templates/conf.json.j2
Normal file
12
roles/zeitbild_frontend_dali/templates/conf.json.j2
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"backend": {
|
||||||
|
"scheme": "{{var_zeitbild_frontend_dali_backend_scheme}}",
|
||||||
|
"host": "{{var_zeitbild_frontend_dali_backend_host}}",
|
||||||
|
"port": {{var_zeitbild_frontend_dali_backend_port | string}},
|
||||||
|
"path": "{{var_zeitbild_frontend_dali_backend_path_base}}"
|
||||||
|
},
|
||||||
|
"misc": {
|
||||||
|
"oidc_redirect_uri_template": "{{var_zeitbild_frontend_dali_url_base}}/#oidc_finish,session_key={% raw %}{{session_key}}{% endraw %}"
|
||||||
|
}
|
||||||
|
}
|
38
roles/zeitbild_frontend_dali/vardef.json
Normal file
38
roles/zeitbild_frontend_dali/vardef.json
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
{
|
||||||
|
"git_reference": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"directory": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"backend_scheme": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"backend_host": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"backend_port": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"backend_path_base": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"url_base": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue