X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/9d27360314f8e4e9844cde4059f98fac52250d36..bf16c782a9d8e78c4b14a35b899b81992f91155f:/cookbooks/munin/resources/plugin_conf.rb diff --git a/cookbooks/munin/resources/plugin_conf.rb b/cookbooks/munin/resources/plugin_conf.rb index e4b99965d..63d6f4c57 100644 --- a/cookbooks/munin/resources/plugin_conf.rb +++ b/cookbooks/munin/resources/plugin_conf.rb @@ -8,7 +8,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,19 +17,37 @@ # limitations under the License. # -actions :create, :delete default_action :create -attribute :name, :kind_of => String, :name_attribute => true -attribute :cookbook, :kind_of => String -attribute :template, :kind_of => String, :required => true -attribute :variables, :kind_of => Hash, :default => {} +property :plugin_conf, :kind_of => String, :name_attribute => true +property :cookbook, :kind_of => [String, nil] +property :template, :kind_of => String, :required => true +property :variables, :kind_of => Hash, :default => {} +property :restart_munin, :kind_of => [TrueClass, FalseClass], :default => true -def initialize(*args) - super - begin - resources(:service => "munin-node").subscrbes(:restart, self) - rescue Chef::Exceptions::ResourceNotFound - # Ignore +action :create do + declare_resource :template, config_file do + cookbook new_resource.cookbook + source new_resource.template + owner "root" + group "root" + mode 0o644 + variables new_resource.variables.merge(:name => new_resource.plugin_conf) end end + +action :delete do + file config_file do + action :delete + end +end + +action_class do + def config_file + "/etc/munin/plugin-conf.d/#{new_resource.plugin_conf}" + end +end + +def after_created + notifies :restart, "service[munin-node]" if restart_munin +end