Documentation
¶
Index ¶
Constants ¶
const (
// K8sCliExtensionKey is preserved from setters2
K8sCliExtensionKey = "x-k8s-cli"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Change ¶
Change contains the setter that resulted in a Change, the old and the new value after the Change.
type ImageRef ¶
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 ObjectChanges ¶
type ObjectChanges map[ObjectIdentifier][]Change
ObjectChanges contains all the changes made to objects.
type ObjectIdentifier ¶
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 ¶
type Result struct {
FileChanges map[string]ObjectChanges
}
Result contains the file changes made during the update. It contains details about the exact changes made to the files and the objects in them. It has a nested structure file->objects->changes.
func UpdateWithSetters ¶
func UpdateWithSetters(tracelog logr.Logger, inpath, outpath string, policies []reflectorv1.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`. It also returns the result of the changes it made as Result.
func (*Result) AddChange ¶
func (r *Result) AddChange(file string, objectID ObjectIdentifier, changes ...Change)
AddChange adds changes to Result for a given file, object and changes associated with it.
func (Result) Objects ¶
func (r Result) Objects() ObjectChanges
Objects returns ObjectChanges, regardless of which file they appear in.
type ScreeningLocalReader ¶
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
}
ScreeningLocalReader 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 ¶
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 ¶
type SetAllCallback struct {
SettersSchema *spec.Schema
Callback func(setter, oldValue, newValue string)
Trace logr.Logger
}
func (*SetAllCallback) TraceOrDiscard ¶
func (s *SetAllCallback) TraceOrDiscard() logr.Logger