X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/4787523adf3d90b98c0d23d405f7609fb07829fc..573da82d342b0197451448a59a239dfd8908d359:/cookbooks/munin/resources/plugin_conf.rb?ds=sidebyside diff --git a/cookbooks/munin/resources/plugin_conf.rb b/cookbooks/munin/resources/plugin_conf.rb index 88b453d9a..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,10 +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 + +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