ovh.toml raw
1 Name = "OVH"
2 Description = ''''''
3 URL = "https://www.ovh.com/"
4 Code = "ovh"
5 Since = "v0.4.0"
6
7 Example = '''
8 # Application Key authentication:
9
10 OVH_APPLICATION_KEY=1234567898765432 \
11 OVH_APPLICATION_SECRET=b9841238feb177a84330febba8a832089 \
12 OVH_CONSUMER_KEY=256vfsd347245sdfg \
13 OVH_ENDPOINT=ovh-eu \
14 lego --dns ovh -d '*.example.com' -d example.com run
15
16 # Or Access Token:
17
18 OVH_ACCESS_TOKEN=xxx \
19 OVH_ENDPOINT=ovh-eu \
20 lego --dns ovh -d '*.example.com' -d example.com run
21
22 # Or OAuth2:
23
24 OVH_CLIENT_ID=yyy \
25 OVH_CLIENT_SECRET=xxx \
26 OVH_ENDPOINT=ovh-eu \
27 lego --dns ovh -d '*.example.com' -d example.com run
28 '''
29
30 Additional = '''
31 ## Application Key and Secret
32
33 Application key and secret can be created by following the [OVH guide](https://docs.ovh.com/gb/en/customer/first-steps-with-ovh-api/).
34
35 When requesting the consumer key, the following configuration can be used to define access rights:
36
37 ```json
38 {
39 "accessRules": [
40 {
41 "method": "POST",
42 "path": "/domain/zone/*"
43 },
44 {
45 "method": "DELETE",
46 "path": "/domain/zone/*"
47 }
48 ]
49 }
50 ```
51
52 ## OAuth2 Client Credentials
53
54 Another method for authentication is by using OAuth2 client credentials.
55
56 An IAM policy and service account can be created by following the [OVH guide](https://help.ovhcloud.com/csm/en-manage-service-account?id=kb_article_view&sysparm_article=KB0059343).
57
58 Following IAM policies need to be authorized for the affected domain:
59
60 * dnsZone:apiovh:record/create
61 * dnsZone:apiovh:record/delete
62 * dnsZone:apiovh:refresh
63
64 ## Important Note
65
66 Both authentication methods cannot be used at the same time.
67 '''
68
69 [Configuration]
70 [Configuration.Credentials]
71 OVH_ENDPOINT = "Endpoint URL (ovh-eu or ovh-ca)"
72 OVH_APPLICATION_KEY = "Application key (Application Key authentication)"
73 OVH_APPLICATION_SECRET = "Application secret (Application Key authentication)"
74 OVH_CONSUMER_KEY = "Consumer key (Application Key authentication)"
75 OVH_CLIENT_ID = "Client ID (OAuth2)"
76 OVH_CLIENT_SECRET = "Client secret (OAuth2)"
77 OVH_ACCESS_TOKEN = "Access token"
78 [Configuration.Additional]
79 OVH_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
80 OVH_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 60)"
81 OVH_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
82 OVH_HTTP_TIMEOUT = "API request timeout in seconds (Default: 180)"
83
84 [Links]
85 API = "https://eu.api.ovh.com/"
86 GoClient = "https://github.com/ovh/go-ovh"
87