generate

package
v0.8.10 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package generate provides functionality to generate a Lockfile.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IGenerator

type IGenerator interface {
	GenerateLockfile(lockfileWriter io.Writer) error
}

IGenerator provides an interface for Generators, which are responsible for creating Lockfiles.

func NewGenerator

func NewGenerator(
	pathCollector IPathCollector,
	imageParser IImageParser,
	imageDigestUpdater IImageDigestUpdater,
	imageFormatter IImageFormatter,
) (IGenerator, error)

NewGenerator returns an IGenerator after ensuring all arguments are non-nil.

type IImageDigestUpdater

type IImageDigestUpdater interface {
	UpdateDigests(
		images <-chan parse.IImage,
		done <-chan struct{},
	) <-chan parse.IImage
}

IImageDigestUpdater provides an interface for ImageDigestUpdaters, which are responsible for querying registries for digests and updating images with them.

func NewImageDigestUpdater

func NewImageDigestUpdater(
	updater update.IImageDigestUpdater,
) (IImageDigestUpdater, error)

NewImageDigestUpdater creates an IImageDigestUpdater from an IImageDigestUpdater.

type IImageFormatter added in v0.7.2

type IImageFormatter interface {
	FormatImages(
		images <-chan parse.IImage,
		done <-chan struct{},
	) (map[kind.Kind]map[string][]interface{}, error)
}

IImageFormatter provides an interface for ImageFormatters, which are responsible for formatting images for a Lockfile.

func NewImageFormatter added in v0.7.2

func NewImageFormatter(
	formatters ...format.IImageFormatter,
) (IImageFormatter, error)

NewImageFormatter creates an IImageFormatter from IImageFormatters for different kinds of images. At least one formatter must be non nil, otherwise there would be no way to format images.

type IImageParser

type IImageParser interface {
	ParseFiles(
		paths <-chan collect.IPath,
		done <-chan struct{},
	) <-chan parse.IImage
}

IImageParser provides an interface for ImageParsers, which are responsible for parsing images from paths.

func NewImageParser added in v0.7.2

func NewImageParser(parsers ...parse.IImageParser) (IImageParser, error)

NewImageParser creates an IImageParser from IImageParsers for different kinds of images. At least one parser must be non nil, otherwise there would no way to parse images.

type IPathCollector

type IPathCollector interface {
	CollectPaths(done <-chan struct{}) <-chan collect.IPath
}

IPathCollector provides an interface for PathCollectors, which are responsible for collecting paths.

func NewPathCollector added in v0.7.2

func NewPathCollector(
	collectors ...collect.IPathCollector,
) (IPathCollector, error)

NewPathCollector creates an IPathCollector from IPathCollectors for different kinds of paths. At least one collector must be non nil, otherwise there would be no paths to collect.

Directories

Path Synopsis
Package collect provides functionality to collect file paths for processing.
Package collect provides functionality to collect file paths for processing.
Package format provides functionality to format images for a Lockfile.
Package format provides functionality to format images for a Lockfile.
Package parse provides functionality to parse images from collected files.
Package parse provides functionality to parse images from collected files.
Package update provides functionality to update images with digests.
Package update provides functionality to update images with digests.

Jump to

Keyboard shortcuts

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