Documentation

Index

Constants

This section is empty.

Variables

View Source
var BuildDate = "unknown"

    BuildDate is populated at build with $(date +%F-%T-%Z).

    View Source
    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 InitLog

          func InitLog(cfg LogConfig)

            InitLog configures the logger.

            func Must

            func Must(err error, msg string, extra ...interface{})

              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

                                            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.

                                                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.