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

96 lines
2.3 KiB
JSON
Raw Permalink Normal View History

2023-11-20 02:07:08 +01:00
[
{
"name": "packages",
"become": true,
"ansible.builtin.apt": {
"update_cache": true,
2023-11-20 02:07:08 +01:00
"pkg": [
2023-11-29 16:52:23 +01:00
"openssl",
2024-06-03 23:54:59 +02:00
"python3-cryptography",
"certbot"
2023-11-20 02:07:08 +01:00
]
}
},
{
2024-06-03 23:54:59 +02:00
"name": "directories",
2023-11-20 02:07:08 +01:00
"become": true,
"loop": [
"{{var_tlscert_acme_inwx_ssl_directory}}/private",
"{{var_tlscert_acme_inwx_ssl_directory}}/csr",
"{{var_tlscert_acme_inwx_ssl_directory}}/certs",
2024-06-03 23:54:59 +02:00
"{{var_tlscert_acme_inwx_ssl_directory}}/chains",
"{{var_tlscert_acme_inwx_ssl_directory}}/fullchains"
],
2023-11-20 02:07:08 +01:00
"ansible.builtin.file": {
"state": "directory",
"path": "{{item}}"
2023-11-20 02:07:08 +01:00
}
},
{
2024-06-03 23:54:59 +02:00
"name": "tools | inwx",
2023-11-20 16:01:49 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.copy": {
"src": "inwx",
"dest": "/usr/local/bin/inwx",
"mode": "a+x"
2023-11-20 16:01:49 +01:00
}
},
{
2024-06-03 23:54:59 +02:00
"name": "tools | tls-get | script",
2023-11-20 16:01:49 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.copy": {
"src": "tls-get",
"dest": "/usr/local/bin/tls-get",
"mode": "a+x"
2023-11-20 16:01:49 +01:00
}
},
2023-11-20 02:07:08 +01:00
{
2024-06-03 23:54:59 +02:00
"name": "tools | tls-get | conf",
2023-11-20 02:07:08 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.template": {
"src": "tls-get-conf.json.j2",
"dest": "/root/.tls-get-conf.json"
2023-11-20 02:07:08 +01:00
}
},
2023-11-20 16:01:49 +01:00
{
2024-06-03 23:54:59 +02:00
"name": "tools | pseudo queue | setup",
2023-11-20 16:01:49 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.cron": {
"state": "present",
"disabled": false,
"name": "pseudo queue",
"special_time": "reboot",
"job": "bash -c \"(test -p /var/pseudoqueue || mkfifo --mode=0600 /var/pseudoqueue) && (while true ; do bash < /var/pseudoqueue ; done)\""
2023-11-20 16:01:49 +01:00
}
},
2023-11-20 02:07:08 +01:00
{
2024-06-03 23:54:59 +02:00
"name": "tools | pseudo queue | run",
2023-11-20 02:07:08 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.shell": {
"cmd": "bash -c \"test -p /var/pseudoqueue || (mkfifo --mode=0600 /var/pseudoqueue && (while true ; do bash < /var/pseudoqueue ; done))\" &"
2023-11-20 02:07:08 +01:00
}
},
{
2024-06-03 23:54:59 +02:00
"name": "setup auto renewal",
"become": true,
"ansible.builtin.cron": {
"state": "present",
"disabled": false,
"name": "TLS certificate for {{var_tlscert_acme_inwx_domain}}",
"minute": "0",
"hour": "2",
"day": "1",
"month": "*",
"weekday": "*",
"job": "echo '/usr/local/bin/tls-get {{var_tlscert_acme_inwx_domain}} --conf-path=/root/.tls-get-conf.json --target-directory={{var_tlscert_acme_inwx_ssl_directory}}' > /var/pseudoqueue"
2023-11-20 02:07:08 +01:00
}
},
{
2024-06-03 23:54:59 +02:00
"name": "run",
2023-11-20 02:07:08 +01:00
"become": true,
2024-06-03 23:54:59 +02:00
"ansible.builtin.shell": {
"cmd": "/usr/local/bin/tls-get {{var_tlscert_acme_inwx_domain}} --conf-path=/root/.tls-get-conf.json --target-directory={{var_tlscert_acme_inwx_ssl_directory}}"
2023-11-20 02:07:08 +01:00
}
}
]