Skip to content

Commit

Permalink
[release/v1.0] Cherry-pick fixes for v1.0.2 (#3593)
Browse files Browse the repository at this point in the history
* Use <proto>-<port> for naming service and container ports (#3130)

* Use <proto>-<port> for naming service and container ports

Takes inspiration from #2973
to name port, not off the listener but off the port-proto ensuring
that patch (during updates) also works

Fixes: #3111

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

* testdata

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

* fix test

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

* move to helper pkg

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

* fix e2e

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

* lint

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

* fix e2e

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

---------

Signed-off-by: Arko Dasgupta <[email protected]>
(cherry picked from commit c41247b)
Signed-off-by: Arko Dasgupta <[email protected]>

* bug: Tests are failing due to an expired certificate in one of the translator tests (#3476)

Replaced a certificate in the test that had expired.

The old certificate expired May 24 2024:

Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            ca:7c:5c:b7:25:5d:bb:f9
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: CN=test.example.com
        Validity
            Not Before: May 25 14:10:42 2023 GMT
            Not After : May 24 14:10:42 2024 GMT
        Subject: CN=test.example.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (384 bit)
                pub:
                    04:78:cb:47:0b:78:48:7a:ad:90:b1:d9:2d:4a:2f:
                    d9:35:1f:cc:28:d6:af:4a:6d:c7:36:7e:ed:1a:88:
                    1f:a9:aa:a7:f0:04:a0:1c:86:bb:c9:45:3e:f8:fb:
                    28:0c:3e:a4:7f:ef:82:7b:bb:ac:77:49:90:3b:54:
                    a7:75:82:16:8f:64:0b:88:8c:f4:35:91:fc:07:f4:
                    2b:e2:2e:c9:d0:82:b0:b1:09:54:9e:e9:d9:aa:fe:
                    4a:63:d4:cb:41:ad:27
                ASN1 OID: secp384r1
                NIST CURVE: P-384
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:65:02:31:00:86:4e:33:e4:86:37:4c:26:a7:be:57:51:44:
        8e:6c:88:ea:3c:03:58:00:a3:5e:7a:53:9e:2c:54:b3:ab:82:
        25:fe:4c:e4:be:4d:8c:56:e2:da:d8:de:d2:20:ca:13:55:02:
        30:0c:2a:27:a7:fd:2b:a9:87:4f:06:ea:4e:2d:cc:48:4d:9d:
        d7:cf:73:88:6d:98:54:18:83:6d:e5:a9:c3:84:75:c9:ee:c6:
        0d:1a:15:a2:8c:68:86:88:83:17:b9:7a:9b

The new certificate is good for 10 years.

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            42:29:94:01:e1:cb:32:dc:f8:b4:64:6d:9e:1e:28:8d:7b:5a:53:3b
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: CN=test.example.com
        Validity
            Not Before: May 25 09:11:37 2024 GMT
            Not After : May 23 09:11:37 2034 GMT
        Subject: CN=test.example.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (384 bit)
                pub:
                    04:78:cb:47:0b:78:48:7a:ad:90:b1:d9:2d:4a:2f:
                    d9:35:1f:cc:28:d6:af:4a:6d:c7:36:7e:ed:1a:88:
                    1f:a9:aa:a7:f0:04:a0:1c:86:bb:c9:45:3e:f8:fb:
                    28:0c:3e:a4:7f:ef:82:7b:bb:ac:77:49:90:3b:54:
                    a7:75:82:16:8f:64:0b:88:8c:f4:35:91:fc:07:f4:
                    2b:e2:2e:c9:d0:82:b0:b1:09:54:9e:e9:d9:aa:fe:
                    4a:63:d4:cb:41:ad:27
                ASN1 OID: secp384r1
                NIST CURVE: P-384
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                DA:49:EA:13:99:CA:DE:10:D2:70:2B:27:E2:60:AA:E0:F4:7B:EA:50
            X509v3 Authority Key Identifier:
                DA:49:EA:13:99:CA:DE:10:D2:70:2B:27:E2:60:AA:E0:F4:7B:EA:50
            X509v3 Basic Constraints: critical
                CA:TRUE
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:65:02:30:6d:4e:25:4f:84:f4:38:7e:c4:de:c8:d1:55:0c:
        af:4b:e4:c0:a1:f3:59:de:fb:48:0a:96:07:65:29:9f:fe:7c:
        3c:ee:f0:c9:ca:17:bc:cd:bd:a4:31:38:24:4f:c6:e5:02:31:
        00:e6:9a:ce:52:60:4b:b8:0e:e7:23:6d:8a:69:a0:21:e5:d1:
        bb:e8:e9:09:6a:32:d6:8c:58:49:f4:76:86:e6:c1:b8:24:d3:
        44:08:fa:1c:ef:34:70:c1:24:76:a9:35:8f

Signed-off-by: Lior Okman <[email protected]>
(cherry picked from commit c2c9b43)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix: use Patch API for infra-client (#3034)

* fix(infrastructure): use Patch API instead

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

* chore: add interceptor for ApplyPatch on fake client

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

* chore: trigger make generate

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

* chore: remove update verb

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

* chore: SetUID no longer needed

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

---------

Signed-off-by: Ardika Bagus <[email protected]>
(cherry picked from commit cc01bf5)
Signed-off-by: Arko Dasgupta <[email protected]>

* refactor: infra client CreateOrUpdate to ServerSideApply (#3134)

* refactor(infra-client): CreateOrUpdate to ServerSideApply

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

* test(infra-client): add e2e test for ServerSideApply

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

* chore: remove comment

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

* chore: fix linter

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

---------

Signed-off-by: Ardika Bagus <[email protected]>
(cherry picked from commit 81108f2)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix: duplicated xroutes are added to gatewayapi.Resources (#3282)

fix duplicated xroutes

Signed-off-by: Dingkang Li <[email protected]>
(cherry picked from commit 32c6876)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix: add proxy protocol always as first listenerFilter (#3332)

* add proxy protocol always as first listenerFilter

Signed-off-by: Jesse Haka <[email protected]>

* add test

Signed-off-by: Jesse Haka <[email protected]>

---------

Signed-off-by: Jesse Haka <[email protected]>
(cherry picked from commit 6d8f2dc)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix: security policy reference grant from field type (#3386)

fix: security policy reference grant from field

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
(cherry picked from commit bd72474)
Signed-off-by: Arko Dasgupta <[email protected]>

* bug: Route extension filters with different types but the same name and namespace aren't correctly cached (#3388)

* Route extension filters are unstructured.Unstructured instances, so
caching them should be done with both the name and type as a key.

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

* Moved NamespacedNameAndType to the Kubernetes helpers, and renamed it to
be clearer about what it has.

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

* Also renamed the helper function.

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

* Moved to the 'utils' package to be beside NamespacedName.

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

* Renamed structure according to review, and updated the comments

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

---------

Signed-off-by: Lior Okman <[email protected]>
(cherry picked from commit 95e2e35)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix(translator): set ignoreCase for header matchers in extAuth (#3420)

fix: set ignoreCase for header matchers in extAuth

Signed-off-by: haoqixu <[email protected]>
(cherry picked from commit 8206e11)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix secrets/configmap updates do not trigger a controller reconcile (#3499)

* ensure both secrets and config map reconcile upon changes

ensure secret/config map changes trigger a reconcile

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

* Update controller.go

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

* Update controller.go

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

---------

Signed-off-by: Alex Volchok <[email protected]>
(cherry picked from commit ff2c598)
Signed-off-by: Arko Dasgupta <[email protected]>

* feat: backend TLS SAN validation (#3507)

* BTLS: enforce SAN validation

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

* use dedicated cert for ext-proc e2e test

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

* fix ext-proc server client tls settings

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

---------

Signed-off-by: Guy Daich <[email protected]>
(cherry picked from commit dc201ba)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix: ReplaceFullPath not working for root path (/) (#3530)

* fix: ReplaceFullPath not working for root path (/)

Takes #2817 forward

Signed-off-by: Arko Dasgupta <[email protected]>
(cherry picked from commit 8f83c3d)
Signed-off-by: Arko Dasgupta <[email protected]>

* chore: Remove namespace restriction for EnvoyProxy parametersRef reso… (#3544)

chore: Remove namespace restriction for EnvoyProxy parametersRef resource
(cherry picked from commit b870e39)
Signed-off-by: Arko Dasgupta <[email protected]>

* fix test

rm invalid diff related to #3134

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

* fix GatewayInfraResourceTest

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

---------

Signed-off-by: Arko Dasgupta <[email protected]>
Signed-off-by: Lior Okman <[email protected]>
Signed-off-by: Ardika Bagus <[email protected]>
Signed-off-by: Dingkang Li <[email protected]>
Signed-off-by: Jesse Haka <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: haoqixu <[email protected]>
Signed-off-by: Alex Volchok <[email protected]>
Signed-off-by: Guy Daich <[email protected]>
Co-authored-by: Lior Okman <[email protected]>
Co-authored-by: Ardika <[email protected]>
Co-authored-by: Dingkang Li <[email protected]>
Co-authored-by: Jesse Haka <[email protected]>
Co-authored-by: Eguzki Astiz Lezaun <[email protected]>
Co-authored-by: xu0o0 <[email protected]>
Co-authored-by: Alex Volchok <[email protected]>
Co-authored-by: Guy Daich <[email protected]>
Co-authored-by: zou rui <[email protected]>
  • Loading branch information
10 people authored Jun 12, 2024
1 parent 62ff3e7 commit 7ffa89f
Show file tree
Hide file tree
Showing 264 changed files with 1,042 additions and 476 deletions.
6 changes: 3 additions & 3 deletions charts/gateway-helm/templates/infra-manager-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,26 @@ rules:
verbs:
- create
- get
- update
- delete
- patch
- apiGroups:
- apps
resources:
- deployments
verbs:
- create
- get
- update
- delete
- patch
- apiGroups:
- autoscaling
resources:
- horizontalpodautoscalers
verbs:
- create
- get
- update
- delete
- patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ infraIR:
name: envoy-gateway-system/eg/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
4 changes: 4 additions & 0 deletions internal/gatewayapi/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,10 @@ func irUDPListenerName(listener *ListenerContext, udpRoute *UDPRouteContext) str
return fmt.Sprintf("%s/%s/%s/%s", listener.gateway.Namespace, listener.gateway.Name, listener.Name, udpRoute.Name)
}

func irListenerPortName(proto ir.ProtocolType, port int32) string {
return strings.ToLower(fmt.Sprintf("%s-%d", proto, port))
}

func irRoutePrefix(route RouteContext) string {
// add a "/" at the end of the prefix to prevent mismatching routes with the
// same prefix. For example, route prefix "/foo/" should not match a route "/foobar".
Expand Down
6 changes: 1 addition & 5 deletions internal/gatewayapi/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,8 @@ func (t *Translator) processInfraIRListener(listener *ListenerContext, infraIR I
proto = ir.UDPProtocolType
}

infraPortName := string(listener.Name)
if t.MergeGateways {
infraPortName = irHTTPListenerName(listener)
}
infraPort := ir.ListenerPort{
Name: infraPortName,
Name: irListenerPortName(proto, servicePort.port),
Protocol: proto,
ServicePort: servicePort.port,
ContainerPort: servicePortToContainerPort(servicePort.port),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ infraIR:
name: envoy-gateway/gateway-btls/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ infraIR:
name: envoy-gateway/gateway-btls/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ infraIR:
name: envoy-gateway/gateway-btls/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ infraIR:
name: envoy-gateway/gateway-btls/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ infraIR:
name: envoy-gateway/gateway-btls/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ infraIR:
name: another-namespace/not-same-namespace-gateway/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -520,7 +520,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -535,14 +535,14 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
- address: null
name: envoy-gateway/gateway-2/tcp
ports:
- containerPort: 10053
name: tcp
name: tcp-53
protocol: TCP
servicePort: 53
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -318,7 +318,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -285,7 +285,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -300,7 +300,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -241,7 +241,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -451,7 +451,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -340,7 +340,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -233,7 +233,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -253,7 +253,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -252,7 +252,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ infraIR:
name: default/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand All @@ -237,7 +237,7 @@ infraIR:
name: envoy-gateway/gateway-2/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ infraIR:
name: envoy-gateway/gateway-1/http
ports:
- containerPort: 10080
name: http
name: http-80
protocol: HTTP
servicePort: 80
metadata:
Expand Down
Loading

0 comments on commit 7ffa89f

Please sign in to comment.