Skip to content

Conversation

@ghost
Copy link

@ghost ghost commented May 29, 2025

What type of PR is this?

Feature

Which issue does this PR fix:

#365 & #592

What does this PR do / Why do we need it:

This extends the ServiceExport spec to define expected ports and route types. This enables support for exporting gRPC route types without the need for extra target groups as original described in #592.

If an issue # is not available please add repro steps and logs from aws-gateway-controller showing the issue:

Testing done on this change:

Running golangci-lint
0 issues.
ok      github.com/aws/aws-application-networking-k8s/pkg/apis/applicationnetworking/v1alpha1   0.691s  coverage: 1.4% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/aws   0.907s  coverage: 27.4% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/aws/metrics   0.245s  coverage: 22.9% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/aws/services  1.081s  coverage: 9.2% of statements
        github.com/aws/aws-application-networking-k8s/pkg/aws/services/gomock_reflect_3080366013                coverage: 0.0% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/config        1.268s  coverage: 41.6% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/controllers   1.805s  coverage: 13.5% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/controllers/eventhandlers     1.835s  coverage: 51.7% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/deploy        2.255s  coverage: 18.5% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/deploy/externaldns    1.420s  coverage: 74.5% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/deploy/lattice        1.855s  coverage: 77.7% of statements
        github.com/aws/aws-application-networking-k8s/pkg/deploy/lattice/gomock_reflect_2439637922              coverage: 0.0% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/gateway       1.407s  coverage: 75.0% of statements
        github.com/aws/aws-application-networking-k8s/pkg/gateway/gomock_reflect_2866552326             coverage: 0.0% of statements
        github.com/aws/aws-application-networking-k8s/pkg/k8s           coverage: 0.0% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/k8s/policyhelper      2.021s  coverage: 15.4% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/model/core    1.650s  coverage: 58.1% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/model/core/graph      0.890s  coverage: 17.2% of statements
        github.com/aws/aws-application-networking-k8s/pkg/model/lattice         coverage: 0.0% of statements
        github.com/aws/aws-application-networking-k8s/pkg/runtime               coverage: 0.0% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/utils 1.761s  coverage: 14.2% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/utils/gwlog   1.911s  coverage: 35.6% of statements
        github.com/aws/aws-application-networking-k8s/pkg/utils/retry           coverage: 0.0% of statements
        github.com/aws/aws-application-networking-k8s/pkg/utils/ttime           coverage: 0.0% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/webhook       1.357s  coverage: 86.6% of statements
ok      github.com/aws/aws-application-networking-k8s/pkg/webhook/core  1.646s  coverage: 91.2% of statements

Automation added to e2e:

Yes unit tests were added to cover new logic and grpcroute_serviceexport_test.go was added to cover new logic with integration tests.

Will this PR introduce any new dependencies?:

No.

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
No, this change is backwards compatible.

Does this PR introduce any user-facing change?:

Yes.

Added support for gRPC ServiceExport

Do all end-to-end tests successfully pass when running make e2e-test?:

[SynchronizedAfterSuite] 
/Users/rlymbur/GitHub/aws-application-networking-k8s/test/suites/integration/suite_test.go:72
{"level":"info","ts":"2025-05-28T15:10:25.558-0700","caller":"test/framework.go:266","msg":"Deleting objects: *v1.Gateway/test-gateway, *v1.Pod/grpc-runner"}
{"level":"info","ts":"2025-05-28T15:10:25.721-0700","caller":"test/framework.go:285","msg":"Waiting for NotFound, objects: *v1.Gateway/test-gateway, *v1.Pod/grpc-runner"}
[SynchronizedAfterSuite] PASSED [31.052 seconds]
------------------------------

Ran 59 of 72 Specs in 3758.356 seconds
SUCCESS! -- 59 Passed | 0 Failed | 0 Pending | 13 Skipped
--- PASS: TestIntegration (3758.36s)
PASS

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ghost ghost requested a review from mikestvz May 29, 2025 17:45
@ghost ghost self-assigned this May 29, 2025
@ghost ghost added the enhancement New feature or request label May 29, 2025
@ghost ghost enabled auto-merge May 29, 2025 18:13
@ghost ghost changed the title Support gRPC & TLS ServiceExport Support gRPC ServiceExport May 29, 2025
@ghost ghost closed this May 29, 2025
auto-merge was automatically disabled May 29, 2025 18:19

Pull request was closed

@ghost ghost reopened this May 29, 2025
@ghost ghost enabled auto-merge May 29, 2025 18:20
Copy link
Contributor

@mikestvz mikestvz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ghost ghost added this pull request to the merge queue Jun 2, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 2, 2025
@ghost ghost enabled auto-merge June 2, 2025 20:27
@ghost ghost added this pull request to the merge queue Jun 2, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jun 2, 2025
@ghost ghost enabled auto-merge June 2, 2025 20:31
@ghost ghost added this pull request to the merge queue Jun 2, 2025
Merged via the queue into aws:main with commit e6297cc Jun 2, 2025
2 checks passed
@ghost ghost deleted the feature/service-export-spec-redesign branch June 2, 2025 21:34
@ghost ghost mentioned this pull request Jun 2, 2025
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant