cloud-mu 3.6.10 → 3.6.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. checksums.yaml +4 -4
  2. data/Berksfile +2 -3
  3. data/Berksfile.lock +11 -14
  4. data/bin/mu-aws-setup +16 -4
  5. data/bin/mu-configure +2 -1
  6. data/cloud-mu.gemspec +2 -2
  7. data/cookbooks/mu-firewall/Berksfile +1 -1
  8. data/cookbooks/mu-firewall/attributes/default.rb +2 -2
  9. data/cookbooks/mu-firewall/metadata.rb +3 -3
  10. data/cookbooks/mu-firewall/recipes/default.rb +11 -2
  11. data/cookbooks/mu-master/Berksfile +1 -1
  12. data/cookbooks/mu-master/attributes/default.rb +14 -1
  13. data/cookbooks/mu-master/files/default/389ds-perl/ASDialogs.pm +173 -0
  14. data/cookbooks/mu-master/files/default/389ds-perl/AdminMigration.pm +569 -0
  15. data/cookbooks/mu-master/files/default/389ds-perl/AdminServer.pm +952 -0
  16. data/cookbooks/mu-master/files/default/389ds-perl/AdminUtil.pm +983 -0
  17. data/cookbooks/mu-master/files/default/389ds-perl/ConfigDSDialogs.pm +449 -0
  18. data/cookbooks/mu-master/files/default/389ds-perl/DSCreate.pm +1551 -0
  19. data/cookbooks/mu-master/files/default/389ds-perl/DSDialogs.pm +233 -0
  20. data/cookbooks/mu-master/files/default/389ds-perl/DSMigration.pm +1175 -0
  21. data/cookbooks/mu-master/files/default/389ds-perl/DSUpdate.pm +534 -0
  22. data/cookbooks/mu-master/files/default/389ds-perl/DSUpdateDialogs.pm +152 -0
  23. data/cookbooks/mu-master/files/default/389ds-perl/DSUtil.pm +1710 -0
  24. data/cookbooks/mu-master/files/default/389ds-perl/Dialog.pm +249 -0
  25. data/cookbooks/mu-master/files/default/389ds-perl/DialogManager.pm +212 -0
  26. data/cookbooks/mu-master/files/default/389ds-perl/FileConn.pm +461 -0
  27. data/cookbooks/mu-master/files/default/389ds-perl/Inf.pm +268 -0
  28. data/cookbooks/mu-master/files/default/389ds-perl/Migration.pm +327 -0
  29. data/cookbooks/mu-master/files/default/389ds-perl/RegDSDialogs.pm +94 -0
  30. data/cookbooks/mu-master/files/default/389ds-perl/Resource.pm +137 -0
  31. data/cookbooks/mu-master/files/default/389ds-perl/Setup.pm +240 -0
  32. data/cookbooks/mu-master/files/default/389ds-perl/SetupDialogs.pm +243 -0
  33. data/cookbooks/mu-master/files/default/389ds-perl/SetupLog.pm +82 -0
  34. data/cookbooks/mu-master/files/default/setCertName.ldif +4 -0
  35. data/cookbooks/mu-master/libraries/mu.rb +2 -2
  36. data/cookbooks/mu-master/metadata.rb +1 -1
  37. data/cookbooks/mu-master/recipes/389ds.rb +71 -32
  38. data/cookbooks/mu-master/recipes/basepackages.rb +5 -0
  39. data/cookbooks/mu-master/recipes/default.rb +16 -5
  40. data/cookbooks/mu-master/recipes/init.rb +36 -3
  41. data/cookbooks/mu-master/recipes/ssl-certs.rb +6 -0
  42. data/cookbooks/mu-master/recipes/sssd.rb +85 -62
  43. data/cookbooks/mu-master/recipes/update_nagios_only.rb +7 -1
  44. data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +11 -26
  45. data/cookbooks/mu-master/templates/default/sssd.conf.erb +18 -8
  46. data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
  47. data/cookbooks/mu-tools/metadata.rb +0 -1
  48. data/cookbooks/mu-tools/recipes/set_local_fw.rb +7 -1
  49. data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +5 -1
  50. data/cookbooks/nagios/CHANGELOG.md +679 -0
  51. data/cookbooks/nagios/LICENSE +201 -0
  52. data/cookbooks/nagios/README.md +340 -0
  53. data/cookbooks/nagios/attributes/config.rb +163 -0
  54. data/cookbooks/nagios/attributes/default.rb +204 -0
  55. data/cookbooks/nagios/libraries/base.rb +311 -0
  56. data/cookbooks/nagios/libraries/command.rb +68 -0
  57. data/cookbooks/nagios/libraries/contact.rb +229 -0
  58. data/cookbooks/nagios/libraries/contactgroup.rb +111 -0
  59. data/cookbooks/{firewall/recipes/disable_firewall.rb → nagios/libraries/custom_option.rb} +20 -7
  60. data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
  61. data/cookbooks/nagios/libraries/default.rb +90 -0
  62. data/cookbooks/nagios/libraries/helpers.rb +229 -0
  63. data/cookbooks/nagios/libraries/host.rb +410 -0
  64. data/cookbooks/nagios/libraries/hostdependency.rb +178 -0
  65. data/cookbooks/nagios/libraries/hostescalation.rb +170 -0
  66. data/cookbooks/nagios/libraries/hostgroup.rb +117 -0
  67. data/cookbooks/nagios/libraries/nagios.rb +277 -0
  68. data/cookbooks/nagios/libraries/resource.rb +59 -0
  69. data/cookbooks/nagios/libraries/service.rb +449 -0
  70. data/cookbooks/nagios/libraries/servicedependency.rb +213 -0
  71. data/cookbooks/nagios/libraries/serviceescalation.rb +193 -0
  72. data/cookbooks/nagios/libraries/servicegroup.rb +142 -0
  73. data/cookbooks/nagios/libraries/timeperiod.rb +159 -0
  74. data/cookbooks/nagios/libraries/users_helper.rb +54 -0
  75. data/cookbooks/nagios/metadata.json +44 -0
  76. data/cookbooks/nagios/metadata.rb +22 -0
  77. data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
  78. data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
  79. data/cookbooks/nagios/recipes/apache.rb +114 -0
  80. data/cookbooks/nagios/recipes/default.rb +41 -0
  81. data/cookbooks/nagios/recipes/nginx.rb +114 -0
  82. data/cookbooks/nagios/recipes/pagerduty.rb +95 -0
  83. data/cookbooks/nagios/recipes/server.rb +182 -0
  84. data/cookbooks/nagios/recipes/server_package.rb +85 -0
  85. data/cookbooks/nagios/recipes/server_source.rb +137 -0
  86. data/cookbooks/nagios/resources/command.rb +34 -0
  87. data/cookbooks/nagios/resources/conf.rb +52 -0
  88. data/cookbooks/nagios/resources/contact.rb +34 -0
  89. data/cookbooks/nagios/resources/contactgroup.rb +35 -0
  90. data/cookbooks/nagios/resources/host.rb +35 -0
  91. data/cookbooks/nagios/resources/hostdependency.rb +35 -0
  92. data/cookbooks/nagios/resources/hostescalation.rb +36 -0
  93. data/cookbooks/nagios/resources/hostgroup.rb +35 -0
  94. data/cookbooks/nagios/resources/resource.rb +34 -0
  95. data/cookbooks/nagios/resources/service.rb +35 -0
  96. data/cookbooks/nagios/resources/servicedependency.rb +35 -0
  97. data/cookbooks/nagios/resources/serviceescalation.rb +35 -0
  98. data/cookbooks/nagios/resources/servicegroup.rb +35 -0
  99. data/cookbooks/nagios/resources/timeperiod.rb +35 -0
  100. data/cookbooks/nagios/templates/apache2.conf.erb +102 -0
  101. data/cookbooks/nagios/templates/cgi.cfg.erb +266 -0
  102. data/cookbooks/nagios/templates/commands.cfg.erb +13 -0
  103. data/cookbooks/nagios/templates/contacts.cfg.erb +37 -0
  104. data/cookbooks/nagios/templates/hostgroups.cfg.erb +25 -0
  105. data/cookbooks/nagios/templates/hosts.cfg.erb +15 -0
  106. data/cookbooks/nagios/templates/htpasswd.users.erb +6 -0
  107. data/cookbooks/nagios/templates/nagios.cfg.erb +22 -0
  108. data/cookbooks/nagios/templates/nginx.conf.erb +80 -0
  109. data/cookbooks/nagios/templates/pagerduty.cgi.erb +185 -0
  110. data/cookbooks/nagios/templates/resource.cfg.erb +27 -0
  111. data/cookbooks/nagios/templates/servicedependencies.cfg.erb +15 -0
  112. data/cookbooks/nagios/templates/servicegroups.cfg.erb +14 -0
  113. data/cookbooks/nagios/templates/services.cfg.erb +14 -0
  114. data/cookbooks/nagios/templates/spawn-fcgi.erb +10 -0
  115. data/cookbooks/nagios/templates/templates.cfg.erb +31 -0
  116. data/cookbooks/nagios/templates/timeperiods.cfg.erb +13 -0
  117. data/extras/platform_berksfile_base +3 -3
  118. data/extras/python_rpm/build.sh +4 -4
  119. data/extras/python_rpm/muthon.spec +2 -4
  120. data/extras/vault_tools/export_vaults.sh +11 -1
  121. data/install/installer +1 -1
  122. data/modules/mu/kittens.rb +27523 -0
  123. data/modules/mu/master/ldap.rb +48 -31
  124. data/modules/mu/master.rb +69 -0
  125. data/modules/mu/mu.yaml.rb +351 -0
  126. data/modules/mu/providers/aws/firewall_rule.rb +3 -1
  127. data/modules/mu/providers/aws.rb +11 -5
  128. data/modules/mu.rb +5 -4
  129. metadata +99 -48
  130. data/cookbooks/firewall/CHANGELOG.md +0 -488
  131. data/cookbooks/firewall/LICENSE +0 -202
  132. data/cookbooks/firewall/README.md +0 -366
  133. data/cookbooks/firewall/TODO.md +0 -6
  134. data/cookbooks/firewall/attributes/default.rb +0 -5
  135. data/cookbooks/firewall/attributes/firewalld.rb +0 -8
  136. data/cookbooks/firewall/attributes/iptables.rb +0 -17
  137. data/cookbooks/firewall/attributes/ufw.rb +0 -12
  138. data/cookbooks/firewall/attributes/windows.rb +0 -8
  139. data/cookbooks/firewall/libraries/helpers.rb +0 -105
  140. data/cookbooks/firewall/libraries/helpers_firewalld.rb +0 -116
  141. data/cookbooks/firewall/libraries/helpers_firewalld_dbus.rb +0 -72
  142. data/cookbooks/firewall/libraries/helpers_iptables.rb +0 -112
  143. data/cookbooks/firewall/libraries/helpers_nftables.rb +0 -170
  144. data/cookbooks/firewall/libraries/helpers_ufw.rb +0 -142
  145. data/cookbooks/firewall/libraries/helpers_windows.rb +0 -129
  146. data/cookbooks/firewall/libraries/provider_firewall_firewalld.rb +0 -179
  147. data/cookbooks/firewall/libraries/provider_firewall_iptables.rb +0 -171
  148. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu.rb +0 -200
  149. data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu1404.rb +0 -200
  150. data/cookbooks/firewall/libraries/provider_firewall_rule.rb +0 -34
  151. data/cookbooks/firewall/libraries/provider_firewall_ufw.rb +0 -138
  152. data/cookbooks/firewall/libraries/provider_firewall_windows.rb +0 -126
  153. data/cookbooks/firewall/libraries/resource_firewall.rb +0 -26
  154. data/cookbooks/firewall/libraries/resource_firewall_rule.rb +0 -52
  155. data/cookbooks/firewall/metadata.json +0 -40
  156. data/cookbooks/firewall/metadata.rb +0 -15
  157. data/cookbooks/firewall/recipes/default.rb +0 -76
  158. data/cookbooks/firewall/recipes/firewalld.rb +0 -87
  159. data/cookbooks/firewall/resources/firewalld.rb +0 -28
  160. data/cookbooks/firewall/resources/firewalld_config.rb +0 -39
  161. data/cookbooks/firewall/resources/firewalld_helpers.rb +0 -106
  162. data/cookbooks/firewall/resources/firewalld_icmptype.rb +0 -88
  163. data/cookbooks/firewall/resources/firewalld_ipset.rb +0 -104
  164. data/cookbooks/firewall/resources/firewalld_policy.rb +0 -115
  165. data/cookbooks/firewall/resources/firewalld_service.rb +0 -98
  166. data/cookbooks/firewall/resources/firewalld_zone.rb +0 -118
  167. data/cookbooks/firewall/resources/nftables.rb +0 -71
  168. data/cookbooks/firewall/resources/nftables_rule.rb +0 -113
  169. data/cookbooks/firewall/templates/default/ufw/default.erb +0 -13
  170. /data/cookbooks/{firewall → nagios}/chefignore +0 -0
  171. /data/cookbooks/{firewall → nagios}/renovate.json +0 -0
@@ -1,98 +0,0 @@
1
- unified_mode true
2
-
3
- provides :firewalld_service,
4
- os: 'linux'
5
-
6
- property :version,
7
- String,
8
- description: 'see version attribute of service tag in firewalld.service(5).'
9
- property :short,
10
- String,
11
- name_property: true,
12
- description: 'see short tag in firewalld.service(5).'
13
- property :description,
14
- String,
15
- description: 'see description tag in firewalld.service(5).'
16
- property :ports,
17
- [Array, String],
18
- description: 'array of port and protocol pairs. See port tag in firewalld.service(5).',
19
- coerce: proc { |o| Array(o) }
20
- property :module_names,
21
- [Array, String],
22
- description: 'array of kernel netfilter helpers, see module tag in firewalld.service(5).',
23
- coerce: proc { |o| Array(o) }
24
- property :destination,
25
- Hash,
26
- description: 'hash of {IP family : IP address} where \'IP family\' key can be either \'ipv4\' or \'ipv6\'. See destination tag in firewalld.service(5).'
27
- property :protocols,
28
- [Array, String],
29
- description: 'array of protocols, see protocol tag in firewalld.service(5).',
30
- coerce: proc { |o| Array(o) }
31
- property :source_ports,
32
- [Array, String],
33
- description: 'array of port and protocol pairs. See source-port tag in firewalld.service(5).',
34
- coerce: proc { |o| Array(o) }
35
- property :includes,
36
- [Array, String],
37
- description: 'array of service includes, see include tag in firewalld.service(5).',
38
- coerce: proc { |o| Array(o) }
39
- property :helpers,
40
- [Array, String],
41
- description: 'array of service helpers, see helper tag in firewalld.service(5).',
42
- coerce: proc { |o| Array(o) }
43
-
44
- load_current_value do |new_resource|
45
- sysbus = DBus.system_bus
46
- firewalld_service = sysbus['org.fedoraproject.FirewallD1']
47
- firewalld_object = firewalld_service['/org/fedoraproject/FirewallD1/config']
48
- fw_config = firewalld_object['org.fedoraproject.FirewallD1.config']
49
- if fw_config.getServiceNames.include?(new_resource.short)
50
- service_path = fw_config.getServiceByName(new_resource.short)
51
- object = firewalld_service[service_path]
52
- config_service = object['org.fedoraproject.FirewallD1.config.service']
53
- config_service.getSettings2.each do |k, v|
54
- send(k, v)
55
- end
56
- else
57
- Chef::Log.info "Service #{new_resource.short} does not exist. Will be created."
58
- end
59
- end
60
-
61
- action :update do
62
- dbus = DBus.system_bus
63
- fw = firewalld_interface(dbus)
64
- fw_config = config_interface(dbus)
65
- reload = false
66
- unless fw_config.getServiceNames.include?(new_resource.short)
67
- fw_config.addService2(new_resource.short, {})
68
- end
69
-
70
- service_path = fw_config.getServiceByName(new_resource.short)
71
- service = service_interface(dbus, service_path)
72
- properties = new_resource.class.state_properties.map(&:name)
73
- properties.each do |property|
74
- new_value = new_resource.send(property)
75
- next unless new_value
76
- if [:ports, :source_ports].include?(property)
77
- new_value = DBus.variant('a(ss)', new_value.map { |e| e.split('/') })
78
- elsif property == :description
79
- new_value = default_description(new_resource)
80
- end
81
- converge_if_changed property do
82
- key = property == :short ? 'name' : property.to_s
83
- service.update2({ key => new_value })
84
- reload = true
85
- end
86
- end
87
-
88
- if reload
89
- converge_by ['reload permanent configuration of firewalld'] do
90
- fw.reload
91
- end
92
- end
93
- end
94
-
95
- action_class do
96
- include FirewallCookbook::Helpers
97
- include FirewallCookbook::Helpers::FirewalldDBus
98
- end
@@ -1,118 +0,0 @@
1
- unified_mode true
2
-
3
- provides :firewalld_zone,
4
- os: 'linux'
5
-
6
- property :description,
7
- String,
8
- description: 'see description tag in firewalld.zone(5).'
9
- property :forward,
10
- [true, false],
11
- description: 'see forward tag in firewalld.zone(5).'
12
- property :forward_ports,
13
- [Array, String],
14
- description: 'array of (port, protocol, to-port, to-addr). See forward-port tag in firewalld.zone(5).',
15
- coerce: proc { |o| Array(o) }
16
- property :icmp_block_inversion,
17
- [true, false],
18
- description: 'see icmp-block-inversion tag in firewalld.zone(5).'
19
- property :icmp_blocks,
20
- [Array, String],
21
- description: 'array of icmp-blocks. See icmp-block tag in firewalld.zone(5).',
22
- coerce: proc { |o| Array(o) }
23
- property :interfaces,
24
- [Array, String],
25
- description: 'array of interfaces. See interface tag in firewalld.zone(5).',
26
- coerce: proc { |o| Array(o) }
27
- property :masquerade,
28
- [true, false],
29
- description: 'see masquerade tag in firewalld.zone(5).'
30
- property :ports,
31
- [Array, String],
32
- description: 'array of port and protocol pairs. See port tag in firewalld.zone(5).',
33
- coerce: proc { |o| Array(o) }
34
- property :protocols,
35
- [Array, String],
36
- description: 'array of protocols, see protocol tag in firewalld.zone(5).',
37
- coerce: proc { |o| Array(o) }
38
- property :rules_str,
39
- [Array, String],
40
- description: 'array of rich-language rules. See rule tag in firewalld.zone(5).',
41
- coerce: proc { |o| Array(o) }
42
- property :services,
43
- [Array, String],
44
- description: 'array of service names, see service tag in firewalld.zone(5).',
45
- coerce: proc { |o| Array(o) }
46
- property :short,
47
- String,
48
- name_property: true,
49
- description: 'see short tag in firewalld.zone(5).'
50
- property :source_ports,
51
- [Array, String],
52
- description: 'array of port and protocol pairs. See source-port tag in firewalld.zone(5).',
53
- coerce: proc { |o| Array(o) }
54
- property :sources,
55
- [Array, String],
56
- description: 'array of source addresses. See source tag in firewalld.zone(5).',
57
- coerce: proc { |o| Array(o) }
58
- property :target,
59
- String,
60
- description: 'see target attribute of zone tag in firewalld.zone(5).'
61
- property :version,
62
- String,
63
- description: 'see version attribute of zone tag in firewalld.zone(5).'
64
-
65
- load_current_value do |new_resource|
66
- sysbus = DBus.system_bus
67
- firewalld_service = sysbus['org.fedoraproject.FirewallD1']
68
- firewalld_object = firewalld_service['/org/fedoraproject/FirewallD1/config']
69
- fw_config = firewalld_object['org.fedoraproject.FirewallD1.config']
70
- if fw_config.getZoneNames.include?(new_resource.short)
71
- zone_path = fw_config.getZoneByName(new_resource.short)
72
- object = firewalld_service[zone_path]
73
- config_zone = object['org.fedoraproject.FirewallD1.config.zone']
74
- config_zone.getSettings2.each do |k, v|
75
- send(k, v)
76
- end
77
- else
78
- Chef::Log.info "Zone #{new_resource.short} does not exist. Will be created."
79
- end
80
- end
81
-
82
- action :update do
83
- dbus = DBus.system_bus
84
- fw = firewalld_interface(dbus)
85
- fw_config = config_interface(dbus)
86
-
87
- unless fw_config.getZoneNames.include?(new_resource.short)
88
- fw_config.addZone2(new_resource.short, {})
89
- end
90
- zone_path = fw_config.getZoneByName(new_resource.short)
91
- zone = zone_interface(dbus, zone_path)
92
-
93
- reload = false
94
- properties = new_resource.class.state_properties.map(&:name)
95
- properties.each do |property|
96
- new_value = new_resource.send(property)
97
- next unless new_value
98
- if [:ports, :source_ports].include?(property)
99
- new_value = DBus.variant('a(ss)', new_value.map { |e| e.split('/') })
100
- elsif [:forward_ports].include?(property)
101
- new_value = forward_ports_to_dbus(new_resource)
102
- end
103
- converge_if_changed property do
104
- zone.update2({ property.to_s => new_value })
105
- reload = true
106
- end
107
- end
108
-
109
- if reload
110
- converge_by ['reload permanent configuration of firewalld'] do
111
- fw.reload
112
- end
113
- end
114
- end
115
-
116
- action_class do
117
- include FirewallCookbook::Helpers::FirewalldDBus
118
- end
@@ -1,71 +0,0 @@
1
- unified_mode true
2
-
3
- include FirewallCookbook::Helpers
4
- include FirewallCookbook::Helpers::Nftables
5
-
6
- provides :nftables,
7
- os: 'linux'
8
-
9
- property :rules,
10
- Hash,
11
- default: {}
12
- property :input_policy,
13
- String,
14
- equal_to: %w(drop accept),
15
- default: 'accept'
16
- property :output_policy,
17
- String,
18
- equal_to: %w(drop accept),
19
- default: 'accept'
20
- property :forward_policy,
21
- String,
22
- equal_to: %w(drop accept),
23
- default: 'accept'
24
- property :table_ip_nat,
25
- [true, false],
26
- default: false
27
- property :table_ip6_nat,
28
- [true, false],
29
- default: false
30
- property :nftables_conf_path, String,
31
- description: 'nftables.conf filepath',
32
- default: lazy { default_nftables_conf_path }
33
-
34
- action :install do
35
- package 'nftables' do
36
- action :install
37
- notifies :rebuild, "nftables[#{new_resource.name}]"
38
- end
39
- end
40
-
41
- action :rebuild do
42
- ensure_default_rules_exist(new_resource)
43
-
44
- file new_resource.nftables_conf_path do
45
- content <<~NFT
46
- #!/usr/sbin/nft -f
47
- flush ruleset
48
- #{build_rule_file(new_resource.rules)}
49
- NFT
50
- mode '0750'
51
- owner 'root'
52
- group 'root'
53
- notifies :restart, 'service[nftables]'
54
- end
55
-
56
- service 'nftables' do
57
- action [:enable, :start]
58
- end
59
- end
60
-
61
- action :restart do
62
- service 'nftables' do
63
- action :restart
64
- end
65
- end
66
-
67
- action :disable do
68
- service 'nftables' do
69
- action [:disable, :stop]
70
- end
71
- end
@@ -1,113 +0,0 @@
1
- unified_mode true
2
-
3
- require 'ipaddr'
4
-
5
- action_class do
6
- include FirewallCookbook::Helpers
7
- include FirewallCookbook::Helpers::Nftables
8
-
9
- def return_early?(new_resource)
10
- !new_resource.notify_firewall ||
11
- !(new_resource.action.include?(:create) &&
12
- !new_resource.should_skip?(:create))
13
- end
14
- end
15
-
16
- provides :nftables_rule
17
- default_action :create
18
-
19
- property :firewall_name,
20
- String,
21
- default: 'default'
22
- property :command,
23
- [Array, Symbol],
24
- default: :accept
25
- property :protocol,
26
- [Integer, Symbol],
27
- default: :tcp,
28
- callbacks: {
29
- 'must be either :tcp, :udp, :icmp, :\'ipv6-icmp\', :icmpv6, :none, or a valid IP protocol number' => lambda do |p|
30
- %i(udp tcp icmp icmpv6 ipv6-icmp esp ah ipv6 none).include?(p) || (0..142).include?(p)
31
- end,
32
- }
33
- property :direction,
34
- Symbol,
35
- equal_to: [:in, :out, :pre, :post, :forward],
36
- default: :in
37
- # nftables handles ip6 and ip simultaneously. Except for directions
38
- # :pre and :post, where where either :ip6 or :ip must be specified.
39
- # callback should prevent from mixing that up.
40
- property :family,
41
- Symbol,
42
- equal_to: [:ip6, :ip],
43
- default: :ip
44
- property :source,
45
- [String, Array],
46
- callbacks: {
47
- 'must be a valid ip address' => lambda do |ips|
48
- Array(ips).inject(false) do |a, ip|
49
- a || !!IPAddr.new(ip)
50
- end
51
- end,
52
- }
53
- property :sport,
54
- [Integer, String, Array, Range]
55
- property :interface,
56
- String
57
-
58
- property :dport,
59
- [Integer, String, Array, Range]
60
- property :destination,
61
- [String, Array],
62
- callbacks: {
63
- 'must be a valid ip address' => lambda do |ips|
64
- Array(ips).inject(false) do |a, ip|
65
- a || !!IPAddr.new(ip)
66
- end
67
- end,
68
- }
69
- property :outerface,
70
- String
71
-
72
- property :position,
73
- Integer,
74
- default: 50
75
- property :stateful,
76
- [Symbol, Array]
77
- property :redirect_port,
78
- Integer
79
- property :description,
80
- String,
81
- name_property: true
82
- property :include_comment,
83
- [true, false],
84
- default: true
85
- property :log_prefix,
86
- String
87
- property :log_group,
88
- Integer
89
- # for when you just want to pass a raw rule
90
- property :raw,
91
- String
92
-
93
- # do you want this rule to notify the firewall to recalculate
94
- # (and potentially reapply) the firewall_rule(s) it finds?
95
- property :notify_firewall,
96
- [true, false],
97
- default: true
98
-
99
- action :create do
100
- return if return_early?(new_resource)
101
- fwr = build_firewall_rule(new_resource)
102
-
103
- with_run_context :root do
104
- edit_resource!('nftables', new_resource.firewall_name) do |fw_rule|
105
- r = rules.dup || {}
106
- r.merge!({
107
- fwr => fw_rule.position,
108
- })
109
- rules(r)
110
- delayed_action :rebuild
111
- end
112
- end
113
- end
@@ -1,13 +0,0 @@
1
- # /etc/default/ufw
2
- # This file is managed by Chef. Do not edit.
3
-
4
- IPV6=<%= node['firewall']['ufw']['defaults']['ipv6'] %>
5
- MANAGE_BUILTINS=<%= node['firewall']['ufw']['defaults']['manage_builtins'] %>
6
-
7
- <% node['firewall']['ufw']['defaults']['policy'].each do |policy, value| -%>
8
- <%= "DEFAULT_#{policy.upcase}_POLICY=\"#{value}\"" %>
9
- <% end -%>
10
-
11
- IPT_SYSCTL="<%= node['firewall']['ufw']['defaults']['ipt_sysctl'] %>"
12
-
13
- IPT_MODULES="<%= node['firewall']['ufw']['defaults']['ipt_modules'] %>"
File without changes
File without changes