groot

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2016 License: Apache-2.0 Imports: 6 Imported by: 17

Documentation

Index

Constants

View Source
const BundleReferenceFormat = "bundle:%s"
View Source
const GLOBAL_LOCK_KEY = "global-groot-lock"
View Source
const ImageReferenceFormat = "image:%s"

Variables

This section is empty.

Functions

This section is empty.

Types

type Bundle

type Bundle struct {
	Path       string
	RootFSPath string
}

type BundleSpec

type BundleSpec struct {
	ID                    string
	DiskLimit             int64
	ExcludeImageFromQuota bool
	VolumePath            string
	Image                 specsv1.Image
}

type Bundler

type Bundler interface {
	Exists(id string) (bool, error)
	Create(logger lager.Logger, spec BundleSpec) (Bundle, error)
	Destroy(logger lager.Logger, id string) error
	Metrics(logger lager.Logger, id string) (VolumeMetrics, error)
}

type Cleaner added in v0.2.0

type Cleaner struct {
	// contains filtered or unexported fields
}

func IamCleaner added in v0.2.0

func IamCleaner(locksmith Locksmith, sm StoreMeasurer, gc GarbageCollector) *Cleaner

func (*Cleaner) Clean added in v0.2.0

func (c *Cleaner) Clean(logger lager.Logger, threshold uint64, keepImages []string) (bool, error)

type CreateSpec

type CreateSpec struct {
	ID                    string
	Image                 string
	DiskLimit             int64
	ExcludeImageFromQuota bool
	UIDMappings           []IDMappingSpec
	GIDMappings           []IDMappingSpec
}

type Creator added in v0.2.0

type Creator struct {
	// contains filtered or unexported fields
}

func IamCreator added in v0.2.0

func IamCreator(bundler Bundler, imagePuller ImagePuller, locksmith Locksmith, dependencyManager DependencyManager) *Creator

func (*Creator) Create added in v0.2.0

func (c *Creator) Create(logger lager.Logger, spec CreateSpec) (Bundle, error)

type Deleter added in v0.2.0

type Deleter struct {
	// contains filtered or unexported fields
}

func IamDeleter added in v0.2.0

func IamDeleter(bundler Bundler, dependencyManager DependencyManager) *Deleter

func (*Deleter) Delete added in v0.2.0

func (d *Deleter) Delete(logger lager.Logger, id string) error

type DependencyManager added in v0.2.0

type DependencyManager interface {
	Register(id string, chainIDs []string) error
	Deregister(id string) error
}

type DiskUsage

type DiskUsage struct {
	TotalBytesUsed     int64 `json:"total_bytes_used"`
	ExclusiveBytesUsed int64 `json:"exclusive_bytes_used"`
}

type GarbageCollector added in v0.2.0

type GarbageCollector interface {
	Collect(logger lager.Logger, keepImages []string) error
}

type IDMappingSpec

type IDMappingSpec struct {
	HostID      int
	NamespaceID int
	Size        int
}

type Image added in v0.2.0

type Image struct {
	VolumePath string
	Image      specsv1.Image
	ChainIDs   []string
}

type ImagePuller

type ImagePuller interface {
	Pull(logger lager.Logger, spec ImageSpec) (Image, error)
}

type ImageSpec

type ImageSpec struct {
	DiskLimit             int64
	ExcludeImageFromQuota bool
	ImageSrc              *url.URL
	UIDMappings           []IDMappingSpec
	GIDMappings           []IDMappingSpec
}

type Locksmith

type Locksmith interface {
	Lock(key string) (*os.File, error)
	Unlock(lockFile *os.File) error
}

type Metricser added in v0.2.0

type Metricser struct {
	// contains filtered or unexported fields
}

func IamMetricser added in v0.2.0

func IamMetricser(bundler Bundler) *Metricser

func (*Metricser) Metrics added in v0.2.0

func (m *Metricser) Metrics(logger lager.Logger, id string) (VolumeMetrics, error)

type StoreMeasurer added in v0.2.0

type StoreMeasurer interface {
	MeasureStore(logger lager.Logger) (uint64, error)
}

type VolumeMetrics

type VolumeMetrics struct {
	DiskUsage DiskUsage `json:"disk_usage"`
}

Directories

Path Synopsis
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter
This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter This file was generated by counterfeiter

Jump to

Keyboard shortcuts

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