Skip to content

Commit 5e670d6

Browse files
kate-osbornKate Osborn
authored and
Kate Osborn
committed
Add skeleton for gRPC Commander Service (#408)
1 parent ee3ae5c commit 5e670d6

File tree

9 files changed

+350
-14
lines changed

9 files changed

+350
-14
lines changed

build/nginx-with-agent/nginx-agent.conf

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,10 @@ dataplane:
2828
metrics:
2929
# specify the size of a buffer to build before sending metrics
3030
bulk_size: 20
31-
# specify metrics poll interval
32-
report_interval: 1m
31+
# setting the report interval to 1 year because our control plane doesn't implement the metrics server
32+
# so the agent spams the logs with error messages and retries. Ideally, we'll be able to disable the metrics
33+
# client altogether in the future.
34+
report_interval: 8760h
3335
collection_interval: 15s
3436
mode: aggregated
3537

@@ -40,3 +42,12 @@ config_dirs: "/etc/nginx"
4042
api:
4143
# default port for Agent API, this is for the server configuration of the REST API
4244
port: 8081
45+
46+
server:
47+
host: 127.0.0.1
48+
grpcPort: 54789
49+
50+
# TLS is temporarily disabled. Once we fully separate the data plane from the control plane TLS will be enabled.
51+
tls:
52+
enable: false
53+
skip_verify: true

build/nginx-with-agent/nginx-with-agent.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ spec:
2020
imagePullPolicy: IfNotPresent
2121
name: nginx-with-agent
2222
securityContext:
23-
allowPrivilegeEscalation: true
2423
runAsNonRoot: true
2524
runAsUser: 101 #nginx
2625
capabilities:

deploy/manifests/nginx-gateway.yaml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ spec:
116116
args:
117117
- --gateway-ctlr-name=k8s-gateway.nginx.org/nginx-gateway-controller
118118
- --gatewayclass=nginx
119-
- image: nginx:1.23
119+
- image: nginx:1.23 # I will remove the nginx container once the control plane can push config to nginx-with-agent.
120120
imagePullPolicy: IfNotPresent
121121
name: nginx
122122
ports:
@@ -131,3 +131,17 @@ spec:
131131
mountPath: /var/lib/nginx
132132
- name: njs-modules
133133
mountPath: /usr/lib/nginx/modules/njs
134+
- name: nginx-with-agent
135+
image: docker.io/nginx-kubernetes-gateway/nginx-with-agent:edge
136+
imagePullPolicy: IfNotPresent
137+
securityContext:
138+
runAsNonRoot: true
139+
runAsUser: 101 #nginx
140+
capabilities:
141+
drop:
142+
- ALL
143+
ports:
144+
- name: http
145+
containerPort: 8080
146+
- name: https
147+
containerPort: 8443

go.mod

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@ require (
66
github.com/go-logr/logr v1.2.3
77
github.com/google/go-cmp v0.5.9
88
github.com/maxbrunsfeld/counterfeiter/v6 v6.6.1
9+
github.com/nginx/agent/sdk/v2 v2.23.1
910
github.com/onsi/ginkgo v1.16.5
1011
github.com/onsi/ginkgo/v2 v2.9.0
1112
github.com/onsi/gomega v1.27.2
1213
github.com/spf13/pflag v1.0.5
14+
google.golang.org/grpc v1.52.0
1315
k8s.io/api v0.26.2
1416
k8s.io/apimachinery v0.26.2
1517
k8s.io/client-go v0.26.2
@@ -19,6 +21,7 @@ require (
1921

2022
require (
2123
github.com/beorn7/perks v1.0.1 // indirect
24+
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
2225
github.com/cespare/xxhash/v2 v2.1.2 // indirect
2326
github.com/davecgh/go-spew v1.1.1 // indirect
2427
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
@@ -36,7 +39,8 @@ require (
3639
github.com/google/gnostic v0.5.7-v3refs // indirect
3740
github.com/google/gofuzz v1.1.0 // indirect
3841
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
39-
github.com/google/uuid v1.1.2 // indirect
42+
github.com/google/uuid v1.3.0 // indirect
43+
github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
4044
github.com/imdario/mergo v0.3.12 // indirect
4145
github.com/josharian/intern v1.0.0 // indirect
4246
github.com/json-iterator/go v1.1.12 // indirect
@@ -45,26 +49,30 @@ require (
4549
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
4650
github.com/modern-go/reflect2 v1.0.2 // indirect
4751
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
52+
github.com/nginxinc/nginx-go-crossplane v0.4.1 // indirect
4853
github.com/nxadm/tail v1.4.8 // indirect
4954
github.com/pkg/errors v0.9.1 // indirect
5055
github.com/prometheus/client_golang v1.14.0 // indirect
5156
github.com/prometheus/client_model v0.3.0 // indirect
5257
github.com/prometheus/common v0.37.0 // indirect
5358
github.com/prometheus/procfs v0.8.0 // indirect
59+
github.com/rogpeppe/go-internal v1.9.0 // indirect
60+
github.com/sirupsen/logrus v1.9.0 // indirect
5461
go.uber.org/atomic v1.9.0 // indirect
5562
go.uber.org/multierr v1.7.0 // indirect
5663
go.uber.org/zap v1.24.0 // indirect
5764
golang.org/x/mod v0.8.0 // indirect
5865
golang.org/x/net v0.7.0 // indirect
59-
golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b // indirect
66+
golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 // indirect
6067
golang.org/x/sys v0.5.0 // indirect
6168
golang.org/x/term v0.5.0 // indirect
6269
golang.org/x/text v0.7.0 // indirect
6370
golang.org/x/time v0.3.0 // indirect
6471
golang.org/x/tools v0.6.0 // indirect
6572
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
6673
google.golang.org/appengine v1.6.7 // indirect
67-
google.golang.org/protobuf v1.28.1 // indirect
74+
google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect
75+
google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect
6876
gopkg.in/inf.v0 v0.9.1 // indirect
6977
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
7078
gopkg.in/yaml.v2 v2.4.0 // indirect

0 commit comments

Comments
 (0)