ovh.toml 2.5 KB

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