Class: Kube::Cluster::Middleware::SetReloaderAuto

Inherits:
Kube::Cluster::Middleware show all
Defined in:
lib/kube/cluster/middleware/set_reloader_auto.rb

Overview

Adds reloader.stakater.com/auto: “true” to Deployments, StatefulSets, and DaemonSets so Stakater Reloader triggers rolling restarts when referenced ConfigMaps or Secrets change.

use SetReloaderAuto

Constant Summary collapse

KINDS =
%w[Deployment StatefulSet DaemonSet].freeze

Constants inherited from Kube::Cluster::Middleware

DEFAULT_FILTER

Instance Method Summary collapse

Methods inherited from Kube::Cluster::Middleware

build, #filter

Constructor Details

#initializeSetReloaderAuto

Returns a new instance of SetReloaderAuto.



18
19
20
# File 'lib/kube/cluster/middleware/set_reloader_auto.rb', line 18

def initialize
  super(filter: ->(r) { KINDS.include?(r.kind) })
end

Instance Method Details

#call(manifest) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
# File 'lib/kube/cluster/middleware/set_reloader_auto.rb', line 22

def call(manifest)
  manifest.resources.map! { |resource|
    filter(resource) {
      h = resource.to_h
      h[:metadata] ||= {}
      h[:metadata][:annotations] ||= {}
      h[:metadata][:annotations][:'reloader.stakater.com/auto'] = 'true'
      resource.rebuild(h)
    }
  }
end