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

65 lines
1.5 KiB
JSON
Raw Normal View History

2023-11-20 02:07:08 +01:00
[
{
"name": "install 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",
2023-11-20 02:07:08 +01:00
"python3-cryptography"
]
}
},
{
"name": "setup directories",
2023-11-22 15:20:34 +01:00
"become": true,
"loop": [
"/etc/ssl/private",
"/etc/ssl/csr",
"/etc/ssl/certs",
"/etc/ssl/fullchains"
],
2023-11-22 15:20:34 +01:00
"ansible.builtin.file": {
"state": "directory",
"path": "{{item}}"
2023-11-22 15:20:34 +01:00
}
},
{
"name": "csr | generate private key",
2023-11-20 02:07:08 +01:00
"become": true,
"community.crypto.openssl_privatekey": {
"path": "/etc/ssl/private/{{var_tlscert_selfsigned_domain}}.pem"
2023-11-20 02:07:08 +01:00
}
},
2023-11-22 15:20:34 +01:00
{
"name": "csr | execute",
"become": true,
"community.crypto.openssl_csr": {
"privatekey_path": "/etc/ssl/private/{{var_tlscert_selfsigned_domain}}.pem",
"common_name": "{{var_tlscert_selfsigned_domain}}",
2023-11-22 15:20:34 +01:00
"subject_alt_name": [
"DNS:{{var_tlscert_selfsigned_domain}}"
2023-11-22 15:20:34 +01:00
],
"path": "/etc/ssl/csr/{{var_tlscert_selfsigned_domain}}.pem"
2023-11-22 15:20:34 +01:00
},
"register": "temp_csr"
},
2023-11-20 02:07:08 +01:00
{
"name": "generate certificate",
"become": true,
"community.crypto.x509_certificate": {
"privatekey_path": "/etc/ssl/private/{{var_tlscert_selfsigned_domain}}.pem",
"csr_path": "/etc/ssl/csr/{{var_tlscert_selfsigned_domain}}.pem",
2023-11-20 02:07:08 +01:00
"provider": "selfsigned",
"path": "/etc/ssl/certs/{{var_tlscert_selfsigned_domain}}.pem"
2023-11-20 02:07:08 +01:00
}
2023-11-22 15:20:34 +01:00
},
{
"name": "compose fullchain",
"become": true,
"ansible.builtin.shell": {
"cmd": "cat /etc/ssl/certs/{{var_tlscert_selfsigned_domain}}.pem > /etc/ssl/fullchains/{{var_tlscert_selfsigned_domain}}.pem"
2023-11-22 15:20:34 +01:00
}
2023-11-20 02:07:08 +01:00
}
]