Skip to content

Commit d3fa856

Browse files
authored
Tls Passthrough support (#643)
* TLS_PASSTHROUGH Support
1 parent 6c25553 commit d3fa856

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+3562
-416
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,7 @@ go.work*
1717
# gomock generated prog.go
1818
pkg/aws/services/gomock_reflect_*
1919

20+
pkg/**/prog.*
21+
2022
# Image build tarballed bundles
2123
*.tgz

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ vet: ## Vet the code and dependencies
6666
if [ "${CI}" = true ]; then\
6767
exit 1;\
6868
fi;}
69-
cd test && go vet ./...
69+
cd test && go mod tidy && go vet ./...
7070

7171

7272
.PHONY: lint
@@ -131,8 +131,8 @@ e2e-test: ## Run e2e tests against cluster pointed to by ~/.kube/config
131131
.PHONY: e2e-clean
132132
e2e-clean: ## Delete eks resources created in the e2e test namespace
133133
@echo -n "Cleaning up e2e tests... "
134-
@kubectl delete namespace $(e2e-test-namespace) > /dev/null 2>&1
135-
@kubectl create namespace $(e2e-test-namespace) > /dev/null 2>&1
134+
-@kubectl delete namespace $(e2e-test-namespace)
135+
@kubectl create namespace $(e2e-test-namespace)
136136
@echo "Done!"
137137

138138
.PHONY: api-reference

config/crds/bases/application-networking.k8s.aws_targetgrouppolicies.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ spec:
8282
type: string
8383
protocolVersion:
8484
description: The protocol version used when performing health
85-
checks on targets. Defaults to HTTP/1.
85+
checks on targets.
8686
enum:
8787
- HTTP1
8888
- HTTP2
@@ -108,15 +108,16 @@ spec:
108108
type: object
109109
protocol:
110110
description: "The protocol to use for routing traffic to the targets.
111-
Supported values are HTTP (default) and HTTPS. \n Changes to this
112-
value results in a replacement of VPC Lattice target group."
111+
Supported values are HTTP (default), HTTPS and TCP. \n Changes to
112+
this value results in a replacement of VPC Lattice target group."
113113
type: string
114114
protocolVersion:
115115
description: "The protocol version to use. Supported values are HTTP1
116-
(default) and HTTP2. When a policy is behind GRPCRoute, this field
117-
value will be ignored as GRPC is only supported through HTTP/2.
118-
\n Changes to this value results in a replacement of VPC Lattice
119-
target group."
116+
(default) and HTTP2. When a policy Protocol is TCP, you should not
117+
set this field. Otherwise, the whole TargetGroupPolicy will not
118+
take effect. When a policy is behind GRPCRoute, this field value
119+
will be ignored as GRPC is only supported through HTTP/2. \n Changes
120+
to this value results in a replacement of VPC Lattice target group."
120121
type: string
121122
targetRef:
122123
description: "TargetRef points to the kubernetes Service resource

config/crds/bases/gateway.networking.k8s.io_tlsroutes.yaml

Lines changed: 894 additions & 0 deletions
Large diffs are not rendered by default.

config/crds/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: kustomize.config.k8s.io/v1beta1
22
kind: Kustomization
33
resources:
44
- bases/k8s-gateway-v0.6.1.yaml
5+
- bases/gateway.networking.k8s.io_tlsroutes.yaml
56
- bases/externaldns.k8s.io_dnsendpoints.yaml
67
- bases/application-networking.k8s.aws_serviceexports.yaml
78
- bases/application-networking.k8s.aws_serviceimports.yaml

config/rbac/cluster-role-controller.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,32 @@ rules:
232232
- get
233233
- patch
234234
- update
235+
- apiGroups:
236+
- gateway.networking.k8s.io
237+
resources:
238+
- tlsroutes
239+
verbs:
240+
- create
241+
- delete
242+
- get
243+
- list
244+
- patch
245+
- update
246+
- watch
247+
- apiGroups:
248+
- gateway.networking.k8s.io
249+
resources:
250+
- tlsroutes/finalizers
251+
verbs:
252+
- update
253+
- apiGroups:
254+
- gateway.networking.k8s.io
255+
resources:
256+
- tlsroutes/status
257+
verbs:
258+
- get
259+
- patch
260+
- update
235261
- apiGroups:
236262
- application-networking.k8s.aws
237263
resources:

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module github.com/aws/aws-application-networking-k8s
33
go 1.20
44

55
require (
6-
github.com/aws/aws-sdk-go v1.50.3
6+
github.com/aws/aws-sdk-go v1.53.7
77
github.com/go-logr/zapr v1.2.4
88
github.com/golang/mock v1.6.0
99
github.com/hashicorp/golang-lru/v2 v2.0.7

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
github.com/aws/aws-sdk-go v1.50.3 h1:NnXC/ukOakZbBwQcwAzkAXYEB4SbWboP9TFx9vvhIrE=
2-
github.com/aws/aws-sdk-go v1.50.3/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
1+
github.com/aws/aws-sdk-go v1.53.7 h1:ZSsRYHLRxsbO2rJR2oPMz0SUkJLnBkN+1meT95B6Ixs=
2+
github.com/aws/aws-sdk-go v1.53.7/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
33
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
44
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
55
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=

helm/crds/application-networking.k8s.aws_targetgrouppolicies.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ spec:
8282
type: string
8383
protocolVersion:
8484
description: The protocol version used when performing health
85-
checks on targets. Defaults to HTTP/1.
85+
checks on targets.
8686
enum:
8787
- HTTP1
8888
- HTTP2
@@ -108,15 +108,16 @@ spec:
108108
type: object
109109
protocol:
110110
description: "The protocol to use for routing traffic to the targets.
111-
Supported values are HTTP (default) and HTTPS. \n Changes to this
112-
value results in a replacement of VPC Lattice target group."
111+
Supported values are HTTP (default), HTTPS and TCP. \n Changes to
112+
this value results in a replacement of VPC Lattice target group."
113113
type: string
114114
protocolVersion:
115115
description: "The protocol version to use. Supported values are HTTP1
116-
(default) and HTTP2. When a policy is behind GRPCRoute, this field
117-
value will be ignored as GRPC is only supported through HTTP/2.
118-
\n Changes to this value results in a replacement of VPC Lattice
119-
target group."
116+
(default) and HTTP2. When a policy Protocol is TCP, you should not
117+
set this field. Otherwise, the whole TargetGroupPolicy will not
118+
take effect. When a policy is behind GRPCRoute, this field value
119+
will be ignored as GRPC is only supported through HTTP/2. \n Changes
120+
to this value results in a replacement of VPC Lattice target group."
120121
type: string
121122
targetRef:
122123
description: "TargetRef points to the kubernetes Service resource

helm/templates/cluster-role-controller.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,32 @@ rules:
229229
- get
230230
- patch
231231
- update
232+
- apiGroups:
233+
- gateway.networking.k8s.io
234+
resources:
235+
- tlsroutes
236+
verbs:
237+
- create
238+
- delete
239+
- get
240+
- list
241+
- patch
242+
- update
243+
- watch
244+
- apiGroups:
245+
- gateway.networking.k8s.io
246+
resources:
247+
- tlsroutes/finalizers
248+
verbs:
249+
- update
250+
- apiGroups:
251+
- gateway.networking.k8s.io
252+
resources:
253+
- tlsroutes/status
254+
verbs:
255+
- get
256+
- patch
257+
- update
232258
- apiGroups:
233259
- gateway.networking.k8s.io
234260
resources:

0 commit comments

Comments
 (0)