-
Notifications
You must be signed in to change notification settings - Fork 135
Create test setup for AWS integration #1849
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fbda006 to
c7bfd37
Compare
The latest version of the external-dns image requires setting the AWS_DEFAULT_REGION environment variable.
The introduction of this variable demands changes in our chart as well as changes to the user configuration. Therefore, it is a good oportunity to introduce the upstream external-dns helm chart.
By using the upstream chart we can profit from all the features of the external dns community out-of-the-box, we no longer have to develop a wrapper on our side. These features include both authentication options and new upstream providers.
The following configuration changes should be included in the release notes:
1.
```
route53:
enabled: true
secret: credentials
```
becomes
```
extdns:
enabled: true
provider:
name: aws
extraVolumes:
- name: aws-credentials
secret:
secretName: credentials
extraVolumeMounts:
- name: aws-credentials
mountPath: /.aws
readOnly: true
```
2.
```
route53:
enabled: true
irsaRole: arn:aws:iam::111111:role/external-dns
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::111111:role/external-dns
```
3.
```
route53:
enabled: true
assumeRoleArn: role
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
extraArgs:
aws-assume-role: role
```
In addition, the AWS_DEFAULT_REGION must be specified using an environment variable, for example:
```
extdns:
env:
- name: AWS_DEFAULT_REGION
value: "us-east-1"
```
And a couple of variables must be manually specified (there are helm validation function that make sure they are correct). Replace `<GEOTAG>` with the same value as `k8gb.clusterGeoTag`, and `domainFilters` with the same values as `k8gb.dnsZones.zone`/`k8gb.dnsZone`:
```
extdns:
txtPrefix: "k8gb-<GEOTAG>"
txtOwnerId: "k8gb-<GEOTAG>"
domainFilters:
- "<domain>"
```
Note: if you used to set `hostedZoneID`, then txtOwnerId will take the value `k8gb-<hostZoneID>-<GEOTAG>`.
Signed-off-by: Andre Aguas <[email protected]>
Signed-off-by: Andre Aguas <[email protected]>
The latest version of the external-dns image requires setting the AWS_DEFAULT_REGION environment variable.
The introduction of this variable demands changes in our chart as well as changes to the user configuration. Therefore, it is a good oportunity to introduce the upstream external-dns helm chart.
By using the upstream chart we can profit from all the features of the external dns community out-of-the-box, we no longer have to develop a wrapper on our side. These features include both authentication options and new upstream providers.
The following configuration changes should be included in the release notes:
1.
```
route53:
enabled: true
secret: credentials
```
becomes
```
extdns:
enabled: true
provider:
name: aws
extraVolumes:
- name: aws-credentials
secret:
secretName: credentials
extraVolumeMounts:
- name: aws-credentials
mountPath: /.aws
readOnly: true
```
2.
```
route53:
enabled: true
irsaRole: arn:aws:iam::111111:role/external-dns
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::111111:role/external-dns
```
3.
```
route53:
enabled: true
assumeRoleArn: role
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
extraArgs:
aws-assume-role: role
```
In addition, the AWS_DEFAULT_REGION must be specified using an environment variable, for example:
```
extdns:
env:
- name: AWS_DEFAULT_REGION
value: "us-east-1"
```
And a couple of variables must be manually specified (there are helm validation function that make sure they are correct). Replace `<GEOTAG>` with the same value as `k8gb.clusterGeoTag`, and `domainFilters` with the same values as `k8gb.dnsZones.zone`/`k8gb.dnsZone`:
```
extdns:
txtPrefix: "k8gb-<GEOTAG>"
txtOwnerId: "k8gb-<GEOTAG>"
domainFilters:
- "<domain>"
```
Note: if you used to set `hostedZoneID`, then txtOwnerId will take the value `k8gb-<hostZoneID>-<GEOTAG>`.
Signed-off-by: Andre Aguas <[email protected]>
Signed-off-by: Andre Aguas <[email protected]>
The latest version of the external-dns image requires setting the AWS_DEFAULT_REGION environment variable.
The introduction of this variable demands changes in our chart as well as changes to the user configuration. Therefore, it is a good oportunity to introduce the upstream external-dns helm chart.
By using the upstream chart we can profit from all the features of the external dns community out-of-the-box, we no longer have to develop a wrapper on our side. These features include both authentication options and new upstream providers.
The following configuration changes should be included in the release notes:
1.
```
route53:
enabled: true
secret: credentials
```
becomes
```
extdns:
enabled: true
provider:
name: aws
extraVolumes:
- name: aws-credentials
secret:
secretName: credentials
extraVolumeMounts:
- name: aws-credentials
mountPath: /.aws
readOnly: true
```
2.
```
route53:
enabled: true
irsaRole: arn:aws:iam::111111:role/external-dns
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
serviceAccount:
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::111111:role/external-dns
```
3.
```
route53:
enabled: true
assumeRoleArn: role
```
becomes:
```
extdns:
enabled: true
provider:
name: aws
extraArgs:
aws-assume-role: role
```
In addition, the AWS_DEFAULT_REGION must be specified using an environment variable, for example:
```
extdns:
env:
- name: AWS_DEFAULT_REGION
value: "us-east-1"
```
And a couple of variables must be manually specified (there are helm validation function that make sure they are correct). Replace `<GEOTAG>` with the same value as `k8gb.clusterGeoTag`, and `domainFilters` with the same values as `k8gb.dnsZones.zone`/`k8gb.dnsZone`:
```
extdns:
txtPrefix: "k8gb-<GEOTAG>"
txtOwnerId: "k8gb-<GEOTAG>"
domainFilters:
- "<domain>"
```
Note: if you used to set `hostedZoneID`, then txtOwnerId will take the value `k8gb-<hostZoneID>-<GEOTAG>`.
Signed-off-by: Andre Aguas <[email protected]>
c7bfd37 to
03c33c2
Compare
Similar to the Azure setup done in k8gb-io#1773 Signed-off-by: Andre Aguas <[email protected]>
03c33c2 to
5e11934
Compare
abaguas
added a commit
that referenced
this pull request
May 28, 2025
Automates testing of k8gb's integration with AWS route53. Previously this required manual steps (#1849), now fully automated. To test, simply install opentofu, create an AWS account, retrieve credentials and run `./test.sh`. --------- Signed-off-by: Andre Aguas <[email protected]>
Collaborator
Author
|
Tackled in #1897 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Similar to the Azure setup done in #1773