kubernetesk8s.io/kubernetes/cmd/kubeadm/app/util/patches Index | Files

package patches

import "k8s.io/kubernetes/cmd/kubeadm/app/util/patches"

Index

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

patches.go

Version
v1.22.14
Published
Sep 14, 2022
Platform
js/wasm
Imports
16 packages
Last checked
26 seconds ago

Tools for package owners.