diff --git a/roles/zeitbild_frontend_dali/defaults/main.json b/roles/zeitbild_frontend_dali/defaults/main.json new file mode 100644 index 0000000..43ef539 --- /dev/null +++ b/roles/zeitbild_frontend_dali/defaults/main.json @@ -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" +} diff --git a/roles/zeitbild_frontend_dali/tasks/main.json b/roles/zeitbild_frontend_dali/tasks/main.json new file mode 100644 index 0000000..48db090 --- /dev/null +++ b/roles/zeitbild_frontend_dali/tasks/main.json @@ -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}}" + } + } +] diff --git a/roles/zeitbild_frontend_dali/templates/conf.json.j2 b/roles/zeitbild_frontend_dali/templates/conf.json.j2 new file mode 100644 index 0000000..56cd6b7 --- /dev/null +++ b/roles/zeitbild_frontend_dali/templates/conf.json.j2 @@ -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 %}" + } +} diff --git a/roles/zeitbild_frontend_dali/vardef.json b/roles/zeitbild_frontend_dali/vardef.json new file mode 100644 index 0000000..5a9e915 --- /dev/null +++ b/roles/zeitbild_frontend_dali/vardef.json @@ -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 + } +}