stage0

package
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 16, 2015 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Enter added in v0.2.0

func Enter(cdir string, podPID int, appName types.ACName, stage1Path string, cmdline []string) error

Enter enters the pod/app by exec()ing the stage1's /enter similar to /init /enter can expect to have its CWD set to the app root. appName and command are supplied to /enter on argv followed by any arguments. stage1Path is the path of the stage1 rootfs

func GC added in v0.5.4

func GC(pdir string, uuid *types.UUID, stage1Path string, debug bool) error

GC enters the pod by fork/exec()ing the stage1's /gc similar to /init. /gc can expect to have its CWD set to the pod root. stage1Path is the path of the stage1 rootfs

func MergeEnvs added in v0.4.0

func MergeEnvs(appEnv *types.Environment, inheritEnv bool, setEnv []string)

MergeEnvs amends appEnv setting variables in setEnv before setting anything new from os.Environ if inheritEnv = true setEnv is expected to be in the os.Environ() key=value format

func Prepare added in v0.4.0

func Prepare(cfg PrepareConfig, dir string, uuid *types.UUID) error

Prepare sets up a pod based on the given config.

func Run

func Run(cfg RunConfig, dir string)

Run mounts the right overlay filesystems and actually runs the prepared pod by exec()ing the stage1 init inside the pod filesystem.

Types

type CommonConfig added in v0.4.0

type CommonConfig struct {
	Store        *store.Store // store containing all of the configured application images
	Stage1Image  types.Hash   // stage1 image containing usable /init and /enter entrypoints
	UUID         *types.UUID  // UUID of the pod
	Debug        bool
	MountLabel   string // selinux label to use for fs
	ProcessLabel string // selinux label to use for process
}

configuration shared by both Run and Prepare

type PrepareConfig added in v0.4.0

type PrepareConfig struct {
	CommonConfig
	Apps         *apps.Apps          // apps to prepare
	InheritEnv   bool                // inherit parent environment into apps
	ExplicitEnv  []string            // always set these environment variables for all the apps
	Volumes      []types.Volume      // list of volumes that rkt can provide to applications
	Ports        []types.ExposedPort // list of ports that rkt will expose on the host
	UseOverlay   bool                // prepare pod with overlay fs
	PodManifest  string              // use the pod manifest specified by the user, this will ignore flags such as '--volume', '--port', etc.
	PrivateUsers *uid.UidRange       // User namespaces
}

configuration parameters required by Prepare

type RunConfig added in v0.4.0

type RunConfig struct {
	CommonConfig
	PrivateNet  common.PrivateNetList // pod should have its own network stack
	LockFd      int                   // lock file descriptor
	Interactive bool                  // whether the pod is interactive or not
	MDSRegister bool                  // whether to register with metadata service or not
	Apps        schema.AppList        // applications (prepare gets them via Apps)
	LocalConfig string                // Path to local configuration
}

configuration parameters needed by Run

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL