...

Package patches

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

Overview ▾

Constants

KubeletConfiguration defines the kubeletconfiguration patch target.

const KubeletConfiguration = "kubeletconfiguration"

func KnownTargets

func KnownTargets() []string

KnownTargets returns the locally defined knownTargets.

type PatchManager

PatchManager defines an object that can apply patches.

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

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

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

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
}