Documentation
¶
Index ¶
- func ExtractLastApplied(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)
- func Normalize(obj *unstructured.Unstructured) *unstructured.Unstructured
- func RemoveFields(obj *unstructured.Unstructured, fields []string)
- type CompareOptions
- type DiffResult
- type DiffStatus
- type DiffStrategy
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 ¶
func Normalize(obj *unstructured.Unstructured) *unstructured.Unstructured
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" )