stage0

package
v1.14.0 Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2016 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ValidOSArch = map[string][]string{
	"linux": {"amd64", "i386", "aarch64", "aarch64_be", "armv6l", "armv7l", "armv7b"},
}

ValidOSArch contains the supported ACI image OS/architecture combinations.

Functions

func CheckMdsAvailability added in v0.9.0

func CheckMdsAvailability() error

CheckMdsAvailability checks whether a local metadata service can be reached.

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) 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.

func InitDebug added in v0.10.0

func InitDebug()

InitDebug enables debugging

func MergeMounts added in v0.10.0

func MergeMounts(mounts []schema.Mount, appMounts []schema.Mount) []schema.Mount

MergeMounts combines the global and per-app mount slices

func MountGC added in v0.14.0

func MountGC(path, uuid string) error

MountGC removes mounts from pods that couldn't be GCed cleanly.

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, dataDir string)

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

func StopPod added in v1.10.0

func StopPod(dir string, force bool, uuid *types.UUID) error

StopPod stops the given pod.

Types

type CommonConfig added in v0.4.0

type CommonConfig struct {
	Store        *imagestore.Store // store containing all of the configured application images
	TreeStore    *treestore.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
	RootHash     string            // Hash of the root filesystem
	ManifestData string            // The pod manifest data
	Debug        bool
	MountLabel   string // selinux label to use for fs
	ProcessLabel string // selinux label to use for process
}

CommonConfig defines the 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
	EnvFromFile        []string            // environment variables loaded from files, set for all the apps
	Ports              []types.ExposedPort // list of ports that rkt will expose on the host
	UseOverlay         bool                // prepare pod with overlay fs
	SkipTreeStoreCheck bool                // skip checking the treestore before rendering
	PodManifest        string              // use the pod manifest specified by the user, this will ignore flags such as '--volume', '--port', etc.
	PrivateUsers       *user.UidRange      // User namespaces
}

PrepareConfig defines the configuration parameters required by Prepare

type RunConfig added in v0.4.0

type RunConfig struct {
	*CommonConfig
	Net                  common.NetList // 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
	Hostname             string         // hostname of the pod
	RktGid               int            // group id of the 'rkt' group, -1 if there's no rkt group.
	DNS                  []string       // DNS name servers to write in /etc/resolv.conf
	DNSSearch            []string       // DNS search domains to write in /etc/resolv.conf
	DNSOpt               []string       // DNS options to write in /etc/resolv.conf
	InsecureCapabilities bool           // Do not restrict capabilities
	InsecurePaths        bool           // Do not restrict access to files in sysfs or procfs
	InsecureSeccomp      bool           // Do not add seccomp restrictions
	UseOverlay           bool           // run pod with overlay fs
}

RunConfig defines the configuration parameters needed by Run

Jump to

Keyboard shortcuts

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