Documentation
¶
Overview ¶
Package ateletpath is atelet's on-node layout: the per-actor directories it passes to ateom as ActorDirs, and the directories only atelet uses.
Index ¶
- Variables
- func ActorDirs(actorUID string) *ateompb.ActorDirs
- func ActorPath(actorUID string) string
- func ActorSandboxAssetsFile(actorUID string) string
- func CheckpointStateDir(actorUID string) string
- func DurableDirVolumeMountPoint(actorUID, volumeName string) string
- func DurableDirVolumeMountsDir(actorUID string) string
- func GVisorReleaseDir(sha256 string) string
- func LocalCheckpointsDir(actorUID string) string
- func LocalSnapshotDir(actorUID, snapshotName string) string
- func OCIBundleDir(actorUID string) string
- func OCIBundlePath(actorUID, containerName string) string
- func RestoreStateDir(actorUID string) string
- func RunSCBinaryPath(sha256 string) string
- func SystemInfoVolumeRoot(actorUID, volumeName string) string
- func SystemInfoVolumeRootsDir(actorUID string) string
- func VolumeHostPath(actorUID, volumeName string) string
- func VolumesDir(actorUID string) string
Constants ¶
This section is empty.
Variables ¶
var ( // ImageCacheDir is the node-local OCI image layer cache (see // internal/imagecache). It lives under BasePath so the cached layer // directories are visible at the same path in atelet (which writes them) // and in every ateom pod (which mounts them as overlay lowerdirs). ImageCacheDir = filepath.Join(nodepath.BasePath, "image-cache") )
Functions ¶
func ActorDirs ¶
ActorDirs is the directory set atelet passes to ateom for an actor. ateom takes these from the request rather than deriving them from the actor UID.
func ActorSandboxAssetsFile ¶
ActorSandboxAssetsFile is the per-actor file where atelet records the sandbox binaries (class + content-addressed asset set, for this node's architecture) the actor is currently running. It is written at Run/Restore and read at Checkpoint (when the request no longer carries the sandbox config). It lives directly under ActorPath — NOT under a subdir wiped by atelet's resetActorDirs — so it survives between Run and a later Checkpoint.
func CheckpointStateDir ¶
func DurableDirVolumeMountPoint ¶
DurableDirVolumeMountPoint returns the path where a specific durable-dir volume is mounted on the nodeVM.
func DurableDirVolumeMountsDir ¶
DurableDirVolumeMountsDir is the directory where individual durable-dir volumes are mounted.
func GVisorReleaseDir ¶
GVisorReleaseDir is the directory a gVisor release tarball (gvisor.tar.bz2, containing runsc plus its gvisor-bin/ helper binaries) is extracted into, content-addressed by the tarball's sha256. runsc requires the gvisor-bin/ subdirectory to sit next to it, so the whole release is kept together under one directory rather than as loose files in StaticFilesDir.
func LocalCheckpointsDir ¶
func LocalSnapshotDir ¶
LocalSnapshotDir is the directory holding one named local (pause) snapshot of an actor: the checkpoint files plus their manifest.
func OCIBundleDir ¶
func OCIBundlePath ¶
func RestoreStateDir ¶
RestoreStateDir is the local directory to use to restore an actor from a checkpoint downloaded from GCS.
We need to use a different path from CheckpointStateDir, because using `runsc restore -direct -background` means that runsc starts executing first, then demand-pages in parts of the checkpoint file as they are needed. To know when the background reading is finished, we would need to run `runsc wait -checkpoint`, which will block until the read is done. Alternatively, we can make sure we write the suspension checkpoint to a different location. This will work properly, with `runsc checkpoint` paging in any data that hasn't yet been loaded.
func RunSCBinaryPath ¶
func SystemInfoVolumeRoot ¶
SystemInfoVolumeRoot returns the host path of the root directory for a specific system-info volume.
func SystemInfoVolumeRootsDir ¶
SystemInfoVolumeRootsDir is the directory containing the per-volume root directories of system-info volumes. Snapshots must capture durable-dir data but never system-info contents, which atelet regenerates on every Run/Restore; each sandbox class excludes them differently:
- micro-VM captures by location: its checkpoint tars all of DurableDirVolumeMountsDir (see ateom-microvm's tarDurableVolumes), so system-info roots are excluded by living in this separate directory.
- gVisor captures by declaration: durable mounts are registered with the sandbox (mount-hint annotations for FULL checkpoints, the enumerated durable mount paths for DATA fscheckpoints); system-info mounts are plain undeclared binds, never captured regardless of host layout.
The separate directory is therefore critical only for micro-VM.
func VolumeHostPath ¶
func VolumesDir ¶
Types ¶
This section is empty.