-
Notifications
You must be signed in to change notification settings - Fork 55
WIP: feat(vpc): add auto acceptance & rejection of VPC Peering Connection requests #159
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
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: marcdavoli The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @marcdavoli. Thanks for your PR. I'm waiting for a aws-controllers-k8s member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
.spec.acceptVpcPeeringRequestsFromVpc...
fields.spec.acceptVpcPeeringRequestsFromVpc...
fields
/ok-to-test |
.spec.acceptVpcPeeringRequestsFromVpc...
fields
/test all |
…ional fields for Modify OP and auto-accepting (#158) ## Changes This PR adds the `vpcpeeringconnections` custom resource via the standard code-generator output, but with a few custom additions: - Adds the possibility to use an ACK VPC resource as a [Reference](https://aws-controllers-k8s.github.io/community/docs/contributor-docs/code-generator-config/#references-making-a-field-refer-to-another-resource) for the fields `spec.vpcRef` (instead of `spec.vpcId`) and `spec.peerVpcRef` (instead of `spec.peerVpcId`). - Adds the `spec.accepterPeeringConnectionOptions` and `spec.requesterPeeringConnectionOptions` fields, which come from the `ModifyVpcPeeringConnectionOptions` API call, to allow the use of the `allowDnsResolutionFromRemoteVpc`, `AllowEgressFromLocalVpcToRemoteClassicLink` and `AllowEgressFromLocalClassicLinkToRemoteVpc` sub-fields. - Adds the `spec.acceptRequest` (boolean) which will allow the VPC Peering Connection Request to automatically switch from status `pending-acceptance` to `active` without manual intervention. (Inspired by Crossplane's implementation ([Ref](https://doc.crds.dev/github.com/crossplane/provider-aws/ec2.aws.crossplane.io/VPCPeeringConnection/[email protected]))) - Adds the field `spec.routes.vpcPeeringConnectionRef` to the Route Table CR > Note: In [a separate PR](#159), we add the fields `spec.acceptVPCPeeringRequestsFromVPCID` and `spec.acceptVPCPeeringRequestsFromVPCRefs` to the VPC CRD, to allow you to add a list of VPC's from which you'd like to automatically accept incoming VPC Peering requests from. ## References - [Slack Thread](https://kubernetes.slack.com/archives/C0402D8JJS1/p1700682197552809) - Github Issue: aws-controllers-k8s/community#1943 By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
@marcdavoli: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
As discussed with @a-hilaly , given that the |
Related to
VPCPeeringConnection
support to ec2-controller community#1943Context
In the context of adding the VPC Peering Connections CRD to the EC2 controller (see issue above), it makes sense to complete the e2e automation of that resource by allowing ACK VPC CRs to auto-accept (or auto-reject) VPC Peering Requests (thus eliminating the need for manual intervention), if the VPC Peering Request meets certain conditions:
Description of changes
.spec.acceptVpcPeeringRequestsFromVpcIds
.spec.acceptVpcPeeringRequestsFromVpcRefs
.spec.rejectVpcPeeringRequestsFromVpcIds
.spec.rejectVpcPeeringRequestsFromVpcRefs
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.