Documentation ¶
Index ¶
Constants ¶
const ( // The filename where we persist the RuntimePod data RuntimeConfigPath = "runtime-config" // App-level annotations: streams mode AppStdinMode = "coreos.com/rkt/stage2/stdin" AppStdoutMode = "coreos.com/rkt/stage2/stdout" AppStderrMode = "coreos.com/rkt/stage2/stderr" )
Variables ¶
This section is empty.
Functions ¶
func LoadPodManifest ¶ added in v1.28.0
func LoadPodManifest(root string) (*schema.PodManifest, error)
LoadPodManifest loads a Pod Manifest.
Types ¶
type Pod ¶
type Pod struct { RuntimePod // embedded runtime parameters Root string // root directory where the pod will be located UUID types.UUID Manifest *schema.PodManifest Images map[string]*schema.ImageManifest UidRange user.UidRange }
Pod encapsulates a PodManifest and ImageManifests
func LoadPod ¶
LoadPod loads a Pod Manifest (as prepared by stage0), the runtime data, and its associated Application Manifests, under $root/stage1/opt/stage1/$apphash
func (*Pod) AppNameToImageName ¶ added in v1.1.0
func (p *Pod) AppNameToImageName(appName types.ACName) types.ACIdentifier
AppNameToImageName takes the name of an app in the Pod and returns the name of the app's image. The mapping between these two is populated when a Pod is loaded (using LoadPod).
func (*Pod) SaveRuntime ¶ added in v1.21.0
SaveRuntime persists just the runtime state. This should be called when the pod is started.
type RuntimePod ¶ added in v1.21.0
type RuntimePod struct { MetadataServiceURL string `json:"MetadataServiceURL"` PrivateUsers string `json:"PrivateUsers"` MDSToken string `json:"MDSToken"` Hostname string `json:"Hostname"` Debug bool `json:"Debug"` Mutable bool `json:"Mutable"` ResolvConfMode string `json:"ResolvConfMode"` EtcHostsMode string `json:"EtcHostsMode"` NetList common.NetList `json:"NetList"` Interactive bool `json:"Interactive"` InsecureOptions struct { DisablePaths bool `json:"DisablePaths"` DisableCapabilities bool `json:"DisableCapabilities"` DisableSeccomp bool `json:"DisableSeccomp"` } `json:"InsecureOptions"` IPCMode string `json:"IPCMode"` }
RuntimePod stores internal state we'd like access to. There is no interface, and noone outside the stage1 should access it. If you find yourself needing one of these members outside of the stage1, then it should be set as an annotation on the pod. This includes things like insecure options and the mds token - they are provided during init but needed for `app add`.