]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/snmpd/recipes/default.rb
Refactor firewall rules to simplify IPv4/IPv6 handling
[chef.git] / cookbooks / snmpd / recipes / default.rb
index fd852357f39518cdc1a3c394d2d93102f84e2764..f4a57fef2851d72d81ae9b8e456f3a5203378e6c 100644 (file)
@@ -1,8 +1,8 @@
 #
-# Cookbook Name:: snmpd
+# Cookbook:: snmpd
 # Recipe:: default
 #
-# Copyright 2013, OpenStreetMap Foundation
+# Copyright:: 2013, OpenStreetMap Foundation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -23,28 +23,25 @@ communities = data_bag_item("snmpd", "communities")
 
 package "snmpd"
 
-service "snmpd" do
-  action [:enable, :start]
-  supports :status => true, :restart => true
-end
-
 template "/etc/snmp/snmpd.conf" do
   source "snmpd.conf.erb"
   owner "root"
   group "root"
-  mode 0o600
+  mode "600"
   variables :communities => communities
   notifies :restart, "service[snmpd]"
 end
 
-node[:snmpd][:clients].each do |address|
-  firewall_rule "accept-snmp" do
-    action :accept
-    family "inet"
-    source "net:#{address}"
-    dest "fw"
-    proto "udp"
-    dest_ports "snmp"
-    source_ports "1024:"
-  end
+service "snmpd" do
+  action [:enable, :start]
+  supports :status => true, :restart => true
+end
+
+firewall_rule "accept-snmp" do
+  action :accept
+  context :incoming
+  protocol :udp
+  source node[:snmpd][:clients] if node[:snmpd][:clients]
+  dest_ports "snmp"
+  source_ports "1024-65535"
 end