Skip to content

Commit c28a428

Browse files
committed
fix: add internal v2 ports for nodes behind reverse proxy (#1646)
1 parent b8bd6f4 commit c28a428

File tree

4 files changed

+35
-4
lines changed

4 files changed

+35
-4
lines changed

node/config.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ type Config struct {
4747
InternalDispersalPort string
4848
V2DispersalPort string
4949
V2RetrievalPort string
50+
InternalV2DispersalPort string
51+
InternalV2RetrievalPort string
5052
EnableNodeApi bool
5153
NodeApiPort string
5254
EnableMetrics bool
@@ -305,6 +307,15 @@ func NewConfig(ctx *cli.Context) (*Config, error) {
305307

306308
v2DispersalPort := ctx.GlobalString(flags.V2DispersalPortFlag.Name)
307309
v2RetrievalPort := ctx.GlobalString(flags.V2RetrievalPortFlag.Name)
310+
internalV2DispersalPort := ctx.GlobalString(flags.InternalV2DispersalPortFlag.Name)
311+
internalV2RetrievalPort := ctx.GlobalString(flags.InternalV2RetrievalPortFlag.Name)
312+
if internalV2DispersalPort == "" {
313+
internalV2DispersalPort = v2DispersalPort
314+
}
315+
if internalV2RetrievalPort == "" {
316+
internalV2RetrievalPort = v2RetrievalPort
317+
}
318+
308319
if v2Enabled {
309320
if v2DispersalPort == "" {
310321
return nil, errors.New("v2 dispersal port (NODE_V2_DISPERSAL_PORT) must be defined when v2 is enabled")
@@ -326,6 +337,8 @@ func NewConfig(ctx *cli.Context) (*Config, error) {
326337
InternalRetrievalPort: internalRetrievalFlag,
327338
V2DispersalPort: v2DispersalPort,
328339
V2RetrievalPort: v2RetrievalPort,
340+
InternalV2DispersalPort: internalV2DispersalPort,
341+
InternalV2RetrievalPort: internalV2RetrievalPort,
329342
EnableNodeApi: ctx.GlobalBool(flags.EnableNodeApiFlag.Name),
330343
NodeApiPort: ctx.GlobalString(flags.NodeApiPortFlag.Name),
331344
EnableMetrics: ctx.GlobalBool(flags.EnableMetricsFlag.Name),

node/flags/flags.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,18 @@ var (
6767
Required: false,
6868
EnvVar: common.PrefixEnvVar(EnvVarPrefix, "V2_RETRIEVAL_PORT"),
6969
}
70+
InternalV2DispersalPortFlag = cli.StringFlag{
71+
Name: common.PrefixFlag(FlagPrefix, "internal-v2-dispersal-port"),
72+
Usage: "Port at which node listens for v2 dispersal calls (used when node is behind NGINX)",
73+
Required: false,
74+
EnvVar: common.PrefixEnvVar(EnvVarPrefix, "INTERNAL_V2_DISPERSAL_PORT"),
75+
}
76+
InternalV2RetrievalPortFlag = cli.StringFlag{
77+
Name: common.PrefixFlag(FlagPrefix, "internal-v2-retrieval-port"),
78+
Usage: "Port at which node listens for v2 retrieval calls (used when node is behind NGINX)",
79+
Required: false,
80+
EnvVar: common.PrefixEnvVar(EnvVarPrefix, "INTERNAL_V2_RETRIEVAL_PORT"),
81+
}
7082
EnableNodeApiFlag = cli.BoolFlag{
7183
Name: common.PrefixFlag(FlagPrefix, "enable-node-api"),
7284
Usage: "enable node-api to serve eigenlayer-cli node-api calls",
@@ -562,6 +574,8 @@ var optionalFlags = []cli.Flag{
562574
NumBatchDeserializationWorkersFlag,
563575
InternalDispersalPortFlag,
564576
InternalRetrievalPortFlag,
577+
InternalV2DispersalPortFlag,
578+
InternalV2RetrievalPortFlag,
565579
ClientIPHeaderFlag,
566580
ChurnerUseSecureGRPC,
567581
EcdsaKeyFileFlag,

node/grpc/run.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func RunServers(serverV1 *Server, serverV2 *ServerV2, config *node.Config, logge
6565
return
6666
}
6767
for {
68-
addr := fmt.Sprintf("%s:%s", localhost, config.V2DispersalPort)
68+
addr := fmt.Sprintf("%s:%s", localhost, config.InternalV2DispersalPort)
6969
listener, err := net.Listen("tcp", addr)
7070
if err != nil {
7171
logger.Fatalf("Could not start tcp listener: %v", err)
@@ -82,7 +82,7 @@ func RunServers(serverV1 *Server, serverV2 *ServerV2, config *node.Config, logge
8282

8383
healthcheck.RegisterHealthServer("node.v2.Dispersal", gs)
8484

85-
logger.Info("v2 dispersal enabled on port", config.V2DispersalPort, "address", listener.Addr().String(), "GRPC Listening")
85+
logger.Info("v2 dispersal enabled on port", config.InternalV2DispersalPort, "address", listener.Addr().String(), "GRPC Listening")
8686
if err := gs.Serve(listener); err != nil {
8787
logger.Error("dispersal v2 server failed; restarting.", "err", err)
8888
}
@@ -126,7 +126,7 @@ func RunServers(serverV1 *Server, serverV2 *ServerV2, config *node.Config, logge
126126
return
127127
}
128128
for {
129-
addr := fmt.Sprintf("%s:%s", localhost, config.V2RetrievalPort)
129+
addr := fmt.Sprintf("%s:%s", localhost, config.InternalV2RetrievalPort)
130130
listener, err := net.Listen("tcp", addr)
131131
if err != nil {
132132
logger.Fatalf("Could not start tcp listener: %v", err)
@@ -142,7 +142,7 @@ func RunServers(serverV1 *Server, serverV2 *ServerV2, config *node.Config, logge
142142

143143
healthcheck.RegisterHealthServer("node.v2.Retrieval", gs)
144144

145-
logger.Info("v2 retrieval enabled on port", config.V2RetrievalPort, "address", listener.Addr().String(), "GRPC Listening")
145+
logger.Info("v2 retrieval enabled on port", config.InternalV2RetrievalPort, "address", listener.Addr().String(), "GRPC Listening")
146146
if err := gs.Serve(listener); err != nil {
147147
logger.Error("retrieval v2 server failed; restarting.", "err", err)
148148
}

node/node.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,13 @@ func NewNode(
203203
"chainID", chainID.String(),
204204
"operatorID", config.ID.Hex(),
205205
"dispersalPort", config.DispersalPort,
206+
"internalDispersalPort", config.InternalDispersalPort,
206207
"v2DispersalPort", config.V2DispersalPort,
208+
"internalV2DispersalPort", config.InternalV2DispersalPort,
207209
"retrievalPort", config.RetrievalPort,
210+
"internalRetrievalPort", config.InternalRetrievalPort,
208211
"v2RetrievalPort", config.V2RetrievalPort,
212+
"internalV2RetrievalPort", config.InternalV2RetrievalPort,
209213
"churnerUrl", config.ChurnerUrl,
210214
"quorumIDs", fmt.Sprint(config.QuorumIDList),
211215
"registerNodeAtStart", config.RegisterNodeAtStart,

0 commit comments

Comments
 (0)