2023-11-20 02:07:08 +01:00
|
|
|
[
|
|
|
|
{
|
|
|
|
"name": "install packages",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.apt": {
|
|
|
|
"pkg": [
|
2023-11-29 16:52:23 +01:00
|
|
|
"openssl",
|
2023-11-20 02:07:08 +01:00
|
|
|
"python3-cryptography"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
2023-11-22 15:20:34 +01:00
|
|
|
"name": "setup directories | keys",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.file": {
|
|
|
|
"state": "directory",
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/private"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "setup directories | certs",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.file": {
|
|
|
|
"state": "directory",
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/certs"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "setup directories | csr",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.file": {
|
|
|
|
"state": "directory",
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/csr"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "setup directories | fullchains",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.file": {
|
|
|
|
"state": "directory",
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/fullchains"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "csr | generate private key",
|
2023-11-20 02:07:08 +01:00
|
|
|
"become": true,
|
|
|
|
"community.crypto.openssl_privatekey": {
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/private/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem"
|
|
|
|
}
|
|
|
|
},
|
2023-11-22 15:20:34 +01:00
|
|
|
{
|
|
|
|
"name": "csr | execute",
|
|
|
|
"become": true,
|
|
|
|
"community.crypto.openssl_csr": {
|
|
|
|
"privatekey_path": "{{var_tlscert_selfsigned_ssl_directory}}/private/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem",
|
|
|
|
"common_name": "{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}",
|
|
|
|
"subject_alt_name": [
|
|
|
|
"DNS:{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}"
|
|
|
|
],
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/csr/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem"
|
|
|
|
},
|
|
|
|
"register": "temp_csr"
|
|
|
|
},
|
2023-11-20 02:07:08 +01:00
|
|
|
{
|
|
|
|
"name": "generate certificate",
|
|
|
|
"become": true,
|
|
|
|
"community.crypto.x509_certificate": {
|
|
|
|
"privatekey_path": "{{var_tlscert_selfsigned_ssl_directory}}/private/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem",
|
2023-11-22 15:20:34 +01:00
|
|
|
"csr_path": "{{var_tlscert_selfsigned_ssl_directory}}/csr/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem",
|
2023-11-20 02:07:08 +01:00
|
|
|
"provider": "selfsigned",
|
|
|
|
"path": "{{var_tlscert_selfsigned_ssl_directory}}/certs/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem"
|
|
|
|
}
|
2023-11-22 15:20:34 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"name": "compose fullchain",
|
|
|
|
"become": true,
|
|
|
|
"ansible.builtin.shell": {
|
|
|
|
"cmd": "cat {{var_tlscert_selfsigned_ssl_directory}}/certs/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem > {{var_tlscert_selfsigned_ssl_directory}}/fullchains/{{var_tlscert_selfsigned_domain_path}}.{{var_tlscert_selfsigned_domain_base}}.pem"
|
|
|
|
}
|
2023-11-20 02:07:08 +01:00
|
|
|
}
|
|
|
|
]
|