ansible-base/roles/mautrix_signal/tasks/main.json

133 lines
3.4 KiB
JSON
Raw Normal View History

[
{
"name": "show vars",
"when": "switch_show_vars",
"ansible.builtin.debug": {
"var": "vars.cfg_mautrix_signal"
}
},
{
"name": "user",
"become": true,
"ansible.builtin.user": {
"name": "{{cfg_mautrix_signal.user_name}}",
"create_home": true,
"home": "{{cfg_mautrix_signal.directory}}"
}
},
{
"name": "fetch",
"ansible.builtin.block": [
{
"name": "download",
"ansible.builtin.get_url": {
"url": "https://mau.dev/mautrix/signal/-/jobs/artifacts/main/download?job=build%20amd64",
"dest": "/tmp/mautrix-signal.zip"
}
},
{
"name": "unpack",
"ansible.builtin.unarchive": {
"remote_src": true,
"src": "/tmp/mautrix-signal.zip",
"dest": "{{cfg_mautrix_signal.directory}}"
}
}
]
},
{
"name": "conf",
"ansible.builtin.block": [
{
"name": "conf | base",
"become": true,
"become_user": "{{cfg_mautrix_signal.user_name}}",
"ansible.builtin.template": {
"src": "config.yaml.j2",
"dest": "{{cfg_mautrix_signal.directory}}/config.yaml"
}
},
{
"name": "conf | appservice registration | generate",
"become": true,
"become_user": "{{cfg_mautrix_signal.user_name}}",
"ansible.builtin.command": {
"chdir": "{{cfg_mautrix_signal.directory}}",
"cmd": "./mautrix-signal --generate-registration --config {{cfg_mautrix_signal.directory}}/config.yaml --registration /tmp/registration.yaml"
}
},
{
"name": "conf | appservice registration | adjust",
"become": true,
"ansible.builtin.file": {
"path": "/tmp/registration.yaml",
"dest": "{{cfg_mautrix_signal.directory}}/registration.yaml",
"owner": "{{cfg_mautrix_signal.homeserver.user_name}}"
}
}
]
},
{
"name": "matrix homeserver",
"ansible.builtin.block": [
{
"name": "matrix homeserver | appservice directory",
"become": true,
"ansible.builtin.file": {
"mode": "directory",
"path": "{{cfg_mautrix_signal.homeserver.appservices_directory}}",
"owner": "{{cfg_mautrix_signal.homeserver.user_name}}"
}
},
{
"name": "matrix homeserver | insert appservice registration | copy to destination",
"become": true,
"ansible.builtin.copy": {
"remote_src": true,
"src": "{{cfg_mautrix_signal.directory}}/registration.yaml",
"dest": "{{cfg_mautrix_signal.homeserver.appservices_directory}}/bridge-mautrix-signal.yaml",
"owner": "{{cfg_mautrix_signal.homeserver.user_name}}"
}
},
{
"name": "matrix homeserver | insert appservice registration | delete source",
"become": true,
"ansible.builtin.file": {
"mode": "absent",
"path": "{{cfg_mautrix_signal.directory}}/registration.yaml"
}
},
{
"become": true,
"ansible.builtin.template": {
"src": "matrix-appservice.yaml.j2",
"dest": "{{cfg_mautrix_signal.homeserver.conf_directory}}/bridge-mautrix-signal.yaml",
"owner": "{{cfg_mautrix_signal.homeserver.user_name}}"
}
}
]
},
{
"name": "service",
"ansible.builtin.block": [
{
"name": "service | define",
"become": true,
"ansible.builtin.template": {
"src": "systemd-unit.j2",
"dest": "/etc/systemd/system/mautrix-signal.service"
}
},
{
"name": "service | start",
"become": true,
"ansible.builtin.systemd_service": {
"enabled": true,
"state": "started",
"name": "mautrix-signal"
}
}
]
}
]