lightsail.toml 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. Name = "Amazon Lightsail"
  2. Description = ''''''
  3. URL = "https://aws.amazon.com/lightsail/"
  4. Code = "lightsail"
  5. Since = "v0.5.0"
  6. Example = ''''''
  7. Additional = '''
  8. ## Description
  9. AWS Credentials are automatically detected in the following locations and prioritized in the following order:
  10. 1. Environment variables: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, [`AWS_SESSION_TOKEN`]
  11. 2. Shared credentials file (defaults to `~/.aws/credentials`, profiles can be specified using `AWS_PROFILE`)
  12. 3. Amazon EC2 IAM role
  13. AWS region is not required to set as the Lightsail DNS zone is in global (us-east-1) region.
  14. ## Policy
  15. The following AWS IAM policy document describes the minimum permissions required for lego to complete the DNS challenge.
  16. ```json
  17. {
  18. "Version": "2012-10-17",
  19. "Statement": [
  20. {
  21. "Effect": "Allow",
  22. "Action": [
  23. "lightsail:DeleteDomainEntry",
  24. "lightsail:CreateDomainEntry"
  25. ],
  26. "Resource": "<Lightsail DNS zone ARN>"
  27. }
  28. ]
  29. }
  30. ```
  31. Replace the `Resource` value with your Lightsail DNS zone ARN.
  32. You can retrieve the ARN using aws cli by running `aws lightsail get-domains --region us-east-1` (Lightsail web console does not show the ARN, unfortunately).
  33. It should be in the format of `arn:aws:lightsail:global:<ACCOUNT ID>:Domain/<DOMAIN ID>`.
  34. You also need to replace the region in the ARN to `us-east-1` (instead of `global`).
  35. Alternatively, you can also set the `Resource` to `*` (wildcard), which allow to access all domain, but this is not recommended.
  36. '''
  37. [Configuration]
  38. [Configuration.Credentials]
  39. AWS_ACCESS_KEY_ID = "Managed by the AWS client. Access key ID (`AWS_ACCESS_KEY_ID_FILE` is not supported, use `AWS_SHARED_CREDENTIALS_FILE` instead)"
  40. AWS_SECRET_ACCESS_KEY = "Managed by the AWS client. Secret access key (`AWS_SECRET_ACCESS_KEY_FILE` is not supported, use `AWS_SHARED_CREDENTIALS_FILE` instead)"
  41. DNS_ZONE = "Domain name of the DNS zone"
  42. [Configuration.Additional]
  43. AWS_SHARED_CREDENTIALS_FILE = "Managed by the AWS client. Shared credentials file."
  44. LIGHTSAIL_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 2)"
  45. LIGHTSAIL_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 120)"
  46. [Links]
  47. GoClient = "https://github.com/aws/aws-sdk-go-v2"