Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PatchManager

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

PatchManager defines an object that can apply patches.

func GetPatchManagerForPath

func GetPatchManagerForPath(path string, knownTargets []string, output io.Writer) (*PatchManager, error)

GetPatchManagerForPath creates a patch manager that can be used to apply patches to "knownTargets". "path" should contain patches that can be used to patch the "knownTargets". If "output" is non-nil, messages about actions performed by the manager would go on this io.Writer.

func (*PatchManager) ApplyPatchesToTarget

func (pm *PatchManager) ApplyPatchesToTarget(patchTarget *PatchTarget) error

ApplyPatchesToTarget takes a patch target and patches its "Data" using the patches stored in the patch manager. The resulted "Data" is always converted to JSON.

type PatchTarget

type PatchTarget struct {
	// Name must be the name of a known target. In the case of Kubernetes objects
	// this is likely to match the ObjectMeta.Name of a target.
	Name string

	// StrategicMergePatchObject is only used for strategic merge patches.
	// It represents the underlying object type that is patched - e.g. "v1.Pod"
	StrategicMergePatchObject interface{}

	// Data must contain the bytes that will be patched.
	Data []byte
}

PatchTarget defines a target to be patched, such as a control-plane static Pod.

Source Files