Skip to content
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

Loadbalancers created via aws-load-balancer-controller for EnvoyProxy instances are leaked once Gateway is removed #1820

Closed
wondersd opened this issue Aug 23, 2023 · 7 comments · Fixed by #2856
Labels
help wanted Extra attention is needed kind/bug Something isn't working road-to-ga triage
Milestone

Comments

@wondersd
Copy link
Contributor

Description:
When creating a Gateway instance in an EKS cluster using the aws-load-balancer-controller to provision loadbalancers, subsequent deletion of the Gateway resource can leave the underlying AWS resources (loadbalancer, targetgroup, sg rules, sgs, etc) leaked and never deleted.

The underlying reason for this appears to be EG is striping the .metadata.finalizers section of the managed Service object. As aws-load-balancer-controller (and probably any and all load balancer providers for that matter) create non k8s resources that must be cleaned up, the finalizer is injected onto the service so that it the controller is guaranteed time to reconcile the deletion of these resources before losing the Service object (and then its tracking of those resources leaving them leaked).

EnvoyProxy service object created

apiVersion: v1
  kind: Service
  metadata:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
      service.beta.kubernetes.io/aws-load-balancer-scheme: internal
      service.beta.kubernetes.io/aws-load-balancer-type: external
    creationTimestamp: "2023-08-23T14:18:56Z"
    labels:
      app.kubernetes.io/component: proxy
      app.kubernetes.io/managed-by: envoy-gateway
      app.kubernetes.io/name: envoy
      gateway.envoyproxy.io/owning-gateway-name: ...
      gateway.envoyproxy.io/owning-gateway-namespace:...
    name: envoy-...-72616262
    namespace: envoy-gateway
    resourceVersion: ...
    uid: ...
  spec:
    allocateLoadBalancerNodePorts: true
    clusterIP: 172.20.132.225
    clusterIPs:
    - 172.20.132.225
    externalTrafficPolicy: Local
    healthCheckNodePort: 30042
    internalTrafficPolicy: Cluster
    ipFamilies:
    - IPv4
    ipFamilyPolicy: SingleStack
    ports:
    ...
    selector:
      app.kubernetes.io/component: proxy
      app.kubernetes.io/managed-by: envoy-gateway
      app.kubernetes.io/name: envoy
      gateway.envoyproxy.io/owning-gateway-name: ...
      gateway.envoyproxy.io/owning-gateway-namespace:...
    sessionAffinity: None
    type: LoadBalancer
  status:
    loadBalancer:
      ingress:
      - hostname: ....elb.us-east-1.amazonaws.com

A service object created manually from the following yaml

apiVersion: v1
kind: Service
metadata:
  name: loadbalancer
  namespace: envoy-gateway
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-scheme: internal
    service.beta.kubernetes.io/aws-load-balancer-type: external
spec:
  type: LoadBalancer
  ports:
    - name: test
      port: 8080
      protocol: TCP

yeilds

apiVersion: v1
kind: Service
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: ...
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-scheme: internal
    service.beta.kubernetes.io/aws-load-balancer-type: external
  creationTimestamp: "2023-08-23T15:04:39Z"
  finalizers:
  - service.kubernetes.io/load-balancer-cleanup
  - service.k8s.aws/resources
  name: loadbalancer
  namespace: envoy-gateway
  resourceVersion: ...
  uid: ...
spec:
  allocateLoadBalancerNodePorts: true
  clusterIP: 172.20.204.23
  clusterIPs:
  - 172.20.204.23
  externalTrafficPolicy: Cluster
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: test
    nodePort: 30456
    port: 8080
    protocol: TCP
    targetPort: 8080
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - hostname: ....elb.us-east-1.amazonaws.com

Unlike what is observed from the EG managed service, we have the finalizer section intact for the manually created service (with it not being part of the original yaml). So it seems as though the reconciliation process is stripping that out. Without that our loadbalancer provider is unable to guarantee cleanup the cloud resources.

Repro steps:

  1. setup gatewayclass, envoyproxy and gateway resource as per normal with service type LoadBalancer (default) and requisite annotations to activate aws-load-balancer-controller (should also be reproducible for any other loadbalancer providers that rely on finalizers)
    apiVersion: "config.gateway.envoyproxy.io/v1alpha1"
    kind: "EnvoyProxy"
    metadata:
      name: "aws-loadbalancer-controller-ep"
    spec:
      provider:
        type: "Kubernetes"
        kubernetes:
          envoyService:
            annotations:
              service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
              service.beta.kubernetes.io/aws-load-balancer-scheme: internal
              service.beta.kubernetes.io/aws-load-balancer-type: external
    
  2. delete Gateway object. see aws loadbalancer is not removed

Environment:

  • aws based kubernetes cluster with aws-load-balancer-controller available to be used
  • eg 0.5.0

Logs:
Have not been able to locate specific logs indicating finalizer is being removed.

Relates to:

@wondersd wondersd added the kind/bug Something isn't working label Aug 23, 2023
@arkodg
Copy link
Contributor

arkodg commented Aug 25, 2023

shouldnt the aws controller use owner references here instead of finalizer to clean up itself after the linked service is deleted
https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/ , we had a similar clean up issue in EG which was solved with owner references #1706

@arkodg
Copy link
Contributor

arkodg commented Aug 25, 2023

@qicz can you help triage this one ?

@wondersd
Copy link
Contributor Author

wondersd commented Aug 29, 2023

@arkodg I think its a bit tricky here because there is no other k8s objects that represent the underlying resources. The owner reference seems to only work when both halves are represented independently as k8s resources. In EGs case there was the Gateway and then the owned rate limit Deployment, both k8s objects.

For ServiceType = LoadBalancer the representing k8s object is the Service object, theres no guarantee of another k8s resource that it could "own". I guess this would start to make the case that all such LoadBalancer providers must use CR representation for the underlying cloud resources (where these resources contain the finalizers to de-provision the underlying resources). Which might be a better overall pattern for cases like this, but would likely require changes to many LoadBalancer implementors and is not the case today.

Did some research in other LoadBalancer providers:

https://github.com/kubernetes/cloud-provider-openstack

seems to use annotations to mark provisioned resources, would make for an awkward interaction with EG without a mechanism to ingnore certain annotations

kubernetes/cloud-provider-openstack#1912

The OP here references "finalizer" but couldn't find finalizers in use in their code.

MetalLB also uses annotations to store its state about the provisioned LoadBalancer in the Service, https://github.com/metallb/metallb/blob/main/controller/service.go#L176-L182

Seems to be quite a bit of variety on how LoadBalancer providers manage their state: dynamic annotations, finalizers, status, and probably some using ownerRef+CR

So while i think it might be a cleaner approach to assume that LoadBalancer providers include CRs to represent provisioned infra and to link this with the service via ownerRef, that doesn't seem to be the case in a lot of the current implementations

To that end, it would help to have options open to account for these in EG until such a time that the ownerRef+CR pattern is widely used. This will allow EG to be cleanly usable conjunction with currently available LoadBalancer provider implementations

@github-actions
Copy link

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

@github-actions github-actions bot added the stale label Sep 28, 2023
@wondersd
Copy link
Contributor Author

wondersd commented Jan 5, 2024

Hi @arkodg @qicz,

Noticed this was marked as stale has there been any thoughts on this?

This is problem for us when trying to adopt envoy gateway in wider sense as this presents issues for dynamically created/destroyed gateways.

Thanks!

@arkodg
Copy link
Contributor

arkodg commented Jan 5, 2024

hi @wondersd added the right labels to this issue to get more attention

@arkodg arkodg modified the milestones: v1.0.0-rc1, v1.0.0 Mar 2, 2024
@arkodg
Copy link
Contributor

arkodg commented Mar 8, 2024

we chatting about this in the community meeting today, @davidalger pointed out that this issue exists in GCP as well today, which can can cause a churn in cloud resources, a short term solution for this could be to copy metadata.finalizers from the existing resource, before updating the service, a longer term solution could be to use server side apply

arkodg added a commit to arkodg/gateway that referenced this issue Mar 10, 2024
arkodg added a commit that referenced this issue Mar 10, 2024
* ignore finalizers when comparing envoy proxy svc

Fixes: #1820

Signed-off-by: Arko Dasgupta <[email protected]>
Xunzhuo pushed a commit to Xunzhuo/gateway that referenced this issue Mar 13, 2024
* ignore finalizers when comparing envoy proxy svc

Fixes: envoyproxy#1820

Signed-off-by: Arko Dasgupta <[email protected]>
Xunzhuo added a commit that referenced this issue Mar 13, 2024
* ci: update cherry-pick v1.0.0 (#2784)

Signed-off-by: bitliu <[email protected]>

* fix: add missing release notes details and re organize it (#2785)

fix: complete missing release notes and re organize it

Signed-off-by: bitliu <[email protected]>

* e2e: backend upgrade test (#2725)

* chore: add testdata to passive health checks (#2788)

* chore: add testdata to passive health checks

Signed-off-by: yeedove <[email protected]>

* fix test

Signed-off-by: yeedove <[email protected]>

---------

Signed-off-by: yeedove <[email protected]>

* promote: guydc as maintainer (#2794)

Signed-off-by: bitliu <[email protected]>

* fix: Delete unused status keys from watchable (#2782)

* Delete unused status keys in gatewayapi-runner

Signed-off-by: Yuneui Jeong <[email protected]>

* Delete unused status keys in xds-translator runner

Signed-off-by: Yuneui Jeong <[email protected]>

* Add tests and fix code to pass all tests

Signed-off-by: Yuneui Jeong <[email protected]>

* Cover more

Signed-off-by: Yuneui <[email protected]>

* Change struct's name and other minor fixes

Signed-off-by: Yuneui Jeong <[email protected]>

---------

Signed-off-by: Yuneui Jeong <[email protected]>
Signed-off-by: Yuneui <[email protected]>

* docs: fix commands in basic auth example (#2791)

Signed-off-by: Arko Dasgupta <[email protected]>

* feat: Support WellKnownSystemCerts in BackendTLSPolicy (#2804)

* Add support for using the system truststore with upstream TLS.

Signed-off-by: Lior Okman <[email protected]>

* Make the linter happy

Signed-off-by: Lior Okman <[email protected]>

---------

Signed-off-by: Lior Okman <[email protected]>

* docs: refactor user guides (#2797)

* docs: refactor user guides

Signed-off-by: bitliu <[email protected]>

* fix: relative paths

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>

* Fix gen check (#2814)

* fix: gen-check error

Signed-off-by: bitliu <[email protected]>

* run lint for docs

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>

* refactor: set instead of map for mergeGateways (#2803)

* refactor:set[T] instead of map[T]bool

Signed-off-by: Dennis Zhou <[email protected]>

* fix lint

Signed-off-by: Dennis Zhou <[email protected]>

---------

Signed-off-by: Dennis Zhou <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>

* remove: support for hostnetwork (#2815)

* feat(egctl): add support for egctl to translate from gateway-api resources to IR (#2799)

* Added an option to translate to IR representation.

Signed-off-by: Lior Okman <[email protected]>

* Added a unit test, and made sure that existing services have an IP
address.

Signed-off-by: Lior Okman <[email protected]>

* Add omitempty where needed.

Signed-off-by: Lior Okman <[email protected]>

* Make gen-check happy

Signed-off-by: Lior Okman <[email protected]>

* Added some documentation.

Signed-off-by: Lior Okman <[email protected]>

---------

Signed-off-by: Lior Okman <[email protected]>

* docs: basic auth example use https (#2806)

* docs: basic auth example use https

Signed-off-by: phantooom <[email protected]>

* docs: refactor user guides (#2797)

* docs: refactor user guides

Signed-off-by: bitliu <[email protected]>

* fix: relative paths

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>
Signed-off-by: phantooom <[email protected]>

* Fix gen check (#2814)

* fix: gen-check error

Signed-off-by: bitliu <[email protected]>

* run lint for docs

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>
Signed-off-by: phantooom <[email protected]>

* refactor: set instead of map for mergeGateways (#2803)

* refactor:set[T] instead of map[T]bool

Signed-off-by: Dennis Zhou <[email protected]>

* fix lint

Signed-off-by: Dennis Zhou <[email protected]>

---------

Signed-off-by: Dennis Zhou <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>
Signed-off-by: phantooom <[email protected]>

* Update site/content/en/latest/user/security/basic-auth.md

Co-authored-by: Huabing Zhao <[email protected]>
Signed-off-by: zou rui <[email protected]>

---------

Signed-off-by: phantooom <[email protected]>
Signed-off-by: bitliu <[email protected]>
Signed-off-by: Dennis Zhou <[email protected]>
Signed-off-by: zou rui <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>
Co-authored-by: Dennis Zhou <[email protected]>
Co-authored-by: Huabing Zhao <[email protected]>

* chore: group go.opentelemetry.io dependabot (#2821)

Signed-off-by: zirain <[email protected]>

* Add referenced BackendRefs for ExtAuth to Resource Tree (#2795)

* add referenced BackendRefs for ExtAuth to Resource Tree

Signed-off-by: huabing zhao <[email protected]>

* clean up the controller code

Signed-off-by: huabing zhao <[email protected]>

* minor changes

Signed-off-by: huabing zhao <[email protected]>

* return errors

Signed-off-by: huabing zhao <[email protected]>

* fix validate error

Signed-off-by: huabing zhao <[email protected]>

* fix gen

Signed-off-by: huabing zhao <[email protected]>

* Support BackendTLSPolicy for the Ext HTTP/GRPC auth service

Signed-off-by: huabing zhao <[email protected]>

* fix lint

Signed-off-by: huabing zhao <[email protected]>

* fix gen

Signed-off-by: huabing zhao <[email protected]>

* check cross-ns reference grant

Signed-off-by: huabing zhao <[email protected]>

* fix test

Signed-off-by: huabing zhao <[email protected]>

* fix test

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* fix bootstrap merge (#2801)

* fix bootstrap merge

Signed-off-by: zirain <[email protected]>

* refactor validateBootstrap

Signed-off-by: zirain <[email protected]>

* lint

Signed-off-by: zirain <[email protected]>

* update test

Signed-off-by: zirain <[email protected]>

---------

Signed-off-by: zirain <[email protected]>

* fix: skip the ReasonTargetNotFound for all policies (#2802)

* stop populating ReasonTargetNotFound for all the policies

Signed-off-by: shawnh2 <[email protected]>

* add test to ensure the status is expected

Signed-off-by: shawnh2 <[email protected]>

* fix gen-check and lint

Signed-off-by: shawnh2 <[email protected]>

---------

Signed-off-by: shawnh2 <[email protected]>

* docs: update EnvoyProxy logs (#2822)

* docs: update EnvoyProxy logs

Signed-off-by: zirain <[email protected]>

* lint

Signed-off-by: zirain <[email protected]>

---------

Signed-off-by: zirain <[email protected]>

* fix: omit default replicas on Kubernetes Deployment (#2816)

* fix: remove default replicas function

Signed-off-by: Ardika Bagus <[email protected]>

* chore: omit replicas because nil equal to 1 by default

Signed-off-by: Ardika Bagus <[email protected]>

* chore: add a note when a user is being explicit on deployment replicas

Signed-off-by: Ardika Bagus <[email protected]>

---------

Signed-off-by: Ardika Bagus <[email protected]>

* bug: compute endpointType for all protocol types (#2833)

Fixes: #2832

Signed-off-by: Arko Dasgupta <[email protected]>

* docs: Routing outside k8s (#2831)

* docs: Routing outside k8s

Fixes: #2482

Signed-off-by: Arko Dasgupta <[email protected]>

* updates

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>

* build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#2825)

Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump golang.org/x/net from 0.21.0 to 0.22.0 (#2826)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.21.0 to 0.22.0.
- [Commits](golang/net@v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2827)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](stretchr/testify@v1.8.4...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix: failed to create envoy-oidc-hmac secret when upgrading EG (#2835)

try to create every secret instead of returning eraly

Signed-off-by: huabing zhao <[email protected]>

* build(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 (#2829)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.0 to 1.62.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.62.0...v1.62.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Ext auth e2e tests (#2830)

* e2e tests for http ext auth

Signed-off-by: huabing zhao <[email protected]>

* export util methods to avoid unparam link issues

Signed-off-by: huabing zhao <[email protected]>

* fixt test

Signed-off-by: Huabing Zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>
Signed-off-by: Huabing Zhao <[email protected]>

* fix existing secret check (#2838)

fix existing secret

Signed-off-by: zirain <[email protected]>

* ci: update k8s matrix (#2836)

* ci: update k8s matrix

Signed-off-by: zirain <[email protected]>

* v1.26.14

Signed-off-by: zirain <[email protected]>

* nit

Signed-off-by: zirain <[email protected]>

* update matrix

Signed-off-by: zirain <[email protected]>

* link in quickstart

Signed-off-by: zirain <[email protected]>

* update

Signed-off-by: zirain <[email protected]>

* 1.29.2

Signed-off-by: zirain <[email protected]>

---------

Signed-off-by: zirain <[email protected]>

* e2e: try to fix client timeout flakes (#2812)

* chore: client timeout log

Signed-off-by: zirain <[email protected]>

* add EnvoyProxy extra args

Signed-off-by: zirain <[email protected]>

* add E2E_CLEANUP

Signed-off-by: zirain <[email protected]>

* nit

Signed-off-by: zirain <[email protected]>

---------

Signed-off-by: zirain <[email protected]>

* feat: Support Upstream TLS to multiple Backends (#2818)

* Use transport_socket_matches to setup correct sockets for different
destinations.

Signed-off-by: Lior Okman <[email protected]>

* Support Proxy Protocol for TLS upstreams.

Signed-off-by: Lior Okman <[email protected]>

* Changed the name generated for each transport match to be more inline
with other names used in other places in xDS.

Signed-off-by: Lior Okman <[email protected]>

* Added one more case in the unit-test to show that upstream proxy-protocol still works.

Signed-off-by: Lior Okman <[email protected]>

---------

Signed-off-by: Lior Okman <[email protected]>

* e2e: move drain settings into shutdown settings (#2850)

Signed-off-by: Arko Dasgupta <[email protected]>

* docs: mtls to the gateway (#2851)

* docs: mtls to the gateway

Signed-off-by: Arko Dasgupta <[email protected]>

* edits

Signed-off-by: Arko Dasgupta <[email protected]>

* add ref

Signed-off-by: Arko Dasgupta <[email protected]>

* typo

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>

* ignore finalizers when comparing envoy proxy svc (#2856)

* ignore finalizers when comparing envoy proxy svc

Fixes: #1820

Signed-off-by: Arko Dasgupta <[email protected]>

* Chore: remove the uncessary allAssociatedRefGrants from resourceMappings (#2843)

* modify oidc docs

Signed-off-by: huabing zhao <[email protected]>

* clear allAssociatedRefGrants

Signed-off-by: huabing zhao <[email protected]>

* address comments

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* docs: allow users to configure custom certs for control plane auth (#2847)

Signed-off-by: zirain <[email protected]>

* add e2e tests for ext auth with grpc auth service (#2841)

* add e2e tests for ext auth with grpc auth service

Signed-off-by: huabing zhao <[email protected]>

* add BackedTLSPolicy

Signed-off-by: huabing zhao <[email protected]>

* generate TLS socket for ext auth services

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* fix: Address race condition disrupting graceful shutdown process (#2864)

Signed-off-by: David Alger <[email protected]>

* docs: move Design docs under "Get Involved" (#2857)

* docs: move Design docs under "Get Involved"

* design docs are more relevant to internal contributors than external
  users

Signed-off-by: Arko Dasgupta <[email protected]>

* fix links

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>

* e2e: backend TLS policy (#2853)

* start backendtls test

Signed-off-by: Guy Daich <[email protected]>

* fix lint

Signed-off-by: Guy Daich <[email protected]>

* use better name for egSetup(...)

Signed-off-by: Guy Daich <[email protected]>

* add negative test

Signed-off-by: Guy Daich <[email protected]>

* use static certs for test

Signed-off-by: Guy Daich <[email protected]>

---------

Signed-off-by: Guy Daich <[email protected]>

* Update the user doc for OIDC (#2778)

* user doc for oidc

Signed-off-by: huabing zhao <[email protected]>

* address comments

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* add ADOPTERS.md (#2865)

ADOPTERS.md

Signed-off-by: huabing zhao <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>

* build(deps): bump softprops/action-gh-release from 1 to 2 (#2867)

Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@de2c0eb...d99959e)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/bufbuild/buf from 1.29.0 to 1.30.0 in /tools/src/buf (#2870)

build(deps): bump github.com/bufbuild/buf in /tools/src/buf

Bumps [github.com/bufbuild/buf](https://github.com/bufbuild/buf) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/bufbuild/buf/releases)
- [Changelog](https://github.com/bufbuild/buf/blob/main/CHANGELOG.md)
- [Commits](bufbuild/buf@v1.29.0...v1.30.0)

---
updated-dependencies:
- dependency-name: github.com/bufbuild/buf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump github.com/prometheus/common from 0.49.0 to 0.50.0 (#2871)

Bumps [github.com/prometheus/common](https://github.com/prometheus/common) from 0.49.0 to 0.50.0.
- [Release notes](https://github.com/prometheus/common/releases)
- [Commits](prometheus/common@v0.49.0...v0.50.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump fortio.org/fortio from 1.63.3 to 1.63.4 (#2873)

Bumps [fortio.org/fortio](https://github.com/fortio/fortio) from 1.63.3 to 1.63.4.
- [Release notes](https://github.com/fortio/fortio/releases)
- [Commits](fortio/fortio@v1.63.3...v1.63.4)

---
updated-dependencies:
- dependency-name: fortio.org/fortio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add tetrate to adopters (#2874)

add tetrate to adopters

Signed-off-by: huabing zhao <[email protected]>

* fix: Don't override the ALPN array if HTTP/3 is enabled. (#2876)

* Don't override the ALPN array if HTTP/3 is enabled.

Signed-off-by: Lior Okman <[email protected]>

* Removed the unneeded CEL validation for HTTP/3 and ALPN, as well as the
CEL tests.

Signed-off-by: Lior Okman <[email protected]>

* Also regenerate the CRD.

Signed-off-by: Lior Okman <[email protected]>

---------

Signed-off-by: Lior Okman <[email protected]>

* [e2e] eg release upgrade test (#2862)

* [e2e] eg release upgrade test

Signed-off-by: Alexander Volchok <[email protected]>

* fixing linit

Signed-off-by: Alexander Volchok <[email protected]>

* Update test/e2e/tests/eg_upgrade.go

Co-authored-by: zirain <[email protected]>
Signed-off-by: Alex Volchok <[email protected]>

* Update test/e2e/tests/eg_upgrade.go

Co-authored-by: zirain <[email protected]>
Signed-off-by: Alex Volchok <[email protected]>

* adding updated go mod

Signed-off-by: Alexander Volchok <[email protected]>

* fix tests

Signed-off-by: Alexander Volchok <[email protected]>

* move eg upgrade tests to a dedicated suit

Signed-off-by: Alexander Volchok <[email protected]>

* removing unused

Signed-off-by: Alexander Volchok <[email protected]>

* fix code review feedbacks and move e2e clean after the eg upgrades suit

Signed-off-by: Alexander Volchok <[email protected]>

* don't clean after this step yet

Signed-off-by: Alexander Volchok <[email protected]>

* increase helm install / upgrade default timeouts

Signed-off-by: Alexander Volchok <[email protected]>

* restructure test order add an option to execute a single test

Signed-off-by: Alexander Volchok <[email protected]>

* fix kube make single test exec

Signed-off-by: Alexander Volchok <[email protected]>

* change to rc version

Signed-off-by: Alexander Volchok <[email protected]>

* removing loadtest part, changing to simple requests

Signed-off-by: Alexander Volchok <[email protected]>

---------

Signed-off-by: Alexander Volchok <[email protected]>
Signed-off-by: Alex Volchok <[email protected]>
Co-authored-by: zirain <[email protected]>

* Docs for ext auth (#2868)

* docs for ext auth

Signed-off-by: huabing zhao <[email protected]>

* fix lint

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* Remove the uncessary \ (#2883)

remove the \

Signed-off-by: huabing zhao <[email protected]>

* docs: backend tls policy (#2884)

* backend tls docs

Signed-off-by: Guy Daich <[email protected]>

* fix somy copy-paste mistakes

Signed-off-by: Guy Daich <[email protected]>

* fix typo

Signed-off-by: Guy Daich <[email protected]>

---------

Signed-off-by: Guy Daich <[email protected]>

* feat: add PolicyStatus for BackendTrafficPolicy (#2846)

* add PolicyStatus for BTP

Signed-off-by: shawnh2 <[email protected]>

* fix gen-check

Signed-off-by: shawnh2 <[email protected]>

* fix ns problem, add more test and modify controller behavior

Signed-off-by: shawnh2 <[email protected]>

* fix lint

Signed-off-by: shawnh2 <[email protected]>

* make gateway as the ancestor of btp if it is targeting to the gateway

Signed-off-by: shawnh2 <[email protected]>

* fix linter

Signed-off-by: shawnh2 <[email protected]>

* fix go.mod

Signed-off-by: shawnh2 <[email protected]>

* do some polish

Signed-off-by: shawnh2 <[email protected]>

---------

Signed-off-by: shawnh2 <[email protected]>

* Change the Merge behavior to Replace for SecurityPolicy (#2885)

* Change the Merge behavior to Replace for SecurityPolicy

Signed-off-by: huabing zhao <[email protected]>

* add another http route

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* e2e: add weighted backend  (#2863)

* e2e: add backend weighted

Signed-off-by: ShyunnY <[email protected]>

* fix: Fix weight calculation issue and use AlmostEqual func

Signed-off-by: ShyunnY <[email protected]>

* fix: add additional comments

Signed-off-by: ShyunnY <[email protected]>

---------

Signed-off-by: ShyunnY <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>

* http3: use service port in alt-svc header (#2886)

Fixes: #2882

Signed-off-by: Arko Dasgupta <[email protected]>

* bug: add h3 alpn by default if http3 is enabled (#2887)

Fixes: #2875

Signed-off-by: Arko Dasgupta <[email protected]>

* fix: prevent policies targeting non-TLS listeners on the same port from conflicting (#2786)

* * Validate that multiple policies that affect listener configuration don't map to
  the same listener filter chain.
* Change the XDS listener generation so that instead of
  defaultFilterChain for non-TLS routes, a filterChain with a
  destinationPort matcher is used.
  This allows multiple policies attached to non-TLS listeners that
  differ on the destination port to provide different policies without
  conflicting.

Signed-off-by: Lior Okman <[email protected]>

* Make hostname based routing work again for non-TLS listeners

Signed-off-by: Lior Okman <[email protected]>

* Fixed testdata for egctl

Signed-off-by: Lior Okman <[email protected]>

* Make the linter happy

Signed-off-by: Lior Okman <[email protected]>

* Added a unit-test

Signed-off-by: Lior Okman <[email protected]>

* Make the linter happy

Signed-off-by: Lior Okman <[email protected]>

* Update an e2e test with the new filterChain patch

Signed-off-by: Lior Okman <[email protected]>

* Revert changing the XDS translation, since a new listener is created
anyways for each port.

Signed-off-by: Lior Okman <[email protected]>

* Also revert the xds change in the e2e test.

Signed-off-by: Lior Okman <[email protected]>

* Don't need to go over the full XDSIR map - just the current gateway.

Signed-off-by: Lior Okman <[email protected]>

* Refactored to separate the validation and the translation.

Renamed the helper method to a more generic name.

Signed-off-by: Lior Okman <[email protected]>

---------

Signed-off-by: Lior Okman <[email protected]>
Co-authored-by: Guy Daich <[email protected]>

* chore: remove ProcessBackendTLSPoliciesAncestorRef (#2845)

* remove ProcessBackendTLSPoliciesAncestorRef

Signed-off-by: huabing zhao <[email protected]>

* address comments

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* Change the Merge behavior to Replace for BackendTrafficPolicy (#2888)

* Change the Merge behavior to Replace for BackendTrafficPolicy

Signed-off-by: huabing zhao <[email protected]>

* address comments

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>

* shutdown drainTimeout should also affect envoy drain time (#2898)

Signed-off-by: Arko Dasgupta <[email protected]>

* skip publishing empty status for policies (#2902)

* skip publishing empty status for policies

* #2802 skips computing status
if a target resource cannot be found, mainly because that target maybe
irrelevant to this specific translation, its hard to proactively find
that out in the provider layer

* This fix ensures that any empty status is not published and resets any
existing status for a policy

Signed-off-by: Arko Dasgupta <[email protected]>

* also fix for envoypatchpolicy

Signed-off-by: Arko Dasgupta <[email protected]>

* also discard status for backendtlspolicy

Signed-off-by: Arko Dasgupta <[email protected]>

---------

Signed-off-by: Arko Dasgupta <[email protected]>

* docs: multiple gatewayclass and merge gateways deployment mode (#2881)

* docs: multiple gatewayclass and merge gateways deployment mode

Signed-off-by: Karol Szwaj <[email protected]>

* add merged-gateways example

Signed-off-by: Karol Szwaj <[email protected]>

* md lint

Signed-off-by: Karol Szwaj <[email protected]>

* yaml lint

Signed-off-by: Karol Szwaj <[email protected]>

* add user guides

Signed-off-by: Karol Szwaj <[email protected]>

---------

Signed-off-by: Karol Szwaj <[email protected]>
Co-authored-by: Xunzhuo <[email protected]>

* feat: add PolicyStatus for ClientTrafficPolicy (#2895)

* add PolicyStatus for CTP

Signed-off-by: shawnh2 <[email protected]>

* fix gen-check

Signed-off-by: shawnh2 <[email protected]>

* revert discard policy status

Signed-off-by: shawnh2 <[email protected]>

---------

Signed-off-by: shawnh2 <[email protected]>

* Use gwapiv1a2.PolicyStatus for SecurityPolicy Status (#2848)

* use gwapiv1a2.PolicyStatus for SecurityPolicy Status

Signed-off-by: huabing zhao <[email protected]>

* fix lint

Signed-off-by: huabing zhao <[email protected]>

* add test for cross-ns refs

Signed-off-by: huabing zhao <[email protected]>

* add todo

Signed-off-by: huabing zhao <[email protected]>

* Update internal/gatewayapi/securitypolicy.go

Co-authored-by: sh2 <[email protected]>
Signed-off-by: Huabing Zhao <[email protected]>

* address comments

Signed-off-by: huabing zhao <[email protected]>

---------

Signed-off-by: huabing zhao <[email protected]>
Signed-off-by: Huabing Zhao <[email protected]>
Co-authored-by: sh2 <[email protected]>

* Fix oidc doc (#2905)

fix oidc doc

Signed-off-by: huabing zhao <[email protected]>

* Release v1.0 (#2909)

* add v1.0.0 release note

Signed-off-by: bitliu <[email protected]>

* generate v1.0 release page

Signed-off-by: bitliu <[email protected]>

* add v1.0.0 release announcement

Signed-off-by: bitliu <[email protected]>

* generate v1.0.0 docs

Signed-off-by: bitliu <[email protected]>

* update site links

Signed-off-by: bitliu <[email protected]>

* fix linter

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>

---------

Signed-off-by: bitliu <[email protected]>
Signed-off-by: yeedove <[email protected]>
Signed-off-by: Yuneui Jeong <[email protected]>
Signed-off-by: Yuneui <[email protected]>
Signed-off-by: Arko Dasgupta <[email protected]>
Signed-off-by: Lior Okman <[email protected]>
Signed-off-by: Dennis Zhou <[email protected]>
Signed-off-by: phantooom <[email protected]>
Signed-off-by: zou rui <[email protected]>
Signed-off-by: zirain <[email protected]>
Signed-off-by: huabing zhao <[email protected]>
Signed-off-by: shawnh2 <[email protected]>
Signed-off-by: Ardika Bagus <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Huabing Zhao <[email protected]>
Signed-off-by: David Alger <[email protected]>
Signed-off-by: Guy Daich <[email protected]>
Signed-off-by: Alexander Volchok <[email protected]>
Signed-off-by: Alex Volchok <[email protected]>
Signed-off-by: ShyunnY <[email protected]>
Signed-off-by: Karol Szwaj <[email protected]>
Co-authored-by: Guy Daich <[email protected]>
Co-authored-by: Dennis Zhou <[email protected]>
Co-authored-by: Yuneui Jeong <[email protected]>
Co-authored-by: Arko Dasgupta <[email protected]>
Co-authored-by: Lior Okman <[email protected]>
Co-authored-by: Dennis Zhou <[email protected]>
Co-authored-by: zou rui <[email protected]>
Co-authored-by: Huabing Zhao <[email protected]>
Co-authored-by: zirain <[email protected]>
Co-authored-by: sh2 <[email protected]>
Co-authored-by: Ardika <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Alger <[email protected]>
Co-authored-by: Alex Volchok <[email protected]>
Co-authored-by: Shyunn <[email protected]>
Co-authored-by: Karol Szwaj <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed kind/bug Something isn't working road-to-ga triage
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants