ansible-base/roles/mas/tasks/main.json
2024-10-17 19:29:32 +02:00

98 lines
2.1 KiB
JSON

[
{
"name": "user",
"become": true,
"ansible.builtin.user": {
"name": "{{var_mas_user}}",
"create_home": true,
"home": "{{var_mas_directory}}"
}
},
{
"name": "directories",
"become": true,
"loop": [
"{{var_mas_directory}}/conf.d",
"{{var_mas_directory}}/conf.d/providers",
"{{var_mas_directory}}/conf.d/clients",
"{{var_mas_directory}}/secrets",
"{{var_mas_directory}}/scripts"
],
"ansible.builtin.file": {
"state": "directory",
"owner": "{{var_mas_user}}",
"path": "{{item}}"
}
},
{
"name": "download",
"become": true,
"become_user": "{{var_mas_user}}",
"ansible.builtin.get_url": {
"url": "https://github.com/element-hq/matrix-authentication-service/releases/latest/download/mas-cli-x86_64-linux.tar.gz",
"dest": "/tmp/mas.tar.gz"
}
},
{
"name": "extract",
"become": true,
"become_user": "{{var_mas_user}}",
"ansible.builtin.unarchive": {
"remote_src": true,
"src": "/tmp/mas.tar.gz",
"dest": "{{var_mas_directory}}",
"owner": "{{var_mas_user}}"
}
},
{
"name": "configuration | compose script",
"become": true,
"ansible.builtin.copy": {
"src": "conf-compose.py",
"dest": "/usr/local/bin/mas-conf-compose",
"mode": "0555"
}
},
{
"name": "configuration | private key",
"become": true,
"become_user": "{{var_mas_user}}",
"community.crypto.openssl_privatekey": {
"curve": "secp384r1",
"path": "{{var_mas_directory}}/secrets/private_key.pem"
}
},
{
"name": "configuration | base",
"become": true,
"become_user": "{{var_mas_user}}",
"ansible.builtin.template": {
"src": "config-base.json.j2",
"dest": "{{var_mas_directory}}/conf.d/base.json"
}
},
{
"name": "configuration | apply",
"become": true,
"ansible.builtin.command": {
"cmd": "/usr/local/bin/mas-conf-compose"
}
},
{
"name": "systemd unit",
"become": true,
"ansible.builtin.template": {
"src": "systemd_unit.j2",
"dest": "/etc/systemd/system/mas.service"
}
},
{
"name": "run",
"become": true,
"ansible.builtin.systemd_service": {
"name": "mas",
"enabled": true,
"state": "restarted"
}
}
]