Documentation ¶
Index ¶
- Variables
- func AddPrintConfigCmd(parser *flags.Parser, configName string)
- func InitDiagnosticsAndRecover(cfg DiagnosticsConfig) func()
- func InitLog(cfg LogConfig)
- func Must(err error, msg string, extra ...interface{})
- func MustParseArgs(parser *flags.Parser)
- func MustParseConfig(parser *flags.Parser, configName string)
- type AddressConfig
- type ClientConfig
- type DiagnosticsConfig
- type EtcdConfig
- type LogConfig
- type ServiceConfig
- type ZoneConfig
Constants ¶
This section is empty.
Variables ¶
var BuildDate = "unknown"
BuildDate is populated at build with $(date +%F-%T-%Z).
var Version = "development"
Version is populated at build with $(git describe --dirty).
Functions ¶
func AddPrintConfigCmd ¶
func AddPrintConfigCmd(parser *flags.Parser, configName string)
AddPrintConfigCmd to the Parser. The "print-config" command helps users test whether their applications are correctly configured, by exporting all runtime configuration in INI format.
func InitDiagnosticsAndRecover ¶
func InitDiagnosticsAndRecover(cfg DiagnosticsConfig) func()
InitDiagnosticsAndRecover enables serving of metrics and debugging services registered on the default HTTPMux. It also returns a closure which should be deferred, which recover a panic and attempt to log a K8s termination message.
func Must ¶
Must panics if |err| is non-nil, supplying |msg| and |extra| as formatter and fields of the generated panic.
func MustParseArgs ¶
func MustParseArgs(parser *flags.Parser)
MustParseArgs requires that Parser be able to ParseArgs without error.
func MustParseConfig ¶
func MustParseConfig(parser *flags.Parser, configName string)
MustParseConfig requires that the Parser parse from the combination of an optional INI file, configured environment bindings, and explicit flags. An INI file matching |configName| is searched for in:
- The current working directory.
- ~/.config/gazette (under the users's $HOME or %UserProfile% directory).
- $APPLICATION_CONFIG_ROOT
Types ¶
type AddressConfig ¶
type AddressConfig struct {
Address pb.Endpoint `long:"address" env:"ADDRESS" default:"http://localhost:8080" description:"Service address endpoint"`
}
AddressConfig of a remote service.
func (*AddressConfig) MustDial ¶
func (c *AddressConfig) MustDial(ctx context.Context) *grpc.ClientConn
MustDial dials the server address using a protocol.Dispatcher balancer, and panics on error.
func (*AddressConfig) MustJournalClient ¶
func (c *AddressConfig) MustJournalClient(ctx context.Context) pb.JournalClient
MustJournalClient dials and returns a new JournalClient.
func (*AddressConfig) MustShardClient ¶
func (c *AddressConfig) MustShardClient(ctx context.Context) pc.ShardClient
MustShardClient dials and returns a new ShardClient.
type ClientConfig ¶
type ClientConfig struct { AddressConfig Cache struct { Size int `` /* 141-byte string literal not displayed */ TTL time.Duration `long:"cache.ttl" env:"CACHE_TTL" default:"1m" description:"Time-to-live of route cache entries."` } }
ClientConfig configures the client of a remote Gazette service.
func (*ClientConfig) BuildRouter ¶
func (c *ClientConfig) BuildRouter() pb.DispatchRouter
BuildRouter returns a configured DispatchRouter.
func (*ClientConfig) MustRoutedJournalClient ¶
func (c *ClientConfig) MustRoutedJournalClient(ctx context.Context) pb.RoutedJournalClient
MustRoutedJournalClient composes MustDial and BuildRouter to return a RoutedJournalClient.
func (*ClientConfig) MustRoutedShardClient ¶
func (c *ClientConfig) MustRoutedShardClient(ctx context.Context) pc.RoutedShardClient
MustRoutedShardClient composes MustDial and BuildRouter to return a RoutedShardClient.
type DiagnosticsConfig ¶
type DiagnosticsConfig struct { }
DiagnosticsConfig configures pull-based application metrics, debugging and diagnostics.
type EtcdConfig ¶
type EtcdConfig struct { Address protocol.Endpoint `long:"address" env:"ADDRESS" default:"http://localhost:2379" description:"Etcd service address endpoint"` LeaseTTL time.Duration `long:"lease" env:"LEASE_TTL" default:"20s" description:"Time-to-live of Etcd lease"` }
EtcdConfig configures the application Etcd session.
func (*EtcdConfig) MustDial ¶
func (c *EtcdConfig) MustDial() *clientv3.Client
MustDial builds an Etcd client connection.
type LogConfig ¶
type LogConfig struct { Level string `long:"level" env:"LEVEL" default:"info" choice:"info" choice:"debug" choice:"warn" description:"Logging level"` Format string `long:"format" env:"FORMAT" default:"text" choice:"json" choice:"text" choice:"color" description:"Logging output format"` }
LogConfig configures handling of application log events.
type ServiceConfig ¶
type ServiceConfig struct { ZoneConfig ID string `long:"id" env:"ID" description:"Unique ID of this process. Auto-generated if not set"` Host string `long:"host" env:"HOST" description:"Addressable, advertised hostname or IP of this process. Hostname is used if not set"` Port uint16 `long:"port" env:"PORT" description:"Service port for HTTP and gRPC requests. A random port is used if not set"` }
ServiceConfig represents identification and addressing configuration of the process.
func (ServiceConfig) BuildProcessSpec ¶ added in v0.84.1
func (cfg ServiceConfig) BuildProcessSpec(srv *server.Server) protocol.ProcessSpec
ProcessSpec of the ServiceConfig.
type ZoneConfig ¶
type ZoneConfig struct {
Zone string `long:"zone" env:"ZONE" default:"local" description:"Availability zone within which this process is running"`
}
ZoneConfig configures the zone of the application.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package runconsumer extends consumer.Application with support for configuration and application initialization.
|
Package runconsumer extends consumer.Application with support for configuration and application initialization. |