Commit f7078830 authored by Joshua Gutow's avatar Joshua Gutow Committed by GitHub

op-node: Add flag categories (#9629)

* op-node: Add flag categories

* op-node: Order categories & move some beacon flags to L1 RPC
parent af1d4829
...@@ -130,7 +130,7 @@ func init() { ...@@ -130,7 +130,7 @@ func init() {
optionalFlags = append(optionalFlags, oppprof.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, oppprof.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, txmgr.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, txmgr.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, compressor.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, compressor.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, plasma.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, plasma.CLIFlags(EnvVarPrefix, "")...)
Flags = append(requiredFlags, optionalFlags...) Flags = append(requiredFlags, optionalFlags...)
} }
......
...@@ -13,8 +13,8 @@ import ( ...@@ -13,8 +13,8 @@ import (
const envVarPrefix = "OP_BOOTNODE" const envVarPrefix = "OP_BOOTNODE"
var Flags = []cli.Flag{ var Flags = []cli.Flag{
opflags.CLINetworkFlag(envVarPrefix), opflags.CLINetworkFlag(envVarPrefix, ""),
opflags.CLIRollupConfigFlag(envVarPrefix), opflags.CLIRollupConfigFlag(envVarPrefix, ""),
} }
func init() { func init() {
......
...@@ -112,7 +112,7 @@ func init() { ...@@ -112,7 +112,7 @@ func init() {
optionalFlags = append(optionalFlags, oplog.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, oplog.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, opmetrics.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, opmetrics.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, oppprof.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, oppprof.CLIFlags(EnvVarPrefix)...)
optionalFlags = append(optionalFlags, opflags.CLIFlags(EnvVarPrefix)...) optionalFlags = append(optionalFlags, opflags.CLIFlags(EnvVarPrefix, "")...)
Flags = append(requiredFlags, optionalFlags...) Flags = append(requiredFlags, optionalFlags...)
} }
......
...@@ -18,7 +18,7 @@ var Subcommands = []*cli.Command{ ...@@ -18,7 +18,7 @@ var Subcommands = []*cli.Command{
Name: "dump-rollup-config", Name: "dump-rollup-config",
Usage: "Dumps network configs", Usage: "Dumps network configs",
Flags: []cli.Flag{ Flags: []cli.Flag{
opflags.CLINetworkFlag(flags.EnvVarPrefix), opflags.CLINetworkFlag(flags.EnvVarPrefix, ""),
}, },
Action: func(ctx *cli.Context) error { Action: func(ctx *cli.Context) error {
logCfg := oplog.ReadCLIConfig(ctx) logCfg := oplog.ReadCLIConfig(ctx)
......
This diff is collapsed.
...@@ -62,6 +62,7 @@ func deprecatedP2PFlags(envPrefix string) []cli.Flag { ...@@ -62,6 +62,7 @@ func deprecatedP2PFlags(envPrefix string) []cli.Flag {
Usage: fmt.Sprintf("Deprecated: Use %v instead", ScoringName), Usage: fmt.Sprintf("Deprecated: Use %v instead", ScoringName),
Required: false, Required: false,
Hidden: true, Hidden: true,
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: PeerScoreBandsName, Name: PeerScoreBandsName,
...@@ -69,12 +70,14 @@ func deprecatedP2PFlags(envPrefix string) []cli.Flag { ...@@ -69,12 +70,14 @@ func deprecatedP2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "", Value: "",
Hidden: true, Hidden: true,
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: TopicScoringName, Name: TopicScoringName,
Usage: fmt.Sprintf("Deprecated: Use %v instead", ScoringName), Usage: fmt.Sprintf("Deprecated: Use %v instead", ScoringName),
Required: false, Required: false,
Hidden: true, Hidden: true,
Category: P2PCategory,
}, },
} }
} }
...@@ -88,12 +91,14 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -88,12 +91,14 @@ func P2PFlags(envPrefix string) []cli.Flag {
Usage: "Completely disable the P2P stack", Usage: "Completely disable the P2P stack",
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "DISABLE"), EnvVars: p2pEnv(envPrefix, "DISABLE"),
Category: P2PCategory,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: NoDiscoveryName, Name: NoDiscoveryName,
Usage: "Disable Discv5 (node discovery)", Usage: "Disable Discv5 (node discovery)",
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "NO_DISCOVERY"), EnvVars: p2pEnv(envPrefix, "NO_DISCOVERY"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: ScoringName, Name: ScoringName,
...@@ -101,6 +106,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -101,6 +106,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "light", Value: "light",
EnvVars: p2pEnv(envPrefix, "PEER_SCORING"), EnvVars: p2pEnv(envPrefix, "PEER_SCORING"),
Category: P2PCategory,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
// Banning Flag - whether or not we want to act on the scoring // Banning Flag - whether or not we want to act on the scoring
...@@ -109,6 +115,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -109,6 +115,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Value: true, Value: true,
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "PEER_BANNING"), EnvVars: p2pEnv(envPrefix, "PEER_BANNING"),
Category: P2PCategory,
}, },
&cli.Float64Flag{ &cli.Float64Flag{
Name: BanningThresholdName, Name: BanningThresholdName,
...@@ -116,6 +123,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -116,6 +123,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: -100, Value: -100,
EnvVars: p2pEnv(envPrefix, "PEER_BANNING_THRESHOLD"), EnvVars: p2pEnv(envPrefix, "PEER_BANNING_THRESHOLD"),
Category: P2PCategory,
}, },
&cli.DurationFlag{ &cli.DurationFlag{
Name: BanningDurationName, Name: BanningDurationName,
...@@ -123,6 +131,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -123,6 +131,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 1 * time.Hour, Value: 1 * time.Hour,
EnvVars: p2pEnv(envPrefix, "PEER_BANNING_DURATION"), EnvVars: p2pEnv(envPrefix, "PEER_BANNING_DURATION"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: P2PPrivPathName, Name: P2PPrivPathName,
...@@ -132,6 +141,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -132,6 +141,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Value: "opnode_p2p_priv.txt", Value: "opnode_p2p_priv.txt",
EnvVars: p2pEnv(envPrefix, "PRIV_PATH"), EnvVars: p2pEnv(envPrefix, "PRIV_PATH"),
TakesFile: true, TakesFile: true,
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
// sometimes it may be ok to not persist the peer priv key as file, and instead pass it directly. // sometimes it may be ok to not persist the peer priv key as file, and instead pass it directly.
...@@ -141,6 +151,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -141,6 +151,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Hidden: true, Hidden: true,
Value: "", Value: "",
EnvVars: p2pEnv(envPrefix, "PRIV_RAW"), EnvVars: p2pEnv(envPrefix, "PRIV_RAW"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: ListenIPName, Name: ListenIPName,
...@@ -148,6 +159,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -148,6 +159,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "0.0.0.0", Value: "0.0.0.0",
EnvVars: p2pEnv(envPrefix, "LISTEN_IP"), EnvVars: p2pEnv(envPrefix, "LISTEN_IP"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: ListenTCPPortName, Name: ListenTCPPortName,
...@@ -155,6 +167,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -155,6 +167,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 9222, Value: 9222,
EnvVars: p2pEnv(envPrefix, "LISTEN_TCP_PORT"), EnvVars: p2pEnv(envPrefix, "LISTEN_TCP_PORT"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: ListenUDPPortName, Name: ListenUDPPortName,
...@@ -162,6 +175,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -162,6 +175,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 0, // can simply match the TCP libp2p port Value: 0, // can simply match the TCP libp2p port
EnvVars: p2pEnv(envPrefix, "LISTEN_UDP_PORT"), EnvVars: p2pEnv(envPrefix, "LISTEN_UDP_PORT"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: AdvertiseIPName, Name: AdvertiseIPName,
...@@ -169,8 +183,9 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -169,8 +183,9 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
// Ignored by default, nodes can discover their own external IP in the happy case, // Ignored by default, nodes can discover their own external IP in the happy case,
// by communicating with bootnodes. Fixed IP is recommended for faster bootstrap though. // by communicating with bootnodes. Fixed IP is recommended for faster bootstrap though.
Value: "", Value: "",
EnvVars: p2pEnv(envPrefix, "ADVERTISE_IP"), EnvVars: p2pEnv(envPrefix, "ADVERTISE_IP"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: AdvertiseTCPPortName, Name: AdvertiseTCPPortName,
...@@ -178,6 +193,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -178,6 +193,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 0, Value: 0,
EnvVars: p2pEnv(envPrefix, "ADVERTISE_TCP"), EnvVars: p2pEnv(envPrefix, "ADVERTISE_TCP"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: AdvertiseUDPPortName, Name: AdvertiseUDPPortName,
...@@ -185,6 +201,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -185,6 +201,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 0, Value: 0,
EnvVars: p2pEnv(envPrefix, "ADVERTISE_UDP"), EnvVars: p2pEnv(envPrefix, "ADVERTISE_UDP"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: BootnodesName, Name: BootnodesName,
...@@ -192,6 +209,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -192,6 +209,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "", Value: "",
EnvVars: p2pEnv(envPrefix, "BOOTNODES"), EnvVars: p2pEnv(envPrefix, "BOOTNODES"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: StaticPeersName, Name: StaticPeersName,
...@@ -200,12 +218,14 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -200,12 +218,14 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "", Value: "",
EnvVars: p2pEnv(envPrefix, "STATIC"), EnvVars: p2pEnv(envPrefix, "STATIC"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: NetRestrictName, Name: NetRestrictName,
Usage: "Comma-separated list of CIDR masks. P2P will only try to connect on these networks", Usage: "Comma-separated list of CIDR masks. P2P will only try to connect on these networks",
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "NETRESTRICT"), EnvVars: p2pEnv(envPrefix, "NETRESTRICT"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: HostMuxName, Name: HostMuxName,
...@@ -214,6 +234,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -214,6 +234,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "yamux,mplex", Value: "yamux,mplex",
EnvVars: p2pEnv(envPrefix, "MUX"), EnvVars: p2pEnv(envPrefix, "MUX"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: HostSecurityName, Name: HostSecurityName,
...@@ -222,6 +243,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -222,6 +243,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "noise", Value: "noise",
EnvVars: p2pEnv(envPrefix, "SECURITY"), EnvVars: p2pEnv(envPrefix, "SECURITY"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: PeersLoName, Name: PeersLoName,
...@@ -229,6 +251,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -229,6 +251,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 20, Value: 20,
EnvVars: p2pEnv(envPrefix, "PEERS_LO"), EnvVars: p2pEnv(envPrefix, "PEERS_LO"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: PeersHiName, Name: PeersHiName,
...@@ -236,6 +259,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -236,6 +259,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 30, Value: 30,
EnvVars: p2pEnv(envPrefix, "PEERS_HI"), EnvVars: p2pEnv(envPrefix, "PEERS_HI"),
Category: P2PCategory,
}, },
&cli.DurationFlag{ &cli.DurationFlag{
Name: PeersGraceName, Name: PeersGraceName,
...@@ -243,12 +267,14 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -243,12 +267,14 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 30 * time.Second, Value: 30 * time.Second,
EnvVars: p2pEnv(envPrefix, "PEERS_GRACE"), EnvVars: p2pEnv(envPrefix, "PEERS_GRACE"),
Category: P2PCategory,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: NATName, Name: NATName,
Usage: "Enable NAT traversal with PMP/UPNP devices to learn external IP.", Usage: "Enable NAT traversal with PMP/UPNP devices to learn external IP.",
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "NAT"), EnvVars: p2pEnv(envPrefix, "NAT"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: UserAgentName, Name: UserAgentName,
...@@ -257,6 +283,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -257,6 +283,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "optimism", Value: "optimism",
EnvVars: p2pEnv(envPrefix, "AGENT"), EnvVars: p2pEnv(envPrefix, "AGENT"),
Category: P2PCategory,
}, },
&cli.DurationFlag{ &cli.DurationFlag{
Name: TimeoutNegotiationName, Name: TimeoutNegotiationName,
...@@ -265,6 +292,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -265,6 +292,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 10 * time.Second, Value: 10 * time.Second,
EnvVars: p2pEnv(envPrefix, "TIMEOUT_NEGOTIATION"), EnvVars: p2pEnv(envPrefix, "TIMEOUT_NEGOTIATION"),
Category: P2PCategory,
}, },
&cli.DurationFlag{ &cli.DurationFlag{
Name: TimeoutAcceptName, Name: TimeoutAcceptName,
...@@ -273,6 +301,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -273,6 +301,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 10 * time.Second, Value: 10 * time.Second,
EnvVars: p2pEnv(envPrefix, "TIMEOUT_ACCEPT"), EnvVars: p2pEnv(envPrefix, "TIMEOUT_ACCEPT"),
Category: P2PCategory,
}, },
&cli.DurationFlag{ &cli.DurationFlag{
Name: TimeoutDialName, Name: TimeoutDialName,
...@@ -281,6 +310,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -281,6 +310,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: 10 * time.Second, Value: 10 * time.Second,
EnvVars: p2pEnv(envPrefix, "TIMEOUT_DIAL"), EnvVars: p2pEnv(envPrefix, "TIMEOUT_DIAL"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: PeerstorePathName, Name: PeerstorePathName,
...@@ -291,6 +321,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -291,6 +321,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
TakesFile: true, TakesFile: true,
Value: "opnode_peerstore_db", Value: "opnode_peerstore_db",
EnvVars: p2pEnv(envPrefix, "PEERSTORE_PATH"), EnvVars: p2pEnv(envPrefix, "PEERSTORE_PATH"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: DiscoveryPathName, Name: DiscoveryPathName,
...@@ -299,6 +330,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -299,6 +330,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
TakesFile: true, TakesFile: true,
Value: "opnode_discovery_db", Value: "opnode_discovery_db",
EnvVars: p2pEnv(envPrefix, "DISCOVERY_PATH"), EnvVars: p2pEnv(envPrefix, "DISCOVERY_PATH"),
Category: P2PCategory,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: SequencerP2PKeyName, Name: SequencerP2PKeyName,
...@@ -306,6 +338,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -306,6 +338,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Value: "", Value: "",
EnvVars: p2pEnv(envPrefix, "SEQUENCER_KEY"), EnvVars: p2pEnv(envPrefix, "SEQUENCER_KEY"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: GossipMeshDName, Name: GossipMeshDName,
...@@ -314,6 +347,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -314,6 +347,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Hidden: true, Hidden: true,
Value: p2p.DefaultMeshD, Value: p2p.DefaultMeshD,
EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_D"), EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_D"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: GossipMeshDloName, Name: GossipMeshDloName,
...@@ -322,6 +356,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -322,6 +356,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Hidden: true, Hidden: true,
Value: p2p.DefaultMeshDlo, Value: p2p.DefaultMeshDlo,
EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DLO"), EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DLO"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: GossipMeshDhiName, Name: GossipMeshDhiName,
...@@ -330,6 +365,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -330,6 +365,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Hidden: true, Hidden: true,
Value: p2p.DefaultMeshDhi, Value: p2p.DefaultMeshDhi,
EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DHI"), EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DHI"),
Category: P2PCategory,
}, },
&cli.UintFlag{ &cli.UintFlag{
Name: GossipMeshDlazyName, Name: GossipMeshDlazyName,
...@@ -338,6 +374,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -338,6 +374,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Hidden: true, Hidden: true,
Value: p2p.DefaultMeshDlazy, Value: p2p.DefaultMeshDlazy,
EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DLAZY"), EnvVars: p2pEnv(envPrefix, "GOSSIP_MESH_DLAZY"),
Category: P2PCategory,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: GossipFloodPublishName, Name: GossipFloodPublishName,
...@@ -345,6 +382,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -345,6 +382,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Required: false, Required: false,
Hidden: true, Hidden: true,
EnvVars: p2pEnv(envPrefix, "GOSSIP_FLOOD_PUBLISH"), EnvVars: p2pEnv(envPrefix, "GOSSIP_FLOOD_PUBLISH"),
Category: P2PCategory,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: SyncReqRespName, Name: SyncReqRespName,
...@@ -352,6 +390,7 @@ func P2PFlags(envPrefix string) []cli.Flag { ...@@ -352,6 +390,7 @@ func P2PFlags(envPrefix string) []cli.Flag {
Value: true, Value: true,
Required: false, Required: false,
EnvVars: p2pEnv(envPrefix, "SYNC_REQ_RESP"), EnvVars: p2pEnv(envPrefix, "SYNC_REQ_RESP"),
Category: P2PCategory,
}, },
} }
} }
...@@ -17,24 +17,27 @@ func plasmaEnv(envprefix, v string) []string { ...@@ -17,24 +17,27 @@ func plasmaEnv(envprefix, v string) []string {
return []string{envprefix + "_PLASMA_" + v} return []string{envprefix + "_PLASMA_" + v}
} }
func CLIFlags(envPrefix string) []cli.Flag { func CLIFlags(envPrefix string, category string) []cli.Flag {
return []cli.Flag{ return []cli.Flag{
&cli.BoolFlag{ &cli.BoolFlag{
Name: EnabledFlagName, Name: EnabledFlagName,
Usage: "Enable plasma mode", Usage: "Enable plasma mode",
Value: false, Value: false,
EnvVars: plasmaEnv(envPrefix, "ENABLED"), EnvVars: plasmaEnv(envPrefix, "ENABLED"),
Category: category,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: DaServerAddressFlagName, Name: DaServerAddressFlagName,
Usage: "HTTP address of a DA Server", Usage: "HTTP address of a DA Server",
EnvVars: plasmaEnv(envPrefix, "DA_SERVER"), EnvVars: plasmaEnv(envPrefix, "DA_SERVER"),
Category: category,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: VerifyOnReadFlagName, Name: VerifyOnReadFlagName,
Usage: "Verify input data matches the commitments from the DA storage service", Usage: "Verify input data matches the commitments from the DA storage service",
Value: true, Value: true,
EnvVars: plasmaEnv(envPrefix, "VERIFY_ON_READ"), EnvVars: plasmaEnv(envPrefix, "VERIFY_ON_READ"),
Category: category,
}, },
} }
} }
......
...@@ -18,44 +18,49 @@ const ( ...@@ -18,44 +18,49 @@ const (
EcotoneOverrideFlagName = "override.ecotone" EcotoneOverrideFlagName = "override.ecotone"
) )
func CLIFlags(envPrefix string) []cli.Flag { func CLIFlags(envPrefix string, category string) []cli.Flag {
return []cli.Flag{ return []cli.Flag{
&cli.Uint64Flag{ &cli.Uint64Flag{
Name: CanyonOverrideFlagName, Name: CanyonOverrideFlagName,
Usage: "Manually specify the Canyon fork timestamp, overriding the bundled setting", Usage: "Manually specify the Canyon fork timestamp, overriding the bundled setting",
EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_CANYON"), EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_CANYON"),
Hidden: false, Hidden: false,
Category: category,
}, },
&cli.Uint64Flag{ &cli.Uint64Flag{
Name: DeltaOverrideFlagName, Name: DeltaOverrideFlagName,
Usage: "Manually specify the Delta fork timestamp, overriding the bundled setting", Usage: "Manually specify the Delta fork timestamp, overriding the bundled setting",
EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_DELTA"), EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_DELTA"),
Hidden: false, Hidden: false,
Category: category,
}, },
&cli.Uint64Flag{ &cli.Uint64Flag{
Name: EcotoneOverrideFlagName, Name: EcotoneOverrideFlagName,
Usage: "Manually specify the Ecotone fork timestamp, overriding the bundled setting", Usage: "Manually specify the Ecotone fork timestamp, overriding the bundled setting",
EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_ECOTONE"), EnvVars: opservice.PrefixEnvVar(envPrefix, "OVERRIDE_ECOTONE"),
Hidden: false, Hidden: false,
Category: category,
}, },
CLINetworkFlag(envPrefix), CLINetworkFlag(envPrefix, category),
CLIRollupConfigFlag(envPrefix), CLIRollupConfigFlag(envPrefix, category),
} }
} }
func CLINetworkFlag(envPrefix string) cli.Flag { func CLINetworkFlag(envPrefix string, category string) cli.Flag {
return &cli.StringFlag{ return &cli.StringFlag{
Name: NetworkFlagName, Name: NetworkFlagName,
Usage: fmt.Sprintf("Predefined network selection. Available networks: %s", strings.Join(chaincfg.AvailableNetworks(), ", ")), Usage: fmt.Sprintf("Predefined network selection. Available networks: %s", strings.Join(chaincfg.AvailableNetworks(), ", ")),
EnvVars: opservice.PrefixEnvVar(envPrefix, "NETWORK"), EnvVars: opservice.PrefixEnvVar(envPrefix, "NETWORK"),
Category: category,
} }
} }
func CLIRollupConfigFlag(envPrefix string) cli.Flag { func CLIRollupConfigFlag(envPrefix string, category string) cli.Flag {
return &cli.StringFlag{ return &cli.StringFlag{
Name: RollupConfigFlagName, Name: RollupConfigFlagName,
Usage: "Rollup chain parameters", Usage: "Rollup chain parameters",
EnvVars: opservice.PrefixEnvVar(envPrefix, "ROLLUP_CONFIG"), EnvVars: opservice.PrefixEnvVar(envPrefix, "ROLLUP_CONFIG"),
Category: category,
} }
} }
......
...@@ -22,27 +22,34 @@ const ( ...@@ -22,27 +22,34 @@ const (
ColorFlagName = "log.color" ColorFlagName = "log.color"
) )
// CLIFlags creates flag definitions for the logging utils. func CLIFlags(envPrefix string) []cli.Flag {
return CLIFlagsWithCategory(envPrefix, "")
}
// CLIFlagsWithCategory creates flag definitions for the logging utils.
// Warning: flags are not safe to reuse due to an upstream urfave default-value mutation bug in GenericFlag. // Warning: flags are not safe to reuse due to an upstream urfave default-value mutation bug in GenericFlag.
// Use cliapp.ProtectFlags(flags) to create a copy before passing it into an App if the app runs more than once. // Use cliapp.ProtectFlags(flags) to create a copy before passing it into an App if the app runs more than once.
func CLIFlags(envPrefix string) []cli.Flag { func CLIFlagsWithCategory(envPrefix string, category string) []cli.Flag {
return []cli.Flag{ return []cli.Flag{
&cli.GenericFlag{ &cli.GenericFlag{
Name: LevelFlagName, Name: LevelFlagName,
Usage: "The lowest log level that will be output", Usage: "The lowest log level that will be output",
Value: NewLevelFlagValue(log.LevelInfo), Value: NewLevelFlagValue(log.LevelInfo),
EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_LEVEL"), EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_LEVEL"),
Category: category,
}, },
&cli.GenericFlag{ &cli.GenericFlag{
Name: FormatFlagName, Name: FormatFlagName,
Usage: "Format the log output. Supported formats: 'text', 'terminal', 'logfmt', 'json', 'json-pretty',", Usage: "Format the log output. Supported formats: 'text', 'terminal', 'logfmt', 'json', 'json-pretty',",
Value: NewFormatFlagValue(FormatText), Value: NewFormatFlagValue(FormatText),
EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_FORMAT"), EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_FORMAT"),
Category: category,
}, },
&cli.BoolFlag{ &cli.BoolFlag{
Name: ColorFlagName, Name: ColorFlagName,
Usage: "Color the log output if in terminal mode", Usage: "Color the log output if in terminal mode",
EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_COLOR"), EnvVars: opservice.PrefixEnvVar(envPrefix, "LOG_COLOR"),
Category: category,
}, },
} }
} }
......
...@@ -61,29 +61,37 @@ func DefaultCLIConfig() CLIConfig { ...@@ -61,29 +61,37 @@ func DefaultCLIConfig() CLIConfig {
} }
func CLIFlags(envPrefix string) []cli.Flag { func CLIFlags(envPrefix string) []cli.Flag {
return CLIFlagsWithCategory(envPrefix, "")
}
func CLIFlagsWithCategory(envPrefix string, category string) []cli.Flag {
return []cli.Flag{ return []cli.Flag{
&cli.BoolFlag{ &cli.BoolFlag{
Name: EnabledFlagName, Name: EnabledFlagName,
Usage: "Enable the pprof server", Usage: "Enable the pprof server",
EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_ENABLED"), EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_ENABLED"),
Category: category,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: ListenAddrFlagName, Name: ListenAddrFlagName,
Usage: "pprof listening address", Usage: "pprof listening address",
Value: defaultListenAddr, // TODO(CLI-4159): Switch to 127.0.0.1 Value: defaultListenAddr, // TODO(CLI-4159): Switch to 127.0.0.1
EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_ADDR"), EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_ADDR"),
Category: category,
}, },
&cli.IntFlag{ &cli.IntFlag{
Name: PortFlagName, Name: PortFlagName,
Usage: "pprof listening port", Usage: "pprof listening port",
Value: defaultListenPort, Value: defaultListenPort,
EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_PORT"), EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_PORT"),
Category: category,
}, },
&cli.GenericFlag{ &cli.GenericFlag{
Name: ProfilePathFlagName, Name: ProfilePathFlagName,
Usage: "pprof file path. If it is a directory, the path is {dir}/{profileType}.prof", Usage: "pprof file path. If it is a directory, the path is {dir}/{profileType}.prof",
Value: new(flags.PathFlag), Value: new(flags.PathFlag),
EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_PATH"), EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_PATH"),
Category: category,
}, },
&cli.GenericFlag{ &cli.GenericFlag{
Name: ProfileTypeFlagName, Name: ProfileTypeFlagName,
...@@ -92,7 +100,8 @@ func CLIFlags(envPrefix string) []cli.Flag { ...@@ -92,7 +100,8 @@ func CLIFlags(envPrefix string) []cli.Flag {
defaultProfType := profileType("") defaultProfType := profileType("")
return &defaultProfType return &defaultProfType
}(), }(),
EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_TYPE"), EnvVars: opservice.PrefixEnvVar(envPrefix, "PPROF_TYPE"),
Category: category,
}, },
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment