View Source
const (
	// EnvStreamServerPath is the path to the Butler's stream server endpoint.
	// This can be used by applications to initiate a new Butler stream with an
	// existing Butler stream server process. If a subprocess is launched with a
	// stream server configuration, it will propagate this path to its child
	// processes.

	// EnvStreamProject is the environment variable set to the configured stream
	// project name.

	// EnvStreamPrefix is the environment variable set to the configured
	// stream name prefix.

	// EnvCoordinatorHost is the environment variable set to the host name of
	// the upstream Coordinator service.

	// EnvNamespace is the environment variable set to the stream namespace that
	// all streams should be created within.
	EnvNamespace = "LOGDOG_NAMESPACE"

Environment variable names


View Source
var ErrNotBootstrapped = errors.New("not bootstrapped")

ErrNotBootstrapped is returned by Get when the current process is not bootstrapped.


This section is empty.


type Bootstrap

type Bootstrap struct {
	// CoordinatorHost is the name of the upstream Coordinator host.
	// This is just the host name (""), not a full URL.
	// If this instance is not configured using a production Coordinator Output,
	// this will be empty.
	CoordinatorHost string

	// Project is the Butler instance project name.
	Project string
	// Prefix is the Butler instance prefix.
	Prefix types.StreamName
	// Namespace is prefix for stream names.
	Namespace types.StreamName

	// Client is the streamclient for this instance, or nil if the Butler has no
	// streamserver.
	Client *streamclient.Client

Bootstrap contains information about the configured bootstrap environment.

The bootstrap environment is loaded by probing the local application environment for variables emitted by a bootstrapping Butler.

func Get

func Get() (*Bootstrap, error)

Get is shorthand for `GetFromEnv(environ.System())`.

func GetFromEnv

func GetFromEnv(env environ.Env) (*Bootstrap, error)

GetFromEnv loads a Bootstrap instance from the given environment.

It will return an error if the bootstrap data is invalid, and will return ErrNotBootstrapped if the current process is not bootstrapped.

func (*Bootstrap) GetViewerURL

func (bs *Bootstrap) GetViewerURL(paths ...types.StreamPath) (string, error)

GetViewerURL returns a log stream viewer URL to the aggregate set of supplied stream paths.

If both the Project and CoordinatorHost values are not populated, an error will be returned.