[add] role:zeitbild_backend
This commit is contained in:
parent
457d5580b8
commit
6f36c11791
5 changed files with 172 additions and 0 deletions
15
roles/zeitbild_backend/defaults/main.json
Normal file
15
roles/zeitbild_backend/defaults/main.json
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"var_zeitbild_backend_directory": "/opt/zeitbild",
|
||||||
|
"var_zeitbild_backend_user": "zeitbild",
|
||||||
|
"var_zeitbild_backend_git_reference": "master",
|
||||||
|
"var_zeitbild_backend_verbosity": "notice",
|
||||||
|
"var_zeitbild_backend_address": "::",
|
||||||
|
"var_zeitbild_backend_port": 7845,
|
||||||
|
"var_zeitbild_backend_database_kind": "sqlite",
|
||||||
|
"var_zeitbild_backend_database_data_sqlite_path": "data.sqlite",
|
||||||
|
"var_zeitbild_backend_database_data_postgresql_host": "postgresql.example.org",
|
||||||
|
"var_zeitbild_backend_database_data_postgresql_port": 5432,
|
||||||
|
"var_zeitbild_backend_database_data_postgresql_username": "zeitbild_user",
|
||||||
|
"var_zeitbild_backend_database_data_postgresql_password": "REPLACE_ME",
|
||||||
|
"var_zeitbild_backend_database_data_postgresql_schema": "zeitbild"
|
||||||
|
}
|
78
roles/zeitbild_backend/tasks/main.json
Normal file
78
roles/zeitbild_backend/tasks/main.json
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "packages",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.apt": {
|
||||||
|
"update_cache": true,
|
||||||
|
"pkg": [
|
||||||
|
"git",
|
||||||
|
"make",
|
||||||
|
"rsync",
|
||||||
|
"nodejs"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "user and directory",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.user": {
|
||||||
|
"name": "{{var_zeitbild_backend_user}}",
|
||||||
|
"create_home": true,
|
||||||
|
"home": "{{var_zeitbild_backend_directory}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | fetch",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_zeitbild_backend_user}}",
|
||||||
|
"ansible.builtin.git": {
|
||||||
|
"repo": "https://forgejo.linke.sx/zeitbild/backend",
|
||||||
|
"version": "{{var_zeitbild_backend_git_reference}}",
|
||||||
|
"dest": "/tmp/zeitbild-backend-repo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | build",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_zeitbild_backend_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/tmp/zeitbild-backend-repo",
|
||||||
|
"cmd": "tools/build"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "program | deploy",
|
||||||
|
"become": true,
|
||||||
|
"become_user": "{{var_zeitbild_backend_user}}",
|
||||||
|
"ansible.builtin.command": {
|
||||||
|
"chdir": "/tmp/zeitbild-backend-repo",
|
||||||
|
"cmd": "tools/deploy localhost --target-directory={{var_zeitbild_backend_directory}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "conf",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "conf.json.j2",
|
||||||
|
"dest": "{{var_zeitbild_backend_directory}}/conf.json",
|
||||||
|
"owner": "{{var_zeitbild_backend_user}}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "systemd unit",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.template": {
|
||||||
|
"src": "systemd_unit.j2",
|
||||||
|
"dest": "/etc/systemd/system/zeitbild.service"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "run",
|
||||||
|
"become": true,
|
||||||
|
"ansible.builtin.systemd_service": {
|
||||||
|
"name": "zeitbild",
|
||||||
|
"enabled": true,
|
||||||
|
"state": "restarted"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
1
roles/zeitbild_backend/templates/conf.json.j2
Normal file
1
roles/zeitbild_backend/templates/conf.json.j2
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{}
|
14
roles/zeitbild_backend/templates/systemd_unit.j2
Normal file
14
roles/zeitbild_backend/templates/systemd_unit.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Zeitbild
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
WorkingDirectory={{var_zeitbild_backend_directory}}
|
||||||
|
ExecStart={{var_zeitbild_backend_directory}}/zeitbild serve
|
||||||
|
Type=simple
|
||||||
|
Restart=always
|
||||||
|
User={{var_zeitbild_backend_user}}
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
RequiredBy=network.target
|
64
roles/zeitbild_backend/vardef.json
Normal file
64
roles/zeitbild_backend/vardef.json
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
{
|
||||||
|
"directory": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"user": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"git_reference": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"verbosity": {
|
||||||
|
"type": "string",
|
||||||
|
"options": [
|
||||||
|
"debug",
|
||||||
|
"info",
|
||||||
|
"notice",
|
||||||
|
"warning",
|
||||||
|
"error"
|
||||||
|
],
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"address": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"port": {
|
||||||
|
"type": "integer",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_kind": {
|
||||||
|
"type": "string",
|
||||||
|
"options": [
|
||||||
|
"sqlite"
|
||||||
|
],
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_sqlite_path": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_postgresql_host": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_postgresql_port": {
|
||||||
|
"type": "integer",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_postgresql_username": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_postgresql_password": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
},
|
||||||
|
"database_data_postgresql_schema": {
|
||||||
|
"type": "string",
|
||||||
|
"mandatory": false
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue