ModelController
Class: ModelController
Defined in: kubernetes/src/operator/controller.ts:118
Reconcile the objects of one model stored in a KubernetesStore
It watches the resources of the model, queues the objects whose spec changed (metadata.generation), runs their
reconcile and writes status.observedGeneration and a Ready condition. Status-only changes, its own status
writes included, are not reconciled again.
Constructors
Constructor
new ModelController(
model,store,options):ModelController
Defined in: kubernetes/src/operator/controller.ts:152
Create a new ModelController instance
Parameters
model
ModelClass
the model
store
the store of the model
options
queue, resync and finalizer
Returns
ModelController
Properties
attempted
protectedattempted:Map<string,number>
Defined in: kubernetes/src/operator/controller.ts:144
generation of each object last reconciled, successfully or not
filter
protectedfilter:KubernetesRepository<any>
Defined in: kubernetes/src/operator/controller.ts:130
Filter
informer?
protectedoptionalinformer?:KubernetesInformer<CustomResource>
Defined in: kubernetes/src/operator/controller.ts:134
Informer
model
readonlymodel:ModelClass
Defined in: kubernetes/src/operator/controller.ts:153
the model
options
protectedoptions:ControllerOptions
Defined in: kubernetes/src/operator/controller.ts:155
queue, resync and finalizer
queue?
protectedoptionalqueue?:WorkQueue
Defined in: kubernetes/src/operator/controller.ts:138
Queue
repository
protectedrepository:Repository<any>
Defined in: kubernetes/src/operator/controller.ts:126
Repository
resources
protectedresources:CustomResources
Defined in: kubernetes/src/operator/controller.ts:122
Resources
resyncTimer?
protectedoptionalresyncTimer?:Timeout
Defined in: kubernetes/src/operator/controller.ts:142
Resync timer
store
protectedstore:KubernetesStore
Defined in: kubernetes/src/operator/controller.ts:154
the store of the model
Methods
accepts()
protectedaccepts(resource):boolean
Defined in: kubernetes/src/operator/controller.ts:205
Whether a resource holds an object of the model (subclasses share the resources of their root model)
Parameters
resource
the resource
Returns
boolean
true if it does
enqueue()
protectedenqueue(name):void
Defined in: kubernetes/src/operator/controller.ts:222
Queue an object
Parameters
name
string
the resource name
Returns
void
finalize()
protectedfinalize(resource):Promise<void>
Defined in: kubernetes/src/operator/controller.ts:295
Call finalize of an object being deleted, then remove the finalizer
Parameters
resource
the resource
Returns
Promise<void>
onChange()
protectedonChange(resource):void
Defined in: kubernetes/src/operator/controller.ts:231
Queue a changed object, unless its spec is already reconciled
Parameters
resource
the resource
Returns
void
process()
protectedprocess(name):Promise<WorkResult>
Defined in: kubernetes/src/operator/controller.ts:249
Reconcile or finalize an object
Parameters
name
string
the resource name
Returns
Promise<WorkResult>
the reconcile result
resync()
resync():
void
Defined in: kubernetes/src/operator/controller.ts:212
Queue every object of the model
Returns
void
start()
start():
Promise<void>
Defined in: kubernetes/src/operator/controller.ts:166
Start watching and reconciling
Returns
Promise<void>
once the resources are listed
stop()
stop():
Promise<void>
Defined in: kubernetes/src/operator/controller.ts:192
Stop watching and reconciling
Returns
Promise<void>
once the reconciliations in progress are done
update()
protectedupdate(name,change,status?):Promise<void>
Defined in: kubernetes/src/operator/controller.ts:313
Read, change and replace a resource, again on conflict
Parameters
name
string
the resource name
change
(resource) => boolean
change the resource, false when there is nothing to write
status?
boolean = false
write the status subresource instead of the resource
Returns
Promise<void>
writeStatus()
protectedwriteStatus(name,generation,condition):Promise<void>
Defined in: kubernetes/src/operator/controller.ts:344
Write the observed generation and a condition in the status
Parameters
name
string
the resource name
generation
number
the generation reconciled
condition
Omit<ResourceCondition, "lastTransitionTime" | "observedGeneration">
the condition
Returns
Promise<void>