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

package patches

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

Index

Constants

const (
	// KubeletConfiguration defines the kubeletconfiguration patch target.
	KubeletConfiguration = "kubeletconfiguration"
	// CoreDNSDeployment defines the corednsdeployment patch target.
	CoreDNSDeployment = "corednsdeployment"
)

Functions

func KnownTargets

func KnownTargets() []string

KnownTargets returns the locally defined knownTargets.

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 NewPatchManager

func NewPatchManager(patchSets []*PatchSet, knownTargets []string, output io.Writer) *PatchManager

NewPatchManager creates a patch manager that can be used to apply patches to "knownTargets".

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 PatchSet

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

PatchSet defines a set of patches of a certain type that can patch a PatchTarget.

func CreatePatchSet

func CreatePatchSet(targetName string, patchType types.PatchType, data string) (*PatchSet, error)

CreatePatchSet creates a patchSet object, by splitting the given "data" by "\n---".

func (*PatchSet) String

func (ps *PatchSet) String() string

String() is used for unit-testing.

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.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
16 packages
Last checked
3 hours ago

Tools for package owners.