Documentation
¶
Overview ¶
Package resources contains the Manager interface for reconciling arbitrary resources with a Kubernetes API server.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager interface {
// Reconcile will reconcile the provided manifest of one or more objects with
// the API server. The snapshot provided must match the manifest.
Reconcile(ctx context.Context, snapshot *konfigurationv1.Snapshot, manifest []byte) (changeSet string, err error)
// Prune will attempt to garbage-collect resources represented in the lastSnapshot that
// were not created in the newSnapshot.
Prune(ctx context.Context, lastSnapshot, newSnapshot *konfigurationv1.Snapshot) (changeSet string, success bool)
}
Manager is the main interface for reconciling resources from built manifests.
func NewResourceManager ¶
func NewResourceManager(cl client.Client, parent Reconcilee) Manager
NewKonfigurationManager creates a new resource manager for the given konfiguration using the given client.
type Reconcilee ¶ added in v0.0.2
type Reconcilee interface {
client.Object
// GetTimeout should return the timeout for reconciliation options
GetTimeout() time.Duration
// ForceCreate should return whether objects should be deleted and recreated
// for things such as immutable field changes.
ForceCreate() bool
// ShouldValidate should return whether objects should be validated with a dry-run
// before creation or updating.
// TODO: This just triggers a dry-run first, should be more intelligent
ShouldValidate() bool
}
Reconcilee is an interface extending client.Object that includes a method for retrieving information about how resources should be managed.
Click to show internal directories.
Click to hide internal directories.