diff

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractLastApplied added in v0.3.0

func ExtractLastApplied(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)

ExtractLastApplied extracts the last-applied-configuration annotation from a cluster resource and returns it as an Unstructured object. Returns nil if the annotation is not present.

func Normalize

Normalize removes cluster-managed fields from a resource for clean comparison.

func RemoveFields added in v0.3.0

func RemoveFields(obj *unstructured.Unstructured, fields []string)

RemoveFields removes the specified field paths from an unstructured object. Field paths use dot notation, e.g., "metadata.annotations.some-key", "spec.replicas".

Types

type CompareOptions added in v0.3.0

type CompareOptions struct {
	ContextLines int          // number of context lines in diff output (default: 3)
	IgnoreFields []string     // field paths to ignore (e.g., "metadata.annotations.some-key")
	Strategy     DiffStrategy // comparison strategy: "live" or "last-applied"
}

CompareOptions holds options for the comparison.

func DefaultCompareOptions added in v0.3.0

func DefaultCompareOptions() CompareOptions

DefaultCompareOptions returns the default comparison options.

type DiffResult

type DiffResult struct {
	APIVersion string
	Kind       string
	Name       string
	Namespace  string
	Status     DiffStatus
	Diff       string // unified diff text
}

DiffResult holds the comparison result for a single resource.

func Compare

func Compare(local, cluster *unstructured.Unstructured, opts ...CompareOptions) (*DiffResult, error)

Compare compares a local resource against a cluster resource.

func (*DiffResult) ResourceKey

func (d *DiffResult) ResourceKey() string

ResourceKey returns a human-readable identifier for the resource.

type DiffStatus

type DiffStatus string

DiffStatus represents the status of a resource comparison.

const (
	StatusUnchanged DiffStatus = "unchanged"
	StatusChanged   DiffStatus = "changed"
	StatusNew       DiffStatus = "new"
	StatusDeleted   DiffStatus = "deleted"
)

type DiffStrategy added in v0.3.0

type DiffStrategy string

DiffStrategy defines what to compare the local resource against.

const (
	// StrategyLive compares against the live cluster state (default).
	StrategyLive DiffStrategy = "live"
	// StrategyLastApplied compares against the last-applied-configuration annotation.
	StrategyLastApplied DiffStrategy = "last-applied"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL