Documentation ¶
Index ¶
Constants ¶
const ( // SetterShortHand is a shorthand that can be used to mark // setters; instead of // # { "$ref": "#/definitions/ SetterShortHand = "$imagepolicy" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FileResult ¶ added in v0.7.0
type FileResult struct {
Objects map[ObjectIdentifier][]ImageRef
}
FileResult gives the updates in a particular file.
type ImageRef ¶ added in v0.7.0
type ImageRef interface { // String returns a string representation of the image ref as it // is used in the update; e.g., "helloworld:v1.0.1" String() string // Identifier returns the tag or digest; e.g., "v1.0.1" Identifier() string // Repository returns the repository component of the ImageRef, // with an implied defaults, e.g., "library/helloworld" Repository() string // Registry returns the registry component of the ImageRef, e.g., // "index.docker.io" Registry() string // Name gives the fully-qualified reference name, e.g., // "index.docker.io/library/helloworld:v1.0.1" Name() string // Policy gives the namespaced name of the image policy that led // to the update. Policy() types.NamespacedName }
ImageRef represents the image reference used to replace a field value in an update.
type ObjectIdentifier ¶ added in v0.7.0
type ObjectIdentifier struct {
yaml.ResourceIdentifier
}
ObjectIdentifier holds the identifying data for a particular object. This won't always have a name (e.g., a kustomization.yaml).
type Result ¶ added in v0.7.0
type Result struct {
Files map[string]FileResult
}
Result reports the outcome of an automated update. It has a nested structure file->objects->images. Different projections (e.g., all the images, regardless of object) are available via methods.
func UpdateWithSetters ¶
func UpdateWithSetters(tracelog logr.Logger, inpath, outpath string, policies []imagev1_reflect.ImagePolicy) (Result, error)
UpdateWithSetters takes all YAML files from `inpath`, updates any that contain an "in scope" image policy marker, and writes files it updated (and only those files) back to `outpath`.
func (Result) Images ¶ added in v0.7.0
Images returns all the images that were involved in at least one update.
func (Result) Objects ¶ added in v0.7.0
func (r Result) Objects() map[ObjectIdentifier][]ImageRef
Objects returns a map of all the objects against the images updated within, regardless of which file they appear in.
type ScreeningLocalReader ¶ added in v0.2.0
type ScreeningLocalReader struct { Token string Path string Trace logr.Logger // This records the relative path of each file that passed // screening (i.e., contained the token), but couldn't be parsed. ProblemFiles []string }
ScreeningReader is a kio.Reader that includes only files that are pertinent to automation. In practice this means looking for a particular token in each file, and ignoring those files without the token. This avoids most problematic cases -- e.g., templates in a Helm chart, which won't parse as YAML -- and cheaply filters for only those files that need processing.
func (*ScreeningLocalReader) Read ¶ added in v0.2.0
func (r *ScreeningLocalReader) Read() ([]*yaml.RNode, error)
Read scans the .Path recursively for files that contain .Token, and parses any that do. It applies the filename annotation used by [`kio.LocalPackageWriter`](https://godoc.org/sigs.k8s.io/kustomize/kyaml/kio#LocalPackageWriter) so that the same will write files back to their original location. The implementation follows that of [LocalPackageReader.Read](https://godoc.org/sigs.k8s.io/kustomize/kyaml/kio#LocalPackageReader.Read), adapting lightly (mainly to leave features out).
type SetAllCallback ¶ added in v0.8.0
type SetAllCallback struct { SettersSchema *spec.Schema Callback func(setter, oldValue, newValue string) Trace logr.Logger }
func (*SetAllCallback) TraceOrDiscard ¶ added in v0.14.0
func (s *SetAllCallback) TraceOrDiscard() logr.Logger