]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/snmpd/recipes/default.rb
Switch operations site to use ruby 2.8 and bundler 2.x
[chef.git] / cookbooks / snmpd / recipes / default.rb
index ef6094b01a053299d2c83c3577b90babf017bbb3..98e4c400b7421164aecccf85ac72560f69806868 100644 (file)
@@ -1,14 +1,14 @@
 #
-# 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.
 # 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,
@@ -24,7 +24,7 @@ communities = data_bag_item("snmpd", "communities")
 package "snmpd"
 
 service "snmpd" do
-  action [ :enable, :start ]
+  action [:enable, :start]
   supports :status => true, :restart => true
 end
 
@@ -32,16 +32,52 @@ template "/etc/snmp/snmpd.conf" do
   source "snmpd.conf.erb"
   owner "root"
   group "root"
-  mode 0600
+  mode "600"
   variables :communities => communities
   notifies :restart, "service[snmpd]"
 end
 
-node[:snmpd][:clients].each do |address|
+if node[:snmpd][:clients]
+  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
+  end
+else
   firewall_rule "accept-snmp" do
     action :accept
     family "inet"
-    source "net:#{address}"
+    source "net"
+    dest "fw"
+    proto "udp"
+    dest_ports "snmp"
+    source_ports "1024:"
+  end
+end
+
+if node[:snmpd][:clients6]
+  node[:snmpd][:clients6].each do |address|
+    firewall_rule "accept-snmp" do
+      action :accept
+      family "inet6"
+      source "net:#{address}"
+      dest "fw"
+      proto "udp"
+      dest_ports "snmp"
+      source_ports "1024:"
+    end
+  end
+else
+  firewall_rule "accept-snmp" do
+    action :accept
+    family "inet6"
+    source "net"
     dest "fw"
     proto "udp"
     dest_ports "snmp"