|
25 | 25 |
|
26 | 26 | $etc_directory = $openvpn::etc_directory |
27 | 27 |
|
| 28 | + $revocation_command = $openvpn::easyrsa_version ? { |
| 29 | + '2.0' => ". ./vars && ./revoke-full ${name}; echo \"exit $?\" | grep -qE '(error 23|exit (0|2))' && touch revoked/${name}", |
| 30 | + '3.0' => ". ./vars && ./easyrsa revoke --batch ${name}; echo \"exit $?\" | grep -qE '(error 23|exit (0|2))' && touch revoked/${name}", |
| 31 | + } |
| 32 | + |
| 33 | + $renew_command = $openvpn::easyrsa_version ? { |
| 34 | + '2.0' => ". ./vars && KEY_CN='' KEY_OU='' KEY_NAME='' KEY_ALTNAMES='' openssl ca -gencrl -out ${openvpn::etc_directory}/openvpn/${name}/crl.pem -config ${openvpn::etc_directory}/openvpn/${name}/easy-rsa/openssl.cnf", |
| 35 | + '3.0' => ". ./vars && EASYRSA_REQ_CN='' EASYRSA_REQ_OU='' openssl ca -gencrl -out ${etc_directory}/openvpn/${name}/crl.pem -config ${etc_directory}/openvpn/${name}/easy-rsa/openssl.cnf", |
| 36 | + default => fail("unexepected value for EasyRSA version, got '${openvpn::easyrsa_version}', expect 2.0 or 3.0."), |
| 37 | + } |
| 38 | + |
28 | 39 | exec { "revoke certificate for ${name} in context of ${server}": |
29 | | - command => ". ./vars && ./revoke-full ${name}; echo \"exit $?\" | grep -qE '(error 23|exit (0|2))' && touch revoked/${name}", |
| 40 | + command => $revocation_command, |
30 | 41 | cwd => "${etc_directory}/openvpn/${server}/easy-rsa", |
31 | 42 | creates => "${etc_directory}/openvpn/${server}/easy-rsa/revoked/${name}", |
32 | 43 | provider => 'shell', |
| 44 | + notify => Exec["renew crl.pem for ${name}"], |
| 45 | + } |
| 46 | + |
| 47 | + exec { "renew crl.pem on ${name}": |
| 48 | + command => $renew_command, |
| 49 | + cwd => "${openvpn::etc_directory}/openvpn/${name}/easy-rsa", |
| 50 | + provider => 'shell', |
| 51 | + schedule => "renew crl.pem schedule on ${name}", |
33 | 52 | } |
34 | 53 | } |
0 commit comments