 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package clientfunk contains client-side types and utilities
Index ¶
Constants ¶
const ClusterfunkSchemaName = "cluster"
    ClusterfunkSchemaName is the schema used for the connections. Each server connection uses clusterfunk://[endpointname] when resolving. This should be combined with the service config settings included in this package.
const GRPCServiceConfig = `{
	"loadBalancingPolicy": "round_robin"
}`
    GRPCServiceConfig is the default service config for Clusterfunk clients. It will enable retries when the service is down but not when the call times out.
Variables ¶
This section is empty.
Functions ¶
func ConnectToManagement ¶ added in v0.0.7
func ConnectToManagement(client Client) (managepb.ClusterManagementClient, error)
ConnectToManagement connects to the management endpoint by looking up a management endpoint via the client. This is a convenience method
func SetResolverLogging ¶ added in v1.0.6
func SetResolverLogging(enable bool)
SetResolverLogging turns on and off detailed tracing of the resolver's returns. This can aid in debugging
Types ¶
type Client ¶ added in v0.0.7
type Client interface {
	// WaitForEndpoint waits for an endpoint to become available.
	WaitForEndpoint(name string)
	// Endpoints returns all of the available endpoints
	Endpoints() []funk.Endpoint
	// RefreshPeers refreshes the list of peers. This ensures you'll have a
	// reasonable updated worldview.
	RefreshPeers()
	funk.EndpointRegistrator
}
    Client is a cluster client interface.
func NewClusterClient ¶ added in v0.0.7
func NewClusterClient(params ClientParameters) (Client, error)
NewClusterClient creates a new cluster client. clusterName is the name of the cluster. If zeroConf is set to true mDNS/ZeroConf will be used to find a serf node to attach to. If the zeroConf parameter is set to false the seedNode parameter is used to attach to a Serf node.
type ClientParameters ¶ added in v0.0.23
type ClientParameters struct {
	ClusterName     string   `kong:"help='Name of cluster',default='clusterfunk'"`
	Name            string   `kong:"help='Client name',default='client'"`
	ZeroConf        bool     `kong:"help='Enable/disable ZeroConf/mDNS for cluster lookups',default='true'"`
	SerfJoinAddress []string `kong:"help='Serf nodes to join'"`
	Verbose         bool     `kong:"help='Verbose logging'"`
}
    ClientParameters is the client configuration parameters