|
| 1 | +# Configuration |
| 2 | + |
| 3 | +```hcl |
| 4 | +component "external-dns" { |
| 5 | + version = "0.2.0" |
| 6 | + namespace = "external-dns" # optional |
| 7 | +
|
| 8 | + # Params default values |
| 9 | +
|
| 10 | + # when configured with a base domain, external-dns will ignore requests that are not children domains |
| 11 | + domainFilter = "" |
| 12 | +
|
| 13 | + # Upstream DNS provider to configure |
| 14 | + # required, must be one of 'cloudflare', 'route53', 'pdns' |
| 15 | + provider = "" |
| 16 | +
|
| 17 | + cloudflare = { |
| 18 | + # Enable or disable the Cloudflare Proxy on managed records. Can be overridden on a per-object basis |
| 19 | + proxied = false |
| 20 | +
|
| 21 | + # Restrict to domains in a specific Cloudflare Zone. Optional |
| 22 | + zoneId = "" |
| 23 | +
|
| 24 | + # ExternalSecret object reference to a secret holding the Cloudflare API Token |
| 25 | + secret = { |
| 26 | + store = { |
| 27 | + name = "default" |
| 28 | + kind = "ClusterSecretStore" |
| 29 | + } |
| 30 | +
|
| 31 | + # Backend-specific key for the target secret |
| 32 | + key = "" |
| 33 | +
|
| 34 | + # Optional nested property inside the upstream secret |
| 35 | + property = "" |
| 36 | + } |
| 37 | + } |
| 38 | +
|
| 39 | + route53 = { |
| 40 | + # Only look at zone of this type (values can be 'public', 'private' or empty for both) |
| 41 | + zoneType = "" |
| 42 | + # Restrict to domains in a specific Route53 Zone. Optional |
| 43 | + zoneId = "" |
| 44 | + # Configure when deployed on EKS or other platforms with IAM Roles for Service Accounts |
| 45 | + eksRole = "" |
| 46 | + # Configure when deployed on AWS with KIAM |
| 47 | + iamRole = "" |
| 48 | + } |
| 49 | +
|
| 50 | + pdns = { |
| 51 | + apiUrl = "" |
| 52 | + # ExternalSecret object reference to a secret holding the PowerDNS API key |
| 53 | + apiKeySecret = { |
| 54 | + store = { |
| 55 | + name = "default" |
| 56 | + kind = "ClusterSecretStore" |
| 57 | + } |
| 58 | + # Backend-specific key for the target secret |
| 59 | + key = "" |
| 60 | + # Optional nested property inside the upstream secret |
| 61 | + property = "" |
| 62 | + } |
| 63 | + } |
| 64 | +} |
| 65 | +``` |
| 66 | + |
| 67 | +## Route53 |
| 68 | + |
| 69 | +To use Route53, a valid IAM role must be created with the following policies: |
| 70 | + |
| 71 | +### For the hosted zone only: |
| 72 | + |
| 73 | +- `route53:ChangeResourceRecordSets` |
| 74 | + |
| 75 | +### For everything (`"*"`): |
| 76 | + |
| 77 | +- `route53:ListHostedZones` |
| 78 | +- `route53:ListResourceRecordSets` |
0 commit comments