Documentation

Index

Constants

View Source
const (
	LifecycleFilename = "lifecycle.tar.gz"
)

Variables

View Source
var (
	PreloadedStacks = []string{"red-stack", "blue-stack", "cflinuxfs3"}
	DefaultStack    = PreloadedStacks[0]
)

Functions

func DBInfo

func DBInfo() (string, string)

func TempDir

func TempDir(prefix string) string

func TempDirWithParent

func TempDirWithParent(parentDir string, prefix string) string

Types

type BuiltArtifacts

type BuiltArtifacts struct {
	Executables BuiltExecutables
	Lifecycles  BuiltLifecycles
	Healthcheck string
}

type BuiltExecutables

type BuiltExecutables map[string]string

type BuiltLifecycles

type BuiltLifecycles map[string]string

func (*BuiltLifecycles) BuildLifecycles

func (blc *BuiltLifecycles) BuildLifecycles(lifeCycle string, tmpDir string)

type ComponentAddresses

type ComponentAddresses struct {
	NATS                string
	Consul              string
	BBS                 string
	Health              string
	Rep                 string
	FileServer          string
	Router              string
	Garden              string
	Auctioneer          string
	SSHProxy            string
	SSHProxyHealthCheck string
	FakeVolmanDriver    string
	Locket              string
	SQL                 string
}

type ComponentMaker

type ComponentMaker interface {
	VolmanDriverConfigDir() string
	SSHConfig() SSHKeys
	Artifacts() BuiltArtifacts
	PortAllocator() portauthority.PortAllocator
	Addresses() ComponentAddresses
	Auctioneer(modifyConfigFuncs ...func(cfg *auctioneerconfig.AuctioneerConfig)) ifrit.Runner
	BBS(modifyConfigFuncs ...func(*bbsconfig.BBSConfig)) ifrit.Runner
	BBSClient() bbs.InternalClient
	RepClientFactory() rep.ClientFactory
	BBSServiceClient(logger lager.Logger) serviceclient.ServiceClient
	BBSURL() string
	BBSSSLConfig() SSLConfig
	Consul(argv ...string) ifrit.Runner
	ConsulCluster() string
	DefaultStack() string
	FileServer() (ifrit.Runner, string)
	Garden(fs ...func(*runner.GdnRunnerConfig)) ifrit.Runner
	GardenClient() garden.Client
	GardenWithoutDefaultStack() ifrit.Runner
	GrootFSDeleteStore()
	GrootFSInitStore()
	Locket(modifyConfigFuncs ...func(*locketconfig.LocketConfig)) ifrit.Runner
	NATS(argv ...string) ifrit.Runner
	Rep(modifyConfigFuncs ...func(*repconfig.RepConfig)) *ginkgomon.Runner
	RepN(n int, modifyConfigFuncs ...func(*repconfig.RepConfig)) *ginkgomon.Runner
	RepSSLConfig() SSLConfig
	RouteEmitter(fs ...func(config *routeemitterconfig.RouteEmitterConfig)) ifrit.Runner
	RouteEmitterN(n int, fs ...func(config *routeemitterconfig.RouteEmitterConfig)) ifrit.Runner
	Router() ifrit.Runner
	RoutingAPI(modifyConfigFuncs ...func(*routingapi.Config)) *routingapi.RoutingAPIRunner
	SQL(argv ...string) ifrit.Runner
	SSHProxy(modifyConfigFuncs ...func(*sshproxyconfig.SSHProxyConfig)) ifrit.Runner
	Setup()
	Teardown()
	VolmanClient(logger lager.Logger) (volman.Manager, ifrit.Runner)
	VolmanDriver(logger lager.Logger) (ifrit.Runner, dockerdriver.Driver)
}

func MakeComponentMaker

func MakeComponentMaker(builtArtifacts BuiltArtifacts, worldAddresses ComponentAddresses, allocator portauthority.PortAllocator, certAuthority certauthority.CertAuthority) ComponentMaker

func MakeV0ComponentMaker

func MakeV0ComponentMaker(builtArtifacts BuiltArtifacts, worldAddresses ComponentAddresses, allocator portauthority.PortAllocator, certAuthority certauthority.CertAuthority) ComponentMaker

type GardenSettingsConfig

type GardenSettingsConfig struct {
	GrootFSBinPath            string
	GrootFSStorePath          string
	GardenBinPath             string
	GardenGraphPath           string
	UnprivilegedGrootfsConfig GrootFSConfig
	PrivilegedGrootfsConfig   GrootFSConfig
	NetworkPluginConfig       NetworkPluginConfig
}

type GrootFSConfig

type GrootFSConfig struct {
	StorePath string `yaml:"store"`
	DraxBin   string `yaml:"drax_bin"`
	LogLevel  string `yaml:"log_level"`
	Create    struct {
		JSON                bool     `yaml:"json"`
		UidMappings         []string `yaml:"uid_mappings"`
		GidMappings         []string `yaml:"gid_mappings"`
		SkipLayerValidation bool     `yaml:"skip_layer_validation"`
	}
}

type NetworkPluginConfig

type NetworkPluginConfig struct {
	NetworkName    string `json:"network_name"`
	SubnetRange    string `json:"subnet_range"`
	GatewayAddress string `json:"gateway_address"`
}

type SSHKeys

type SSHKeys struct {
	HostKey       ssh.Signer
	HostKeyPem    string
	PrivateKeyPem string
	AuthorizedKey string
}

type SSLConfig

type SSLConfig struct {
	ServerCert string
	ServerKey  string
	ClientCert string
	ClientKey  string
	CACert     string
}