Documentation
¶
Overview ¶
Package merge3 executes a 3-way merge update
Index ¶
- Constants
- func FilterCrds(kos fn.KubeObjects) (filtered fn.KubeObjects, crds fn.KubeObjects)
- func GetHandlingStrategy(original, updated, dest *yaml.RNode) filters.ResourceMergeStrategy
- func IsCrd(ko *fn.KubeObject) bool
- func Merge(original, updated, destination fn.KubeObjects, additionalSchemas []byte) (fn.KubeObjects, error)
- func MergeTuples(tl tuples) (kio.ResourceNodeSlice, error)
- func NsAndNameForMerge(metadataComment string) []string
- func SchemasFromCrdKubeObject(ko *fn.KubeObject) (map[string]spec.Schema, error)
- func SchemasFromCrdKubeObjects(kos fn.KubeObjects) (map[string]spec.Schema, error)
- func SchemasFromCrdRNode(node *kyaml.RNode) (map[string]spec.Schema, error)
- func SchemasFromCrdRNodes(nodes []*kyaml.RNode) (map[string]spec.Schema, error)
- type MergeTestResources
- type MergeTestResourcesSpec
Constants ¶
const (
MergeCommentPrefix = "kpt-merge:"
)
Variables ¶
This section is empty.
Functions ¶
func FilterCrds ¶
func FilterCrds(kos fn.KubeObjects) (filtered fn.KubeObjects, crds fn.KubeObjects)
FilterCrds splits the input between non-CRD and CRD KubeObjects.
func GetHandlingStrategy ¶
func GetHandlingStrategy(original, updated, dest *yaml.RNode) filters.ResourceMergeStrategy
GetHandlingStrategy is an implementation of the ResourceHandler.Handle method from kyaml. It is used to decide how a resource should be handled during the 3-way merge. This differs from the default implementation in that if a resource is deleted from upstream, it will only be deleted from local if there is no diff between origin and local.
func IsCrd ¶
func IsCrd(ko *fn.KubeObject) bool
func Merge ¶
func Merge(original, updated, destination fn.KubeObjects, additionalSchemas []byte) (fn.KubeObjects, error)
func MergeTuples ¶
func MergeTuples(tl tuples) (kio.ResourceNodeSlice, error)
func NsAndNameForMerge ¶
NsAndNameForMerge returns the namespace and name for merge from the line comment on the metadata field e.g. metadata: # kpt-merge: default/foo returns [default, foo]
func SchemasFromCrdKubeObject ¶
SchemasFromCrdKubeObject extracts the Kustomize OpenApi definitions keyed with their GVK from a single CRD KubeObject
func SchemasFromCrdKubeObjects ¶
SchemasFromCrdKubeObjects extracts the Kustomize OpenApi definitions keyed with their GVK from multiple CRD KubeObjects
func SchemasFromCrdRNode ¶
SchemasFromCrdRNode extracts all the Kustomize OpenApi definitions keyed with their GVK from a single CRD RNode
Types ¶
type MergeTestResources ¶
type MergeTestResources struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MergeTestResourcesSpec `json:"spec,omitempty"`
}