]> git.street.me.uk Git - andy/dehydrated.git/blob - docs/examples/hook.sh.example
3381682dae3968deaab3fedc4afcfab39ec330f6
[andy/dehydrated.git] / docs / examples / hook.sh.example
1 #!/usr/bin/env bash
2
3 function deploy_challenge {
4     local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
5
6     # This hook is called once for every domain that needs to be
7     # validated, including any alternative names you may have listed.
8     #
9     # Parameters:
10     # - DOMAIN
11     #   The domain name (CN or subject alternative name) being
12     #   validated.
13     # - TOKEN_FILENAME
14     #   The name of the file containing the token to be served for HTTP
15     #   validation. Should be served by your web server as
16     #   /.well-known/acme-challenge/${TOKEN_FILENAME}.
17     # - TOKEN_VALUE
18     #   The token value that needs to be served for validation. For DNS
19     #   validation, this is what you want to put in the _acme-challenge
20     #   TXT record. For HTTP validation it is the value that is expected
21     #   be found in the $TOKEN_FILENAME file.
22 }
23
24 function clean_challenge {
25     local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
26
27     # This hook is called after attempting to validate each domain,
28     # whether or not validation was successful. Here you can delete
29     # files or DNS records that are no longer needed.
30     #
31     # The parameters are the same as for deploy_challenge.
32 }
33
34 function deploy_cert {
35     local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}"
36
37     # This hook is called once for each certificate that has been
38     # produced. Here you might, for instance, copy your new certificates
39     # to service-specific locations and reload the service.
40     #
41     # Parameters:
42     # - DOMAIN
43     #   The primary domain name, i.e. the certificate common
44     #   name (CN).
45     # - KEYFILE
46     #   The path of the file containing the private key.
47     # - CERTFILE
48     #   The path of the file containing the signed certificate.
49     # - FULLCHAINFILE
50     #   The path of the file containing the full certificate chain.
51     # - CHAINFILE
52     #   The path of the file containing the intermediate certificate(s).
53 }
54
55 function unchanged_cert {
56     local DOMAIN="${1}" KEYFILE="${2}" CERTFILE="${3}" FULLCHAINFILE="${4}" CHAINFILE="${5}"
57
58     # This hook is called once for each certificate that is still
59     # valid and therefore wasn't reissued.
60     #
61     # Parameters:
62     # - DOMAIN
63     #   The primary domain name, i.e. the certificate common
64     #   name (CN).
65     # - KEYFILE
66     #   The path of the file containing the private key.
67     # - CERTFILE
68     #   The path of the file containing the signed certificate.
69     # - FULLCHAINFILE
70     #   The path of the file containing the full certificate chain.
71     # - CHAINFILE
72     #   The path of the file containing the intermediate certificate(s).
73 }
74
75 HANDLER=$1; shift; $HANDLER $@