Skip to content

Commit 2f75ed2

Browse files
authored
Merge branch 'main' into docs-gateway-mode
2 parents 4a924b1 + 8455177 commit 2f75ed2

37 files changed

+2706
-785
lines changed

.github/dependabot.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,19 +36,23 @@ updates:
3636
# Ignore github.com/docker/docker, since it should be updated alongside github.com/google/go-containerregistry
3737
- dependency-name: github.com/docker/docker
3838
groups:
39-
github.com:
39+
gomod:
4040
patterns:
4141
- "github.com*"
42+
- "go.opentelemetry.io*"
43+
- "golang*"
44+
- "google*"
45+
- "fortio.org*"
46+
- "gopkg.in*"
47+
- "helm.sh*"
48+
- "gomodules.xyz"
49+
exclude-patterns:
50+
# Exclude envoyproxy/go-control-plane, since it needs more work to update
51+
- "github.com/envoyproxy/go-control-plane*"
4252
k8s.io:
4353
patterns:
4454
- "k8s.io/*"
4555
- "sigs.k8s.io/*"
46-
go.opentelemetry.io:
47-
patterns:
48-
- "go.opentelemetry.io*"
49-
# Merge golang/google groups into group, since it should be updated alongside opentelemetry
50-
- "golang*"
51-
- "google*"
5256
- package-ecosystem: pip
5357
directories:
5458
- /tools/src/codespell

internal/cmd/server.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,10 +161,8 @@ func startRunners(ctx context.Context, cfg *config.Server) (err error) {
161161

162162
// Setup the Extension Manager
163163
var extMgr types.Manager
164-
if cfg.EnvoyGateway.Provider.Type == egv1a1.ProviderTypeKubernetes {
165-
if extMgr, err = extensionregistry.NewManager(cfg); err != nil {
166-
return err
167-
}
164+
if extMgr, err = extensionregistry.NewManager(cfg, cfg.EnvoyGateway.Provider.Type == egv1a1.ProviderTypeKubernetes); err != nil {
165+
return err
168166
}
169167

170168
runners := []struct {

internal/extension/registry/extension_manager.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,14 @@ type Manager struct {
5959
}
6060

6161
// NewManager returns a new Manager
62-
func NewManager(cfg *config.Server) (extTypes.Manager, error) {
63-
cli, err := k8scli.New(k8sclicfg.GetConfigOrDie(), k8scli.Options{Scheme: envoygateway.GetScheme()})
64-
if err != nil {
65-
return nil, err
62+
func NewManager(cfg *config.Server, inK8s bool) (extTypes.Manager, error) {
63+
var cli k8scli.Client
64+
var err error
65+
if inK8s {
66+
cli, err = k8scli.New(k8sclicfg.GetConfigOrDie(), k8scli.Options{Scheme: envoygateway.GetScheme()})
67+
if err != nil {
68+
return nil, err
69+
}
6670
}
6771

6872
var extension *egv1a1.ExtensionManager
@@ -271,6 +275,9 @@ func setupGRPCOpts(ctx context.Context, client k8scli.Client, ext *egv1a1.Extens
271275
if ext.Service == nil {
272276
return nil, errors.New("the registered extension doesn't have a service config")
273277
}
278+
if ext.Service.TLS != nil && client == nil {
279+
return nil, errors.New("the registered extension's service config has TLS enabled but no k8s client was provided")
280+
}
274281

275282
var opts []grpc.DialOption
276283
if ext.Service.TLS != nil {

internal/gatewayapi/testdata/gateway-namespace-mode-infra-httproute.in.yaml

Lines changed: 118 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,34 @@ gateways:
1313
allowedRoutes:
1414
namespaces:
1515
from: All
16+
- apiVersion: gateway.networking.k8s.io/v1
17+
kind: Gateway
18+
metadata:
19+
namespace: default
20+
name: gateway-2
21+
spec:
22+
gatewayClassName: envoy-gateway-class
23+
listeners:
24+
- name: http
25+
protocol: HTTP
26+
port: 80
27+
allowedRoutes:
28+
namespaces:
29+
from: All
30+
- apiVersion: gateway.networking.k8s.io/v1
31+
kind: Gateway
32+
metadata:
33+
namespace: test-ns
34+
name: gateway-3
35+
spec:
36+
gatewayClassName: envoy-gateway-class
37+
listeners:
38+
- name: http
39+
protocol: HTTP
40+
port: 80
41+
allowedRoutes:
42+
namespaces:
43+
from: All
1644
httpRoutes:
1745
- apiVersion: gateway.networking.k8s.io/v1
1846
kind: HTTPRoute
@@ -21,12 +49,101 @@ httpRoutes:
2149
name: httproute-1
2250
spec:
2351
parentRefs:
24-
- namespace: envoy-gateway
52+
- namespace: default
2553
name: gateway-1
2654
rules:
2755
- matches:
2856
- path:
2957
value: "/"
3058
backendRefs:
3159
- name: service-1
60+
namespace: default
61+
port: 8080
62+
- apiVersion: gateway.networking.k8s.io/v1
63+
kind: HTTPRoute
64+
metadata:
65+
namespace: default
66+
name: httproute-2
67+
spec:
68+
parentRefs:
69+
- namespace: default
70+
name: gateway-2
71+
rules:
72+
- matches:
73+
- path:
74+
value: "/"
75+
backendRefs:
76+
- name: service-2
77+
namespace: default
78+
port: 8080
79+
- apiVersion: gateway.networking.k8s.io/v1
80+
kind: HTTPRoute
81+
metadata:
82+
namespace: test-ns
83+
name: httproute-3
84+
spec:
85+
parentRefs:
86+
- namespace: test-ns
87+
name: gateway-3
88+
rules:
89+
- matches:
90+
- path:
91+
value: "/"
92+
backendRefs:
93+
- name: service-3
94+
namespace: test-ns
3295
port: 8080
96+
services:
97+
- apiVersion: v1
98+
kind: Service
99+
metadata:
100+
namespace: default
101+
name: service-1
102+
spec:
103+
clusterIP: 1.1.1.1
104+
ports:
105+
- name: http
106+
port: 8080
107+
protocol: TCP
108+
targetPort: 8080
109+
- apiVersion: v1
110+
kind: Service
111+
metadata:
112+
namespace: default
113+
name: service-2
114+
spec:
115+
clusterIP: 2.2.2.2
116+
ports:
117+
- name: http
118+
port: 8080
119+
protocol: TCP
120+
targetPort: 8080
121+
- apiVersion: v1
122+
kind: Service
123+
metadata:
124+
namespace: default
125+
name: service-2
126+
spec:
127+
clusterIP: 2.2.2.2
128+
ports:
129+
- name: http
130+
port: 8080
131+
protocol: TCP
132+
targetPort: 8080
133+
- apiVersion: v1
134+
kind: Service
135+
metadata:
136+
namespace: test-ns
137+
name: service-3
138+
spec:
139+
clusterIP: 2.2.2.2
140+
ports:
141+
- name: http
142+
port: 8080
143+
protocol: TCP
144+
targetPort: 8080
145+
namespaces:
146+
- apiVersion: v1
147+
kind: Namespace
148+
metadata:
149+
name: test-ns

0 commit comments

Comments
 (0)