luci: Index | Files

package bootstrap

import ""


Package Files

bootstrap.go environment.go


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.
    EnvStreamServerPath = "LOGDOG_STREAM_SERVER_PATH"

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

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

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

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

Environment variable names


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

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

type Bootstrap Uses

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 Uses

func Get() (*Bootstrap, error)

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

func GetFromEnv Uses

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 Uses

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.

Package bootstrap imports 7 packages (graph) and is imported by 11 packages. Updated 2021-01-21. Refresh now. Tools for package owners.