Documentation ¶
Index ¶
- Constants
- func CleanImportsDir(c types.StackerConfig, name string, imports types.Imports, cache *BuildCache) error
- func Download(cacheDir string, url string, progress bool, ...) (string, error)
- func GetBase(o BaseLayerOpts) error
- func GitVersion(path string) (string, error)
- func Grab(sc types.StackerConfig, storage types.Storage, name string, source string, ...) error
- func Import(c types.StackerConfig, storage types.Storage, name string, ...) error
- func NewGitLayerTag(path string) (string, error)
- func SetupBuildContainerConfig(config types.StackerConfig, storage types.Storage, c *container.Container, ...) error
- func SetupLayerConfig(config types.StackerConfig, c *container.Container, l types.Layer, name string) error
- func SetupRootfs(o BaseLayerOpts) error
- func UnprivSetup(c types.StackerConfig, username string, uid, gid int) error
- type BaseLayerOpts
- type BuildArgs
- type BuildCache
- type Builder
- type CacheEntry
- type ImportHash
- type ImportType
- type OverlayDirHash
- type PublishArgs
- type Publisher
- type StackerFilesDAG
- type StackerLocks
Constants ¶
const ( GitVersionAnnotation = "com.cisco.stacker.git_version" StackerContentsAnnotation = "com.cisco.stacker.stacker_yaml" )
Variables ¶
This section is empty.
Functions ¶
func CleanImportsDir ¶ added in v0.5.0
func CleanImportsDir(c types.StackerConfig, name string, imports types.Imports, cache *BuildCache) error
func Download ¶ added in v0.2.0
func Download(cacheDir string, url string, progress bool, expectedHash, remoteHash, remoteSize string) (string, error)
download with caching support in the specified cache dir.
func GetBase ¶ added in v0.6.0
func GetBase(o BaseLayerOpts) error
GetBase grabs the base layer and puts it in the cache.
func GitVersion ¶
GitVersion generates a version string similar to what git describe --always does, with -dirty on the end if the git repo had local changes.
func NewGitLayerTag ¶ added in v0.5.0
NewGitLayerTag version generates a commit-<id> tag to be used for uploading an image to a docker registry
func SetupBuildContainerConfig ¶ added in v0.16.0
func SetupLayerConfig ¶ added in v0.16.0
func SetupRootfs ¶ added in v0.6.0
func SetupRootfs(o BaseLayerOpts) error
SetupRootfs assumes the base layer is correct in the cache, and sets up the base to the output.
If the layer is a build only layer, this code simply initializes the filesystem in roots to the built tag's filesystem.
func UnprivSetup ¶ added in v0.6.0
func UnprivSetup(c types.StackerConfig, username string, uid, gid int) error
Types ¶
type BaseLayerOpts ¶
type BuildCache ¶
type BuildCache struct { Cache map[string]CacheEntry `json:"cache"` Version int `json:"version"` // contains filtered or unexported fields }
func OpenCache ¶
func OpenCache(config types.StackerConfig, oci casext.Engine, sfm types.StackerFiles) (*BuildCache, error)
func (*BuildCache) Lookup ¶
func (c *BuildCache) Lookup(name string) (*CacheEntry, bool, error)
func (*BuildCache) Put ¶
func (c *BuildCache) Put(name string, manifests map[types.LayerType]ispec.Descriptor) error
type Builder ¶ added in v0.5.0
type Builder struct {
// contains filtered or unexported fields
}
Builder is responsible for building the layers based on stackerfiles
func NewBuilder ¶ added in v0.5.0
NewBuilder initializes a new Builder struct
func (*Builder) BuildMultiple ¶ added in v0.5.0
BuildMultiple builds a list of stackerfiles
type CacheEntry ¶
type CacheEntry struct { // A map of LayerType:Manifest this build corresponds to. Manifests map[types.LayerType]ispec.Descriptor // A map of the import url to the base64 encoded result of mtree walk // or sha256 sum of a file, depending on what Type is. Imports map[string]ImportHash // A map of the overlay_dir url to the base64 encoded result of mtree walk OverlayDirs map[string]OverlayDirHash // The name of this layer as it was built. Useful for the BuildOnly // case to make sure it still exists, and for printing error messages. Name string // The layer to cache Layer types.Layer // If the layer is of type "built", this is a hash of the base layer's // CacheEntry, which contains a hash of its imports. If there is a // mismatch with the current base layer's CacheEntry, the layer should // be rebuilt. Base string }
type ImportHash ¶
type ImportHash struct { // Unfortuantely, mtree doesn't work if you just pass it a single file, // so we use the sha256sum of the file, or the mtree encoding if it's a // directory. This indicates which. Type ImportType Hash string }
type ImportType ¶
type ImportType int
const ( ImportFile ImportType = iota ImportDir ImportType = iota )
func (ImportType) IsDir ¶
func (it ImportType) IsDir() bool
type OverlayDirHash ¶ added in v0.8.0
type OverlayDirHash struct {
Hash string
}
type PublishArgs ¶ added in v0.5.0
type Publisher ¶ added in v0.5.0
type Publisher struct {
// contains filtered or unexported fields
}
Publisher is responsible for publishing the layers based on stackerfiles
func NewPublisher ¶ added in v0.5.0
func NewPublisher(opts *PublishArgs) *Publisher
NewPublisher initializes a new Publisher struct
func (*Publisher) PublishMultiple ¶ added in v0.5.0
PublishMultiple published layers defined in a list of stackerfiles
type StackerFilesDAG ¶ added in v0.5.0
type StackerFilesDAG struct {
// contains filtered or unexported fields
}
StackerDepsDAG processes the dependencies between different stacker recipes
func NewStackerFilesDAG ¶ added in v0.5.0
func NewStackerFilesDAG(sfMap types.StackerFiles) (*StackerFilesDAG, error)
NewStackerDepsDAG properly initializes a StackerDepsProcessor
func (*StackerFilesDAG) GetStackerFile ¶ added in v0.5.0
func (d *StackerFilesDAG) GetStackerFile(path string) *types.Stackerfile
func (*StackerFilesDAG) Sort ¶ added in v0.5.0
func (d *StackerFilesDAG) Sort() []string
Sort provides a serial build order for the stacker files
type StackerLocks ¶ added in v0.6.2
type StackerLocks struct {
// contains filtered or unexported fields
}
func NewStorage ¶
func NewStorage(c types.StackerConfig) (types.Storage, *StackerLocks, error)
func (*StackerLocks) Unlock ¶ added in v0.6.2
func (ls *StackerLocks) Unlock()
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
This is a package to go from an embed.FS + file name to an exec.Command; works only on recent linux kernels
|
This is a package to go from an embed.FS + file name to an exec.Command; works only on recent linux kernels |
containers_storage
containers/image/storage has a dependency on libdevmapper.so; having this in its own package allows downstream users to import it if they want to use it, but means they can also avoid importing it if they don't want to add this dependency.
|
containers/image/storage has a dependency on libdevmapper.so; having this in its own package allows downstream users to import it if they want to use it, but means they can also avoid importing it if they don't want to add this dependency. |
A basic overlay storage backend.
|
A basic overlay storage backend. |
This package is a small go "library" (read: exec wrapper) around the mksquashfs binary that provides some useful primitives.
|
This package is a small go "library" (read: exec wrapper) around the mksquashfs binary that provides some useful primitives. |
common code used by storage backends
|
common code used by storage backends |