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