]> git.openstreetmap.org Git - chef.git/commitdiff
Process firewall_rule resources at compile time
authorTom Hughes <tom@compton.nu>
Thu, 19 Nov 2020 19:02:41 +0000 (19:02 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 19 Nov 2020 19:05:17 +0000 (19:05 +0000)
This allows us to avoid deferring the creation of the shorewall
configuration and hence prevent it restarting with a partial set
of rules when something else fails.

cookbooks/networking/recipes/default.rb
cookbooks/networking/resources/firewall_rule.rb

index eba2208f5cf4f631ccd59fd13eada9b9ca9f55fb..8eed59556e415b854d03e7dcc8d3d77079e1d6cb 100644 (file)
@@ -428,7 +428,6 @@ template "/etc/shorewall/policy" do
 end
 
 template "/etc/shorewall/rules" do
 end
 
 template "/etc/shorewall/rules" do
-  action :nothing
   source "shorewall-rules.erb"
   owner "root"
   group "root"
   source "shorewall-rules.erb"
   owner "root"
   group "root"
@@ -437,11 +436,6 @@ template "/etc/shorewall/rules" do
   notifies :restart, "service[shorewall]"
 end
 
   notifies :restart, "service[shorewall]"
 end
 
-notify_group "shorewall-rules" do
-  action :run
-  notifies :create, "template[/etc/shorewall/rules]"
-end
-
 if node[:networking][:firewall][:enabled]
   service "shorewall" do
     action [:enable, :start]
 if node[:networking][:firewall][:enabled]
   service "shorewall" do
     action [:enable, :start]
@@ -571,7 +565,6 @@ unless node.interfaces(:family => :inet6).empty?
   end
 
   template "/etc/shorewall6/rules" do
   end
 
   template "/etc/shorewall6/rules" do
-    action :nothing
     source "shorewall-rules.erb"
     owner "root"
     group "root"
     source "shorewall-rules.erb"
     owner "root"
     group "root"
@@ -580,11 +573,6 @@ unless node.interfaces(:family => :inet6).empty?
     notifies :restart, "service[shorewall6]"
   end
 
     notifies :restart, "service[shorewall6]"
   end
 
-  notify_group "shorewall6-rules" do
-    action :run
-    notifies :create, "template[/etc/shorewall6/rules]"
-  end
-
   if node[:networking][:firewall][:enabled]
     service "shorewall6" do
       action [:enable, :start]
   if node[:networking][:firewall][:enabled]
     service "shorewall6" do
       action [:enable, :start]
index 7cac9f86e4c94ffccdc7a05b42fae8103acfb93e..e92681ec7601fc08364a6e3fd66f96459f47aed8 100644 (file)
@@ -33,6 +33,8 @@ property :rate_limit, :kind_of => String, :default => "-"
 property :connection_limit, :kind_of => [String, Integer], :default => "-"
 property :helper, :kind_of => String, :default => "-"
 
 property :connection_limit, :kind_of => [String, Integer], :default => "-"
 property :helper, :kind_of => String, :default => "-"
 
+property :compile_time, TrueClass, :default => true
+
 action :accept do
   add_rule :accept
 end
 action :accept do
   add_rule :accept
 end