Documentation
¶
Index ¶
- func CreateAuthzMigration(migrationName, dbConnectionString string, ...) error
- func CreateMessageMigration(migrationName, dbConnectionString string, ...) error
- func CreateMlsMigration(migrationName, dbConnectionString string, ...) error
- func WritePrivateKeyToFile(path string, overwrite bool) error
- type AuthzOptions
- type MetricsOptions
- type Options
- type ProfilingOptions
- type RelayOptions
- type Server
- type TracingOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateAuthzMigration ¶
func CreateMessageMigration ¶
func CreateMlsMigration ¶
func WritePrivateKeyToFile ¶
Types ¶
type AuthzOptions ¶
type AuthzOptions struct {
DbConnectionString string `long:"authz-db-connection-string" description:"Connection string for the authz DB"`
ReadTimeout time.Duration `long:"authz-read-timeout" description:"Timeout for reading from the database" default:"10s"`
WriteTimeout time.Duration `long:"authz-write-timeout" description:"Timeout for writing to the database" default:"10s"`
}
type MetricsOptions ¶
type MetricsOptions struct {
Enable bool `long:"metrics" description:"Enable the metrics server"`
Address string `long:"metrics-address" description:"Listening address of the metrics server" default:"127.0.0.1"`
Port int `long:"metrics-port" description:"Listening HTTP port of the metrics server" default:"8008"`
}
MetricsOptions are settings used to start a prometheus server for obtaining useful node metrics to monitor the health of behavior of the go-waku node.
type Options ¶
type Options struct {
Port int `short:"p" long:"port" description:"Libp2p TCP listening port (0 for random)" default:"60000"`
Address string `long:"address" description:"Listening address" default:"0.0.0.0"`
EnableWS bool `long:"ws" description:"Enable websockets support"`
WSPort int `long:"ws-port" description:"Libp2p TCP listening port for websocket connection (0 for random)" default:"60001"`
WSAddress string `long:"ws-address" description:"Listening address for websocket connections" default:"0.0.0.0"`
GenerateKey bool `long:"generate-key" description:"Generate private key file at path specified in --key-file"`
NodeKey string `long:"nodekey" description:"P2P node private key as hex. Can also be set with GOWAKU-NODEKEY env variable (default random)"`
KeyFile string `long:"key-file" description:"Path to a file containing the private key for the P2P node" default:"./nodekey"`
Overwrite bool `long:"overwrite" description:"When generating a keyfile, overwrite the nodekey file if it already exists"`
StaticNodes []string `long:"static-node" description:"Multiaddr of peer to directly connect with. Option may be repeated"`
KeepAlive int `long:"keep-alive" default:"20" description:"Interval in seconds for pinging peers to keep the connection alive."`
LogLevel string `` /* 180-byte string literal not displayed */
// StaticCheck doesn't like duplicate params, but this is the only way to implement choice params
//nolint:staticcheck
LogEncoding string `` /* 126-byte string literal not displayed */
CreateMessageMigration string `long:"create-message-migration" default:"" description:"Create a migration. Must provide a name"`
CreateAuthzMigration string `long:"create-authz-migration" default:"" description:"Create a migration for the auth db. Must provide a name"`
CreateMlsMigration string `long:"create-mls-migration" default:"" description:"Create a migration for the mls db. Must provide a name"`
WaitForDB time.Duration `long:"wait-for-db" description:"wait for DB on start, up to specified duration"`
Version bool `long:"version" description:"Output binary version and exit"`
GoProfiling bool `long:"go-profiling" description:"Enable Go profiling"`
MetricsPeriod time.Duration `long:"metrics-period" description:"Polling period for server status metrics" default:"30s"`
API api.Options `group:"API Options" namespace:"api"`
Authz AuthzOptions `group:"Authz Options"`
Relay RelayOptions `group:"Relay Options"`
Store store.Options `group:"Store Options" namespace:"store"`
Metrics MetricsOptions `group:"Metrics Options"`
Tracing TracingOptions `group:"DD APM Tracing Options"`
Profiling ProfilingOptions `group:"DD APM Profiling Options" namespace:"profiling"`
MLSStore mlsstore.StoreOptions `group:"MLS Options" namespace:"mls-store"`
MLSValidation mlsvalidate.MLSValidationOptions `group:"MLS Validation Options" namespace:"mls-validation"`
}
Options contains all the available features and settings that can be configured via flags when executing go-waku as a service.
type ProfilingOptions ¶
type ProfilingOptions struct {
Enable bool `long:"enable" description:"Enable CPU and Heap profiling"`
// Following options have more overhead
Block bool `long:"block" description:"Enable block profiling"`
Mutex bool `long:"mutex" description:"Enable mutex profiling"`
Goroutine bool `long:"goroutine" description:"Enable goroutine profiling"`
}
ProfilingOptions enable DD APM Profiling.
type RelayOptions ¶
type RelayOptions struct {
Disable bool `long:"no-relay" description:"Disable relay protocol"`
Topics []string `long:"topics" description:"List of topics to listen"`
MinRelayPeersToPublish int `long:"min-relay-peers-to-publish" description:"Minimum number of peers to publish to Relay" default:"0"`
}
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func (*Server) WaitForShutdown ¶
func (s *Server) WaitForShutdown()
type TracingOptions ¶
type TracingOptions struct {
Enable bool `long:"tracing" description:"Enable DD APM trace collection"`
}
TracingOptions are settings controlling collection of DD APM traces and error tracking.
Click to show internal directories.
Click to hide internal directories.