[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