Sha256: d598f70341e3f8ec34002c7b52ee3b83e412093905a5b3a63eb9910bee58d18e

Contents?: true

Size: 734 Bytes

Versions: 51

Compression:

Stored size: 734 Bytes

Contents

interval 60
default[:rule_file] = '/etc/network/iptables'
always_start true

run_if do
  File.exists? plugin.rule_file
end

collect do

  def delete_counters(str)
    str.gsub(/\[\d+\:\d+\]/, '').strip
  end

  current_rules = shell_out!('iptables-save').stdout.split("\n").map do |x|
    x[0] == '#' ? nil : delete_counters(x)
  end.compact.join("\n")
  saved_rules = File.read(plugin.rule_file).split("\n").map do |x|
    x[0] == '#' ? nil : delete_counters(x) # delete counters and comments
  end.compact.join("\n")

  event(
      :service => "iptables #{plugin.rule_file}",
      :state => current_rules == saved_rules,
      :description => "iptables rules different between file: #{plugin.rule_file} and iptables-save"
  )
end

Version data entries

51 entries across 51 versions & 1 rubygems

Version Path
kurchatov-0.4.7 examples/iptables.rb
kurchatov-0.4.6 examples/iptables.rb
kurchatov-0.4.5 examples/iptables.rb
kurchatov-0.4.4 examples/iptables.rb
kurchatov-0.4.3 examples/iptables.rb
kurchatov-0.4.2 examples/iptables.rb
kurchatov-0.4.1 examples/iptables.rb
kurchatov-0.3.8 examples/iptables.rb
kurchatov-0.3.7 examples/iptables.rb
kurchatov-0.3.6 examples/iptables.rb
kurchatov-0.3.5 examples/iptables.rb
kurchatov-0.3.4 examples/iptables.rb
kurchatov-0.3.3 examples/iptables.rb
kurchatov-0.3.2 examples/iptables.rb
kurchatov-0.3.1 examples/iptables.rb
kurchatov-0.3.0 examples/iptables.rb
kurchatov-0.2.9 examples/iptables.rb
kurchatov-0.2.8 examples/iptables.rb
kurchatov-0.2.7 examples/iptables.rb
kurchatov-0.2.6 examples/iptables.rb