gcloud.toml 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Name = "Google Cloud"
  2. Description = ''''''
  3. URL = "https://cloud.google.com"
  4. Code = "gcloud"
  5. Since = "v0.3.0"
  6. Example = '''
  7. # Using a service account file
  8. GCE_PROJECT="gc-project-id" \
  9. GCE_SERVICE_ACCOUNT_FILE="/path/to/svc/account/file.json" \
  10. lego --email you@example.com --dns gcloud -d '*.example.com' -d example.com run
  11. # Using default credentials with impersonation
  12. GCE_PROJECT="gc-project-id" \
  13. GCE_IMPERSONATE_SERVICE_ACCOUNT="target-sa@gc-project-id.iam.gserviceaccount.com" \
  14. lego --email you@example.com --dns gcloud -d '*.example.com' -d example.com run
  15. # Using service account key with impersonation
  16. GCE_PROJECT="gc-project-id" \
  17. GCE_SERVICE_ACCOUNT_FILE="/path/to/svc/account/file.json" \
  18. GCE_IMPERSONATE_SERVICE_ACCOUNT="target-sa@gc-project-id.iam.gserviceaccount.com" \
  19. lego --email you@example.com --dns gcloud -d '*.example.com' -d example.com run
  20. '''
  21. Additional = '''
  22. Supports service account impersonation to access Google Cloud DNS resources across different projects or with restricted permissions.
  23. When using impersonation, the source service account must have:
  24. 1. The "Service Account Token Creator" role on the source service account
  25. 2. The "https://www.googleapis.com/auth/cloud-platform" scope
  26. '''
  27. [Configuration]
  28. [Configuration.Credentials]
  29. GCE_PROJECT = "Project name (by default, the project name is auto-detected by using the metadata service)"
  30. 'Application Default Credentials' = "[Documentation](https://cloud.google.com/docs/authentication/production#providing_credentials_to_your_application)"
  31. GCE_SERVICE_ACCOUNT_FILE = "Account file path"
  32. GCE_SERVICE_ACCOUNT = "Account"
  33. [Configuration.Additional]
  34. GCE_ALLOW_PRIVATE_ZONE = "Allows requested domain to be in private DNS zone, works only with a private ACME server (by default: false)"
  35. GCE_ZONE_ID = "Allows to skip the automatic detection of the zone"
  36. GCE_IMPERSONATE_SERVICE_ACCOUNT = "Service account email to impersonate"
  37. GCE_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 5)"
  38. GCE_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 180)"
  39. GCE_TTL = "The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)"
  40. [Links]
  41. API = "https://cloud.google.com/dns/api/v1/"
  42. GoClient = "https://github.com/googleapis/google-api-go-client"