import "go.gazette.dev/core/mainboilerplate"
client.go config.go diagnostics.go etcd.go logging.go service.go
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).
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(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.
InitLog configures the logger.
Must panics if |err| is non-nil, supplying |msg| and |extra| as formatter and fields of the generated panic.
MustParseArgs requires that Parser be able to ParseArgs without error.
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
type AddressConfig struct { Address pb.Endpoint `long:"address" env:"ADDRESS" default:"http://localhost:8080" description:"Service address endpoint"` }
AddressConfig of a remote service.
func (c *AddressConfig) MustDial(ctx context.Context) *grpc.ClientConn
MustDial dials the server address using a protocol.Dispatcher balancer, and panics on error.
func (c *AddressConfig) MustJournalClient(ctx context.Context) pb.JournalClient
MustJournalClient dials and returns a new JournalClient.
func (c *AddressConfig) MustShardClient(ctx context.Context) pc.ShardClient
MustShardClient dials and returns a new ShardClient.
type ClientConfig struct { AddressConfig Cache struct { Size int `long:"cache.size" env:"CACHE_SIZE" default:"0" description:"Size of client route cache. If <= zero, no cache is used (server always proxies)"` 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 (c *ClientConfig) BuildRouter() pb.DispatchRouter
BuildRouter returns a configured DispatchRouter.
func (c *ClientConfig) MustRoutedJournalClient(ctx context.Context) pb.RoutedJournalClient
MustRoutedJournalClient composes MustDial and BuildRouter to return a RoutedJournalClient.
func (c *ClientConfig) MustRoutedShardClient(ctx context.Context) pc.RoutedShardClient
MustRoutedShardClient composes MustDial and BuildRouter to return a RoutedShardClient.
type DiagnosticsConfig struct { }
DiagnosticsConfig configures pull-based application metrics, debugging and diagnostics.
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 (c *EtcdConfig) MustDial() *clientv3.Client
MustDial builds an Etcd client connection.
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 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 (cfg ServiceConfig) BuildProcessSpec(srv *server.Server) protocol.ProcessSpec
ProcessSpec of the ServiceConfig.
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.
Path | Synopsis |
---|---|
runconsumer | Package runconsumer extends consumer.Application with support for configuration and application initialization. |
Package mainboilerplate imports 21 packages (graph) and is imported by 17 packages. Updated 2020-10-13. Refresh now. Tools for package owners.