Skip to content

Commit

Permalink
merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
samcm committed Jan 20, 2025
2 parents 7c62b89 + 95101a0 commit b41e189
Show file tree
Hide file tree
Showing 109 changed files with 7,319 additions and 3,437 deletions.
14 changes: 11 additions & 3 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,19 @@ linters-settings:
- performance
- style
govet:
check-shadowing: true
enable:
- shadow
nolintlint:
require-explanation: true
require-specific: true

issues:
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- gocritic
- gosec
- wsl
linters:
disable-all: true
enable:
Expand All @@ -29,7 +37,7 @@ linters:
- durationcheck
- errcheck
- errname
- exportloopref
- copyloopvar
- goconst
- gocritic
- gocyclo
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Xatu
# <img src="./assets/xatu.png" height="40" alt="Xatu Logo"> Xatu

Ethereum network monitoring with collection clients and a centralized server for data pipelining.

Expand Down
Binary file added assets/xatu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 9 additions & 1 deletion cmd/cannon.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,15 @@ var CannonOverrides = []CannonOverride{
overrides.NetworkName.Value = val
},
}),
createCannonOverride(CannonOverrideConfig{
FlagName: "metrics-addr",
EnvName: "METRICS_ADDR",
Description: "sets the metrics address",
OverrideFunc: func(val string, overrides *cannon.Override) {
overrides.MetricsAddr.Enabled = true
overrides.MetricsAddr.Value = val
},
}),
}

// cannonCmd represents the cannon command
Expand All @@ -120,7 +129,6 @@ var cannonCmd = &cobra.Command{
log.WithField("location", cannonCfgFile).Info("Loaded config")

overrides := &cannon.Override{}

for _, override := range CannonOverrides {
if errr := override.Setter(cmd, overrides); errr != nil {
log.Fatal(errr)
Expand Down
50 changes: 49 additions & 1 deletion cmd/cl-mimicry.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,43 @@ var (
clMimicryCfgFile string
)

type CLMimicryOverride struct {
EnvVar string
Flag string
FlagHelper func(cmd *cobra.Command)
Setter func(cmd *cobra.Command, overrides *clmimicry.Override) error
}

var CLMimicryOverrides = []CLMimicryOverride{
{
EnvVar: "METRICS_ADDR",
Flag: "metrics-addr",
FlagHelper: func(cmd *cobra.Command) {
cmd.Flags().String(metricsAddrFlag, "", `metrics address (env: METRICS_ADDR). If set, overrides the metrics address in the config file.`)
},
Setter: func(cmd *cobra.Command, overrides *clmimicry.Override) error {
val := ""

if cmd.Flags().Changed(metricsAddrFlag) {
val = cmd.Flags().Lookup(metricsAddrFlag).Value.String()
}

if os.Getenv("METRICS_ADDR") != "" {
val = os.Getenv("METRICS_ADDR")
}

if val == "" {
return nil
}

overrides.MetricsAddr.Enabled = true
overrides.MetricsAddr.Value = val

return nil
},
},
}

// clMimicryCmd represents the consensus layer mimicry command
var clMimicryCmd = &cobra.Command{
Use: "cl-mimicry",
Expand All @@ -32,7 +69,14 @@ var clMimicryCmd = &cobra.Command{

log.WithField("location", clMimicryCfgFile).Info("Loaded config")

mimicry, err := clmimicry.New(cmd.Context(), log, config)
overrides := &clmimicry.Override{}
for _, o := range CLMimicryOverrides {
if e := o.Setter(cmd, overrides); e != nil {
log.Fatal(e)
}
}

mimicry, err := clmimicry.New(cmd.Context(), log, config, overrides)
if err != nil {
log.Fatal(err)
}
Expand All @@ -49,6 +93,10 @@ func init() {
rootCmd.AddCommand(clMimicryCmd)

clMimicryCmd.Flags().StringVar(&clMimicryCfgFile, "config", "cl-mimicry.yaml", "config file (default is cl-mimicry.yaml)")

for _, o := range CLMimicryOverrides {
o.FlagHelper(clMimicryCmd)
}
}

func loadCLMimicryConfigFromFile(file string) (*clmimicry.Config, error) {
Expand Down
51 changes: 50 additions & 1 deletion cmd/discovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,43 @@ var (
discoveryCfgFile string
)

type DiscoveryOverride struct {
EnvVar string
Flag string
FlagHelper func(cmd *cobra.Command)
Setter func(cmd *cobra.Command, overrides *discovery.Override) error
}

var DiscoveryOverrides = []DiscoveryOverride{
{
EnvVar: "METRICS_ADDR",
Flag: "metrics-addr",
FlagHelper: func(cmd *cobra.Command) {
cmd.Flags().String(metricsAddrFlag, "", `metrics address (env: METRICS_ADDR). If set, overrides the metrics address in the config file.`)
},
Setter: func(cmd *cobra.Command, overrides *discovery.Override) error {
val := ""

if cmd.Flags().Changed(metricsAddrFlag) {
val = cmd.Flags().Lookup(metricsAddrFlag).Value.String()
}

if os.Getenv("METRICS_ADDR") != "" {
val = os.Getenv("METRICS_ADDR")
}

if val == "" {
return nil
}

overrides.MetricsAddr.Enabled = true
overrides.MetricsAddr.Value = val

return nil
},
},
}

// discoveryCmd represents the discovery command
var discoveryCmd = &cobra.Command{
Use: "discovery",
Expand All @@ -31,7 +68,15 @@ var discoveryCmd = &cobra.Command{
log = getLogger(config.LoggingLevel, "")

log.WithField("location", discoveryCfgFile).Info("Loaded config")
discovery, err := discovery.New(cmd.Context(), log, config)

overrides := &discovery.Override{}
for _, o := range DiscoveryOverrides {
if e := o.Setter(cmd, overrides); e != nil {
log.Fatal(e)
}
}

discovery, err := discovery.New(cmd.Context(), log, config, overrides)
if err != nil {
log.Fatal(err)
}
Expand All @@ -48,6 +93,10 @@ func init() {
rootCmd.AddCommand(discoveryCmd)

discoveryCmd.Flags().StringVar(&discoveryCfgFile, "config", "discovery.yaml", "config file (default is discovery.yaml)")

for _, o := range DiscoveryOverrides {
o.FlagHelper(discoveryCmd)
}
}

func loadDiscoveryConfigFromFile(file string) (*discovery.Config, error) {
Expand Down
50 changes: 49 additions & 1 deletion cmd/mimicry.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,43 @@ var (
mimicryCfgFile string
)

type MimicryOverride struct {
EnvVar string
Flag string
FlagHelper func(cmd *cobra.Command)
Setter func(cmd *cobra.Command, overrides *mimicry.Override) error
}

var MimicryOverrides = []MimicryOverride{
{
EnvVar: "METRICS_ADDR",
Flag: "metrics-addr",
FlagHelper: func(cmd *cobra.Command) {
cmd.Flags().String(metricsAddrFlag, "", `metrics address (env: METRICS_ADDR). If set, overrides the metrics address in the config file.`)
},
Setter: func(cmd *cobra.Command, overrides *mimicry.Override) error {
val := ""

if cmd.Flags().Changed(metricsAddrFlag) {
val = cmd.Flags().Lookup(metricsAddrFlag).Value.String()
}

if os.Getenv("METRICS_ADDR") != "" {
val = os.Getenv("METRICS_ADDR")
}

if val == "" {
return nil
}

overrides.MetricsAddr.Enabled = true
overrides.MetricsAddr.Value = val

return nil
},
},
}

// mimicryCmd represents the mimicry command
var mimicryCmd = &cobra.Command{
Use: "mimicry",
Expand All @@ -32,7 +69,14 @@ var mimicryCmd = &cobra.Command{

log.WithField("location", mimicryCfgFile).Info("Loaded config")

mimicry, err := mimicry.New(cmd.Context(), log, config)
overrides := &mimicry.Override{}
for _, o := range MimicryOverrides {
if e := o.Setter(cmd, overrides); e != nil {
log.Fatal(e)
}
}

mimicry, err := mimicry.New(cmd.Context(), log, config, overrides)
if err != nil {
log.Fatal(err)
}
Expand All @@ -49,6 +93,10 @@ func init() {
rootCmd.AddCommand(mimicryCmd)

mimicryCmd.Flags().StringVar(&mimicryCfgFile, "config", "mimicry.yaml", "config file (default is mimicry.yaml)")

for _, o := range MimicryOverrides {
o.FlagHelper(mimicryCmd)
}
}

func loadMimicryConfigFromFile(file string) (*mimicry.Config, error) {
Expand Down
50 changes: 49 additions & 1 deletion cmd/relay-monitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,43 @@ var (
relayMonitorCfgFile string
)

type RelayMonitorOverride struct {
EnvVar string
Flag string
FlagHelper func(cmd *cobra.Command)
Setter func(cmd *cobra.Command, overrides *relaymonitor.Override) error
}

var RelayMonitorOverrides = []RelayMonitorOverride{
{
EnvVar: "METRICS_ADDR",
Flag: "metrics-addr",
FlagHelper: func(cmd *cobra.Command) {
cmd.Flags().String(metricsAddrFlag, "", `metrics address (env: METRICS_ADDR). If set, overrides the metrics address in the config file.`)
},
Setter: func(cmd *cobra.Command, overrides *relaymonitor.Override) error {
val := ""

if cmd.Flags().Changed(metricsAddrFlag) {
val = cmd.Flags().Lookup(metricsAddrFlag).Value.String()
}

if os.Getenv("METRICS_ADDR") != "" {
val = os.Getenv("METRICS_ADDR")
}

if val == "" {
return nil
}

overrides.MetricsAddr.Enabled = true
overrides.MetricsAddr.Value = val

return nil
},
},
}

// relayMonitorCmd represents the relay monitor command
var relayMonitorCmd = &cobra.Command{
Use: "relay-monitor",
Expand All @@ -32,7 +69,14 @@ var relayMonitorCmd = &cobra.Command{

log.WithField("location", relayMonitorCfgFile).Info("Loaded config")

monitor, err := relaymonitor.New(cmd.Context(), log, config)
overrides := &relaymonitor.Override{}
for _, o := range RelayMonitorOverrides {
if e := o.Setter(cmd, overrides); e != nil {
log.Fatal(e)
}
}

monitor, err := relaymonitor.New(cmd.Context(), log, config, overrides)
if err != nil {
log.Fatal(err)
}
Expand All @@ -49,6 +93,10 @@ func init() {
rootCmd.AddCommand(relayMonitorCmd)

relayMonitorCmd.Flags().StringVar(&relayMonitorCfgFile, "config", "relay-monitor.yaml", "config file (default is relay-monitor.yaml)")

for _, o := range RelayMonitorOverrides {
o.FlagHelper(relayMonitorCmd)
}
}

func loadRelayMonitorConfigFromFile(file string) (*relaymonitor.Config, error) {
Expand Down
2 changes: 2 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ var (

defaultLogLevel = "info"
defaultLogFormat = "text"

metricsAddrFlag = "metrics-addr"
)

// rootCmd represents the base command when called without any subcommands
Expand Down
Loading

0 comments on commit b41e189

Please sign in to comment.