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 yaml or json manifest with the API server. The snapshot provided
// must match the manifest.
ReconcileRaw(ctx context.Context, snapshot *konfigurationv1.Snapshot, manifest []byte, dryRun bool) (changeSet string, err error)
// ReconcileUnstructured will reconcile the provided list of unstructured objects. They are assumed to be sorted
// such that cluster scoped resources are applied before namespaced ones. The snapshot provided must match
// the list of objects.
ReconcileUnstructured(ctx context.Context, snapshot *konfigurationv1.Snapshot, objects []*unstructured.Unstructured, dryRun bool) (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
NewResourceManager creates a new resource manager for the given reconcilee and 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
}
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.