 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
      Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FakeSubpath ¶
type FakeSubpath struct{}
    FakeSubpath is a subpather implementation for testing
func (*FakeSubpath) CleanSubPaths ¶
func (fs *FakeSubpath) CleanSubPaths(podDir string, volumeName string) error
CleanSubPaths is a fake implementation of CleanSubPaths. It is a noop
func (*FakeSubpath) PrepareSafeSubpath ¶
func (fs *FakeSubpath) PrepareSafeSubpath(subPath Subpath) (newHostPath string, cleanupAction func(), err error)
PrepareSafeSubpath is a fake implementation of PrepareSafeSubpath. Always returns newHostPath == subPath.Path
func (*FakeSubpath) SafeMakeDir ¶
SafeMakeDir is a fake implementation of SafeMakeDir. It is a noop
type Interface ¶
type Interface interface {
	// CleanSubPaths removes any bind-mounts created by PrepareSafeSubpath in given
	// pod volume directory.
	CleanSubPaths(poodDir string, volumeName string) error
	// PrepareSafeSubpath does everything that's necessary to prepare a subPath
	// that's 1) inside given volumePath and 2) immutable after this call.
	//
	// newHostPath - location of prepared subPath. It should be used instead of
	// hostName when running the container.
	// cleanupAction - action to run when the container is running or it failed to start.
	//
	// CleanupAction must be called immediately after the container with given
	// subpath starts. On the other hand, Interface.CleanSubPaths must be called
	// when the pod finishes.
	PrepareSafeSubpath(subPath Subpath) (newHostPath string, cleanupAction func(), err error)
	// SafeMakeDir creates subdir within given base. It makes sure that the
	// created directory does not escape given base directory mis-using
	// symlinks. Note that the function makes sure that it creates the directory
	// somewhere under the base, nothing else. E.g. if the directory already
	// exists, it may exist outside of the base due to symlinks.
	// This method should be used if the directory to create is inside volume
	// that's under user control. User must not be able to use symlinks to
	// escape the volume to create directories somewhere else.
	SafeMakeDir(subdir string, base string, perm os.FileMode) error
}
    Interface defines the set of methods all subpathers must implement
type Subpath ¶
type Subpath struct {
	// index of the VolumeMount for this container
	VolumeMountIndex int
	// Full path to the subpath directory on the host
	Path string
	// name of the volume that is a valid directory name.
	VolumeName string
	// Full path to the volume path
	VolumePath string
	// Path to the pod's directory, including pod UID
	PodDir string
	// Name of the container
	ContainerName string
}
    Subpath defines the attributes of a subpath
 Click to show internal directories. 
   Click to hide internal directories.