crdversionchecker

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Mar 19, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCRDVersionChecker

func NewCRDVersionChecker() monitortestframework.MonitorTest

NewCRDVersionChecker creates a new monitor test that tracks CRD version changes during upgrades.

Types

type CRDChangeSummary

type CRDChangeSummary struct {
	Name            string   `json:"name"`                      // Name of the CRD
	AddedVersions   []string `json:"addedVersions,omitempty"`   // Versions that were added
	RemovedVersions []string `json:"removedVersions,omitempty"` // Versions that were removed
	StorageChanged  bool     `json:"storageChanged,omitempty"`  // True if storage version changed
	OldStorage      string   `json:"oldStorage,omitempty"`      // Old storage version
	NewStorage      string   `json:"newStorage,omitempty"`      // New storage version
}

CRDChangeSummary describes changes to a specific CRD between snapshots.

type CRDCondition

type CRDCondition struct {
	Type               string `json:"type"`                         // Condition type (e.g., Established, NamesAccepted)
	Status             string `json:"status"`                       // True, False, or Unknown
	Reason             string `json:"reason,omitempty"`             // Machine-readable reason for the condition
	Message            string `json:"message,omitempty"`            // Human-readable message
	LastTransitionTime string `json:"lastTransitionTime,omitempty"` // When the condition last transitioned
}

CRDCondition captures the condition information for a CRD.

type CRDInfo

type CRDInfo struct {
	Name           string           `json:"name"`           // Full CRD name (e.g., machines.machine.openshift.io)
	Group          string           `json:"group"`          // API group
	Kind           string           `json:"kind"`           // Resource kind
	Versions       []CRDVersionInfo `json:"versions"`       // All defined versions
	StoredVersions []string         `json:"storedVersions"` // Versions that have data stored in etcd
	Conditions     []CRDCondition   `json:"conditions"`     // Current conditions of the CRD
}

CRDInfo captures the essential information about a CustomResourceDefinition.

type CRDSnapshot

type CRDSnapshot struct {
	CollectedAt time.Time          `json:"collectedAt"`
	CRDs        map[string]CRDInfo `json:"crds"` // Keyed by CRD name
}

CRDSnapshot represents a point-in-time snapshot of all CRDs in the cluster.

type CRDSummary

type CRDSummary struct {
	BeforeUpgrade CRDSnapshot        `json:"beforeUpgrade"` // Snapshot of CRDs before the upgrade
	AfterUpgrade  CRDSnapshot        `json:"afterUpgrade"`  // Snapshot of CRDs after the upgrade
	AddedCRDs     []string           `json:"addedCRDs"`     // CRDs that were added during upgrade
	RemovedCRDs   []string           `json:"removedCRDs"`   // CRDs that were removed during upgrade
	ChangedCRDs   []CRDChangeSummary `json:"changedCRDs"`   // CRDs with version changes
}

CRDSummary contains the before/after snapshots and computed differences.

type CRDVersionInfo

type CRDVersionInfo struct {
	Name       string `json:"name"`                 // Version name (e.g., v1, v1beta1)
	Served     bool   `json:"served"`               // Whether this version is served by the API server
	Storage    bool   `json:"storage"`              // Whether this is the storage version
	Deprecated bool   `json:"deprecated,omitempty"` // Whether this version is deprecated
}

CRDVersionInfo captures the version information for a single CRD version.

Jump to

Keyboard shortcuts

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