Class: Kube::Cluster::Standard::MetaController::CompositeController

Inherits:
Object
  • Object
show all
Defined in:
lib/kube/cluster/standard/meta_controller/composite_controller.rb

Instance Method Summary collapse

Constructor Details

#initialize(name:, webhook_url:, resync_period: 30, parent_resource:, child_resources: {}, &block) ⇒ CompositeController

Returns a new instance of CompositeController.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/kube/cluster/standard/meta_controller/composite_controller.rb', line 11

def initialize(
  name:, webhook_url:,
  resync_period: 30, parent_resource:, child_resources: {}, &block
)

  resolved_parent   = resolve_ref(parent_resource)
  resolved_children = resolve_hash(child_resources)
    
  super() {
    .name = "#{name}-composite-controller"
    
    spec.generateSelector    = true
    spec.resyncPeriodSeconds = resync_period
    spec.hooks.sync.webhook  = { url: webhook_url }
    spec.parentResource      = resolved_parent
    spec.childResources      = resolved_children
    
    instance_exec(&block) if block
  } 
end