Skip to content

feat: add ownerreference to infra resources when gateway namespace mode#6100

Merged
arkodg merged 21 commits intoenvoyproxy:mainfrom
kkk777-7:add-ownerref-gtw-ns-mode
May 23, 2025
Merged

feat: add ownerreference to infra resources when gateway namespace mode#6100
arkodg merged 21 commits intoenvoyproxy:mainfrom
kkk777-7:add-ownerref-gtw-ns-mode

Conversation

@kkk777-7
Copy link
Copy Markdown
Member

What this PR does / why we need it:
Add ownerreference (gateway) to infra resources when enable GatewayNamespaceMode.
This PR resolves the following issues when enable GatewayNamespaceMode.

[Not Scope in PR]
Add ownerreference (gatewayclass) to infra resources when enable merged gateways.

Which issue(s) this PR fixes:

Since the issue has not been resolved in all cases, it remains open.

Release Notes: Yes

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@kkk777-7 kkk777-7 requested a review from a team as a code owner May 16, 2025 19:12
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@codecov
Copy link
Copy Markdown

codecov bot commented May 16, 2025

Codecov Report

Attention: Patch coverage is 83.00000% with 17 lines in your changes missing coverage. Please review.

Project coverage is 70.54%. Comparing base (0815cdc) to head (746be28).
Report is 37 commits behind head on main.

Files with missing lines Patch % Lines
internal/infrastructure/kubernetes/proxy_infra.go 63.41% 10 Missing and 5 partials ⚠️
...frastructure/kubernetes/proxy/resource_provider.go 96.36% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6100      +/-   ##
==========================================
+ Coverage   70.52%   70.54%   +0.01%     
==========================================
  Files         219      219              
  Lines       36348    36406      +58     
==========================================
+ Hits        25636    25682      +46     
- Misses       9190     9196       +6     
- Partials     1522     1528       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@kkk777-7 kkk777-7 force-pushed the add-ownerref-gtw-ns-mode branch from e0c6a50 to c61e961 Compare May 16, 2025 19:47
Comment on lines +256 to +257
if r.ownerReferenceUID != nil {
if r.GatewayNamespaceMode {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

we may change this later, but for now prefer
if conditionA && conditionB

Comment on lines +126 to +137
if uid, ok := r.ownerReferenceUID[ResourceKindGateway]; ok {
sa.OwnerReferences = []metav1.OwnerReference{
{
APIVersion: gatewayAPIV1Version,
Kind: ResourceKindGateway,
Name: utils.GetKubernetesResourceName(r.infra.Name),
UID: uid,
},
}
}
}
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

can we simply this by using a function or prebuild it?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Adding to this, since K8s objects have the SetOwnerReferences() method (refer), can we generically set it for all the objects here like deployment, sa, svc, configmap, etc?
Eg:

func (r *ResourceRenderer) setOwnerReferences(object metav1.Object) {
    if r.ownerReferenceUID != nil {
		if r.GatewayNamespaceMode {
			if uid, ok := r.ownerReferenceUID[ResourceKindGateway]; ok {
				object.SetOwnerReferences([]metav1.OwnerReference{
					{
						APIVersion: gatewayAPIV1Version,
						Kind:       ResourceKindGateway,
						Name:       utils.GetKubernetesResourceName(r.infra.Name),
						UID:        uid,
					},
				})
			}
		}
	}
}

And then r.setOwnerReferences(sa) or r.setOwnerReferences(deployment) everywhere else?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Setting OwnerReferences() everywhere also works, lgtm!

kkk777-7 added 3 commits May 17, 2025 12:34
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@kkk777-7
Copy link
Copy Markdown
Member Author

@zirain @rudrakhp
thank for comment.
I've made the changes, please retake a look.

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
rudrakhp

This comment was marked as outdated.

}

func NewResourceRender(envoyNamespace, controllerNamespace, dnsDomain string, infra *ir.ProxyInfra, gateway *egv1a1.EnvoyGateway) *ResourceRender {
func NewResourceRender(envoyNamespace, controllerNamespace, dnsDomain string, infra *ir.ProxyInfra, gateway *egv1a1.EnvoyGateway, ownerReferenceUID map[string]types.UID) *ResourceRender {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we pass the *kubernetes.Infra object to NewResourceRenderer to prevent frequent changes in signature? We will probably keep adding stuff like ownerReferenceUID now in the future as well.

}

func NewResourceRender(envoyNamespace, controllerNamespace, dnsDomain string, infra *ir.ProxyInfra, gateway *egv1a1.EnvoyGateway) *ResourceRender {
func NewResourceRender(envoyNamespace, controllerNamespace, dnsDomain string, infra *ir.ProxyInfra, gateway *egv1a1.EnvoyGateway, ownerReferenceUID map[string]types.UID) *ResourceRender {
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
func NewResourceRender(envoyNamespace, controllerNamespace, dnsDomain string, infra *ir.ProxyInfra, gateway *egv1a1.EnvoyGateway, ownerReferenceUID map[string]types.UID) *ResourceRender {
func NewResourceRender(envoyNamespace, kubernetesInfra *kubernetes.Infra, infra *ir.ProxyInfra) *ResourceRender {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe we can add a ResourceRenderConfig struct to wrap all the required parameters.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Thank for comments !

Can we pass the *kubernetes.Infra object to NewResourceRenderer to prevent frequent changes in signature?

I agree with you, makes a lot of sense.
To prevent cycle import, I've introduced an interface KubernetesInfraProvider.

Maybe we can add a ResourceRenderConfig struct to wrap all the required parameters.

Thank comment, If this approach is better, I’d be happy to revise it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@kkk777-7 any of struct to wrap parameters or interface works, LGTM. Interface might be simpler since kubernetes.Infra already implements the getters, will let others pitch in.
Ideally we shouldn't have a cycle, maybe a refactor for another time, don't want to hold this PR hostage 😄

kkk777-7 added 4 commits May 19, 2025 00:57
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
…uent changes in signature

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@rudrakhp rudrakhp requested review from a team May 19, 2025 08:18
@cnvergence
Copy link
Copy Markdown
Member

thanks for adding this @kkk777-7

@kkk777-7
Copy link
Copy Markdown
Member Author

/retest

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
@kkk777-7
Copy link
Copy Markdown
Member Author

/retest

ownerReferences = append(ownerReferences, metav1.OwnerReference{
APIVersion: gatewayAPIV1Version,
Kind: ResourceKindGateway,
Name: utils.GetKubernetesResourceName(r.infra.Name),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

doesnt feel right, prefer if we enhanced

type InfraMetadata struct {
instead

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

thanks for comment, I’ll update it after work today by adding gateway name to InfraMetadata and using it in the render process.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@arkodg
I've finished the fix. Please check if it matches what you expected.
2d121b0

@kkk777-7
Copy link
Copy Markdown
Member Author

I found a case where e2e test fails in my PR.
https://github.com/envoyproxy/gateway/actions/runs/15141960646/job/42573699817?pr=6100

But, Maybe I believe it will be resolved once the following PR is merged into main.
#6041

Currently it is not supported to run Gateway Namespace Mode with Merged Gateways deployments.

@@ -310,9 +310,11 @@ func (t *Translator) InitIRs(gateways []*GatewayContext) (map[string]*ir.Xds, ma
if t.MergeGateways {
maps.Copy(labels, GatewayClassOwnerLabel(string(t.GatewayClassName)))
gwInfraIR.Proxy.GetProxyMetadata().Labels = labels
gwInfraIR.Proxy.GetProxyMetadata().Name = irKey
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

should this logic be ?
if GatewayNamespaceMode {
gwInfraIR.Proxy.GetProxyMetadata().OwnerReference = &ir.ResourceMetadata {
Kind: "Gateway"
......
} else {

gwInfraIR.Proxy.GetProxyMetadata().OwnerReference = &ir.ResourceMetadata {
Kind: Deployment
Name: ....
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I would also be up for setting OwnerReference, having two Names fields in InfraIR is somewhat confusing

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Setting OwnerReference makes sense! I've finished the fix.

kkk777-7 added 3 commits May 23, 2025 01:10
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
if t.GatewayNamespaceMode {
gwInfraIR.Proxy.Namespace = gateway.Namespace
gwInfraIR.Proxy.GetProxyMetadata().OwnerReference = &ir.ResourceMetadata{
Kind: "Gateway",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: lets use existing constant KindGateway

XdsTLSCaFileName = "ca.crt"

// ResourceKind indicates owner of infra proxy resources.
ResourceKindGateway = "Gateway"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Thanks you for letting me know!

// ResourceKind indicates owner of infra proxy resources.
ResourceKindGateway = "Gateway"

gatewayAPIV1Version = "gateway.networking.k8s.io/v1"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

can you retrieve this from the package instead ? gwapiv1.GroupVersion.Version ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

fixed retrieving this from the package.

if uid, ok := r.ownerReferenceUID[ResourceKindGateway]; ok {
ownerReferences = append(ownerReferences, metav1.OwnerReference{
APIVersion: gatewayAPIV1Version,
Kind: ResourceKindGateway,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

can we also get the Kind from the IR

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Copy link
Copy Markdown
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

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

curious about one thing - when a Gateway is deleted in GatewayNamespace mode, now the API server will delete the Deployment, there will be a race b/w the API server and EG to delete the resource, if the API server gets there 1st, will it show up as a err log in EG or does is gracefully handle this case today ?

@kkk777-7
Copy link
Copy Markdown
Member Author

curious about one thing - when a Gateway is deleted in GatewayNamespace mode, now the API server will delete the Deployment, there will be a race b/w the API server and EG to delete the resource, if the API server gets there 1st, will it show up as a err log in EG or does is gracefully handle this case today ?

@arkodg That's a good point.
Infra struct call i.Client.DeleteAllOf when deleting resources.
e.g. https://github.com/envoyproxy/gateway/blob/main/internal/infrastructure/kubernetes/infra_resource.go#L453-L457

Maybe, controller-runtime's DeleteAllOf doesn't return an error if the resource isn't found. So I think EG can gracefully handle.

On a related note, InfraClient wraps the Delete method to handle errors. So, This can also be handled gracefully.
https://github.com/envoyproxy/gateway/blob/main/internal/infrastructure/kubernetes/infra_client.go#L72-L81

Copy link
Copy Markdown
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

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

LGTM thanks !

@arkodg arkodg requested review from a team May 23, 2025 03:00
@zirain
Copy link
Copy Markdown
Member

zirain commented May 23, 2025

/retest

@arkodg arkodg merged commit fc462a8 into envoyproxy:main May 23, 2025
44 of 45 checks passed
@kkk777-7 kkk777-7 deleted the add-ownerref-gtw-ns-mode branch May 23, 2025 11:46
arkodg pushed a commit to arkodg/gateway that referenced this pull request Jun 3, 2025
…de (envoyproxy#6100)

* feat: add ownerreference to infra resources when gateway namespace mode

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
(cherry picked from commit fc462a8)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>
arkodg added a commit that referenced this pull request Jun 4, 2025
* feat: set OverlappingTLSConfig condition for merged Gateways (#5862)

* set OverlappingTLSConfig condition for merged Gateways

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* fix lint

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* minor change

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit be51e5b)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* e2e: fix backend tls test (#6029)

* fix backend tls test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* enable backend tls test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* remove gateway TLS to simplify the test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* rename secret to avoid conflicts

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit a685667)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* validate gateway namespace mode and merged gateways (#6041)

* validate gateway namespace mode and merged gateways in translator

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix lint

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip merge gateways test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* validate on gatewayclass and set the status

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip e2e test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* add valid testcases

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* Update internal/provider/kubernetes/controller.go

Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix lint

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip merge gateways test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* rebase

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

---------

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
Co-authored-by: zirain <zirain2009@gmail.com>
Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
(cherry picked from commit c5f6831)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Fix shared=true when no clientSelector, (#6072)

* Fix shared=true when no clientSelector, cleanup filter logic, fix rl descriptor logic

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* testdata update

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Linting, remove unused funcs

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* fix e2e

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit bb3c8da)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix(tranlator): SubjectAltNames were being dropped from BackendTLSPolicy.validation (#6092)

* Add support for SubjectAltNames from BackendTLSPolicy.validation

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
(cherry picked from commit 35420d5)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* feat: add ownerreference to infra resources when gateway namespace mode (#6100)

* feat: add ownerreference to infra resources when gateway namespace mode

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
(cherry picked from commit fc462a8)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: add FullDuplexStreamed to enum (#6103)

* fix: add FullDuplexStreamed to enum

Signed-off-by: Guy Daich <guy.daich@sap.com>
(cherry picked from commit 020d60a)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: Use quoted values zone annotation in topology injector (#6133)

* Quoted string for zone values

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* release note

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* regen

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
(cherry picked from commit ea9cb05)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: return early from buildwasms (#6169)

return early from buildwasms

Signed-off-by: Guy Daich <guy.daich@sap.com>
(cherry picked from commit 64624fe)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* chore: bump go and purego (#6174)

* chore: bump go and purego

Signed-off-by: zirain <zirain2009@gmail.com>

* fix  gen

Signed-off-by: zirain <zirain2009@gmail.com>

---------

Signed-off-by: zirain <zirain2009@gmail.com>
(cherry picked from commit 40ae9e3)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: translate xds udp listener (#6183)

* fix: translate udp listener

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: tcp/udp no routes testdata in xds translator

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: release note

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
(cherry picked from commit 8f538e7)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Change static uid to  for global ratelimit dashboard (#6193)

Signed-off-by: Emin Aktas <eminaktas34@gmail.com>
(cherry picked from commit f721925)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Fix broken btp ratelimit merge (#6214)

* Fix broken btp ratelimit merge

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* lint

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

---------

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit 0f6f363)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Keep ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set via ClientTrafficPolicy (#6217)

Keep ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set in ClientTrafficPolicy

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit de816a6)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix testdata

Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Allow for headless envoy services (#6250)

* Allow for headless envoy services

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Allow headless service, cleanup

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* clean

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Add test and comment

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Fix tests

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit 2e168a8)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* remove infra ENVOY_GATEWAY_NAMESPACE and introduce ENVOY_POD_NAMESPACE envVar for accesslog (#6221)

* remove infra ENVOY_GATEWAY_NAMESPACE and introduce ENVOY_POD_NAMESPACE envVar for accesslog

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix e2e test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

---------

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
(cherry picked from commit b7ed197)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix lint

Signed-off-by: Arko Dasgupta <arko@tetrate.io>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
Signed-off-by: Arko Dasgupta <arko@tetrate.io>
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: Guy Daich <guy.daich@sap.com>
Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
Signed-off-by: zirain <zirain2009@gmail.com>
Signed-off-by: Emin Aktas <eminaktas34@gmail.com>
Co-authored-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
Co-authored-by: Karol Szwaj <karol.szwaj@gmail.com>
Co-authored-by: zirain <zirain2009@gmail.com>
Co-authored-by: Ryan Hristovski <61257223+ryanhristovski@users.noreply.github.com>
Co-authored-by: Ankush Agarwal <ankushagarwal11@gmail.com>
Co-authored-by: Kota Kimura <86363983+kkk777-7@users.noreply.github.com>
Co-authored-by: Guy Daich <guy.daich@sap.com>
Co-authored-by: Isaac <10012479+jukie@users.noreply.github.com>
Co-authored-by: Emin AKTAS <eminaktas34@gmail.com>
shawnh2 pushed a commit to shawnh2/gateway that referenced this pull request Sep 15, 2025
* feat: set OverlappingTLSConfig condition for merged Gateways (envoyproxy#5862)

* set OverlappingTLSConfig condition for merged Gateways

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* fix lint

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* minor change

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit be51e5b)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* e2e: fix backend tls test (envoyproxy#6029)

* fix backend tls test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* enable backend tls test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* remove gateway TLS to simplify the test

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

* rename secret to avoid conflicts

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit a685667)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* validate gateway namespace mode and merged gateways (envoyproxy#6041)

* validate gateway namespace mode and merged gateways in translator

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix lint

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip merge gateways test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* validate on gatewayclass and set the status

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip e2e test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* add valid testcases

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* Update internal/provider/kubernetes/controller.go

Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix lint

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* skip merge gateways test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* rebase

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

---------

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
Co-authored-by: zirain <zirain2009@gmail.com>
Co-authored-by: Arko Dasgupta <arkodg@users.noreply.github.com>
(cherry picked from commit c5f6831)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Fix shared=true when no clientSelector, (envoyproxy#6072)

* Fix shared=true when no clientSelector, cleanup filter logic, fix rl descriptor logic

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* testdata update

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Linting, remove unused funcs

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* fix e2e

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit bb3c8da)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix(tranlator): SubjectAltNames were being dropped from BackendTLSPolicy.validation (envoyproxy#6092)

* Add support for SubjectAltNames from BackendTLSPolicy.validation

Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
(cherry picked from commit 35420d5)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* feat: add ownerreference to infra resources when gateway namespace mode (envoyproxy#6100)

* feat: add ownerreference to infra resources when gateway namespace mode

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
(cherry picked from commit fc462a8)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: add FullDuplexStreamed to enum (envoyproxy#6103)

* fix: add FullDuplexStreamed to enum

Signed-off-by: Guy Daich <guy.daich@sap.com>
(cherry picked from commit 020d60a)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: Use quoted values zone annotation in topology injector (envoyproxy#6133)

* Quoted string for zone values

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* release note

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>

* regen

Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
(cherry picked from commit ea9cb05)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: return early from buildwasms (envoyproxy#6169)

return early from buildwasms

Signed-off-by: Guy Daich <guy.daich@sap.com>
(cherry picked from commit 64624fe)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* chore: bump go and purego (envoyproxy#6174)

* chore: bump go and purego

Signed-off-by: zirain <zirain2009@gmail.com>

* fix  gen

Signed-off-by: zirain <zirain2009@gmail.com>

---------

Signed-off-by: zirain <zirain2009@gmail.com>
(cherry picked from commit 40ae9e3)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix: translate xds udp listener (envoyproxy#6183)

* fix: translate udp listener

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: tcp/udp no routes testdata in xds translator

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>

* add: release note

Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
(cherry picked from commit 8f538e7)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Change static uid to  for global ratelimit dashboard (envoyproxy#6193)

Signed-off-by: Emin Aktas <eminaktas34@gmail.com>
(cherry picked from commit f721925)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Fix broken btp ratelimit merge (envoyproxy#6214)

* Fix broken btp ratelimit merge

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* lint

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

---------

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit 0f6f363)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Keep ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set via ClientTrafficPolicy (envoyproxy#6217)

Keep ALPN configuration for listeners with overlapping certificates when ALPN is explicitly set in ClientTrafficPolicy

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
(cherry picked from commit de816a6)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix testdata

Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* Allow for headless envoy services (envoyproxy#6250)

* Allow for headless envoy services

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Allow headless service, cleanup

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* clean

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Add test and comment

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>

* Fix tests

Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
(cherry picked from commit 2e168a8)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* remove infra ENVOY_GATEWAY_NAMESPACE and introduce ENVOY_POD_NAMESPACE envVar for accesslog (envoyproxy#6221)

* remove infra ENVOY_GATEWAY_NAMESPACE and introduce ENVOY_POD_NAMESPACE envVar for accesslog

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

* fix e2e test

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>

---------

Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
(cherry picked from commit b7ed197)
Signed-off-by: Arko Dasgupta <arko@tetrate.io>

* fix lint

Signed-off-by: Arko Dasgupta <arko@tetrate.io>

---------

Signed-off-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
Signed-off-by: Arko Dasgupta <arko@tetrate.io>
Signed-off-by: Karol Szwaj <karol.szwaj@gmail.com>
Signed-off-by: Ryan Hristovski <ryan.hristovski@docker.com>
Signed-off-by: Ankush Agarwal <ankushagarwal11@gmail.com>
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
Signed-off-by: Guy Daich <guy.daich@sap.com>
Signed-off-by: jukie <10012479+Jukie@users.noreply.github.com>
Signed-off-by: zirain <zirain2009@gmail.com>
Signed-off-by: Emin Aktas <eminaktas34@gmail.com>
Co-authored-by: Huabing (Robin) Zhao <zhaohuabing@gmail.com>
Co-authored-by: Karol Szwaj <karol.szwaj@gmail.com>
Co-authored-by: zirain <zirain2009@gmail.com>
Co-authored-by: Ryan Hristovski <61257223+ryanhristovski@users.noreply.github.com>
Co-authored-by: Ankush Agarwal <ankushagarwal11@gmail.com>
Co-authored-by: Kota Kimura <86363983+kkk777-7@users.noreply.github.com>
Co-authored-by: Guy Daich <guy.daich@sap.com>
Co-authored-by: Isaac <10012479+jukie@users.noreply.github.com>
Co-authored-by: Emin AKTAS <eminaktas34@gmail.com>
Signed-off-by: shawnh2 <shawnhxh@outlook.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants