92 lines
2.5 KiB
JSON
92 lines
2.5 KiB
JSON
![]() |
[
|
||
|
{
|
||
|
"name": "packages",
|
||
|
"become": true,
|
||
|
"ansible.builtin.apt": {
|
||
|
"state": "present",
|
||
|
"pkg": [
|
||
|
"openssl"
|
||
|
]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"name": "create signing request",
|
||
|
"community.crypto.openssl_csr": {
|
||
|
"state": "present",
|
||
|
"common_name": "{{var_acme_domain_path}}.{{var_acme_domain_base}}",
|
||
|
"path": "{{var_acme_ssl_directory}}/csr/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem"
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"name": "init",
|
||
|
"community.crypto.acme_certificate": {
|
||
|
"acme_version": 1,
|
||
|
"account_email": "{{var_acme_acme_account_email}}",
|
||
|
"path": "{{var_acme_ssl_directory}}/csr/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem",
|
||
|
"challenge": "dns-01",
|
||
|
"dest": "{{var_acme_ssl_directory}}/certs/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem",
|
||
|
"fullchain_dest": "{{var_acme_ssl_directory}}/fullchains/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem"
|
||
|
},
|
||
|
"register": "temp_acme_data"
|
||
|
},
|
||
|
{
|
||
|
"name": "dns challenge | login",
|
||
|
"ansible.builtin.uri": {
|
||
|
"url": "https://api.domrobot.com/jsonrpc/",
|
||
|
"method": "POST",
|
||
|
"headers": {
|
||
|
"Content-Type": "application/json"
|
||
|
},
|
||
|
"body_format": "json",
|
||
|
"body": {
|
||
|
"method": "account.login",
|
||
|
"params": {
|
||
|
"user": "{{var_acme_inwx_username}}",
|
||
|
"pass": "{{var_acme_inwx_password}}"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"register": "temp_inwx_login_result"
|
||
|
},
|
||
|
{
|
||
|
"name": "dns challenge | execute",
|
||
|
"ansible.builtin.uri": {
|
||
|
"url": "https://api.domrobot.com/jsonrpc/",
|
||
|
"method": "POST",
|
||
|
"headers": {
|
||
|
"Content-Type": "application/json",
|
||
|
"Cookie": "{{var_acme_temp_inwx_login_result._accesstoken}}"
|
||
|
},
|
||
|
"body_format": "json",
|
||
|
"body": {
|
||
|
"method": "nameserver.updateRecord",
|
||
|
"params": {
|
||
|
"domain": "{{var_acme_domain_base}}",
|
||
|
"name": "_acme_challenge.{{var_acme_domain_path}}",
|
||
|
"type": "TXT",
|
||
|
"content": "{{var_acme_temp_acme_data.challenge_data['sample.com']['dns-01'].record}}"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"name": "dns challenge | wait",
|
||
|
"ansible.builtin.pause": {
|
||
|
"second": 60
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
"name": "finalize",
|
||
|
"community.crypto.acme_certificate": {
|
||
|
"data": "{{var_acme_temp_acme_data}}",
|
||
|
"acme_version": 1,
|
||
|
"account_email": "{{var_acme_acme_account_email}}",
|
||
|
"path": "{{var_acme_ssl_directory}}/csr/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem",
|
||
|
"challenge": "dns-01",
|
||
|
"dest": "{{var_acme_ssl_directory}}/certs/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem",
|
||
|
"fullchain_dest": "{{var_acme_ssl_directory}}/fullchains/{{var_acme_domain_path}}.{{var_acme_domain_base}}.pem"
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
|