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
@@ -0,0 +1,233 @@
1
+ # BEGIN COPYRIGHT BLOCK
2
+ # Copyright (C) 2007 Red Hat, Inc.
3
+ # All rights reserved.
4
+ #
5
+ # License: GPL (version 3 or any later version).
6
+ # See LICENSE for details.
7
+ # END COPYRIGHT BLOCK
8
+ #
9
+
10
+ package DSDialogs;
11
+
12
+ use strict;
13
+
14
+ use Sys::Hostname;
15
+ use DialogManager;
16
+ use Setup;
17
+ use Dialog;
18
+ use DSUtil;
19
+
20
+ my $dsport = new Dialog (
21
+ $TYPICAL,
22
+ 'dialog_dsport_text',
23
+ sub {
24
+ my $self = shift;
25
+ my $port = $self->{manager}->{inf}->{slapd}->{ServerPort};
26
+ if (!defined($port)) {
27
+ $port = 389;
28
+ }
29
+ if (!portAvailable($port)) {
30
+ $port = getAvailablePort();
31
+ }
32
+ return $port;
33
+ },
34
+ sub {
35
+ my $self = shift;
36
+ my $ans = shift;
37
+ my $res = $DialogManager::SAME;
38
+ if ($ans !~ /^\d+$/) {
39
+ $self->{manager}->alert("dialog_dsport_invalid", $ans);
40
+ } elsif (!portAvailable($ans) && !$self->{manager}->{setup}->{force}) {
41
+ $self->{manager}->alert("dialog_dsport_error", $ans);
42
+ } else {
43
+ $res = $DialogManager::NEXT;
44
+ $self->{manager}->{inf}->{slapd}->{ServerPort} = $ans;
45
+ }
46
+ return $res;
47
+ },
48
+ ['dialog_dsport_prompt']
49
+ );
50
+
51
+ my $dsserverid = new Dialog (
52
+ $TYPICAL,
53
+ 'dialog_dsserverid_text',
54
+ sub {
55
+ my $self = shift;
56
+ my $serverid = $self->{manager}->{inf}->{slapd}->{ServerIdentifier};
57
+ if (!defined($serverid)) {
58
+ $serverid = $self->{manager}->{inf}->{General}->{FullMachineName};
59
+ if (!defined($serverid)) {
60
+ $serverid = hostname();
61
+ }
62
+ # strip out the leftmost domain component
63
+ $serverid =~ s/\..*$//;
64
+ }
65
+ return $serverid;
66
+ },
67
+ sub {
68
+ my $self = shift;
69
+ my $ans = shift;
70
+ my $res = $DialogManager::SAME;
71
+ my $path = $self->{manager}->{setup}->{configdir} . "/slapd-" . $ans;
72
+ if (!isValidServerID($ans)) {
73
+ if($ans eq "admin"){
74
+ $self->{manager}->alert("error_reserved_serverid", $ans);
75
+ } else {
76
+ $self->{manager}->alert("error_invalid_serverid", $ans);
77
+ }
78
+ } elsif (-d $path) {
79
+ $self->{manager}->alert("error_server_already_exists", $path);
80
+ } else {
81
+ $res = $DialogManager::NEXT;
82
+ $self->{manager}->{inf}->{slapd}->{ServerIdentifier} = $ans;
83
+ }
84
+ return $res;
85
+ },
86
+ ['dialog_dsserverid_prompt']
87
+ );
88
+
89
+ my $dssuffix = new Dialog (
90
+ $TYPICAL,
91
+ 'dialog_dssuffix_text',
92
+ sub {
93
+ my $self = shift;
94
+ my $suffix = $self->{manager}->{inf}->{slapd}->{Suffix};
95
+ if (!defined($suffix)) {
96
+ $suffix = $self->{manager}->{inf}->{General}->{FullMachineName};
97
+ if (!defined($suffix)) {
98
+ $suffix = hostname();
99
+ }
100
+ $suffix =~ s/^[^\.]*\.//; # just the domain part
101
+ # convert fqdn to dc= domain components
102
+ $suffix = "dc=$suffix";
103
+ $suffix =~ s/\./, dc=/g;
104
+ }
105
+ return $suffix;
106
+ },
107
+ sub {
108
+ my $self = shift;
109
+ my $ans = shift;
110
+ my $res = $DialogManager::SAME;
111
+ if (!isValidDN($ans)) {
112
+ $self->{manager}->alert("dialog_dssuffix_error", $ans);
113
+ } else {
114
+ $res = $DialogManager::NEXT;
115
+ $self->{manager}->{inf}->{slapd}->{Suffix} = $ans;
116
+ }
117
+ return $res;
118
+ },
119
+ ['dialog_dssuffix_prompt']
120
+ );
121
+
122
+ my $dsrootdn = new Dialog (
123
+ $EXPRESS,
124
+ 'dialog_dsrootdn_text',
125
+ sub {
126
+ my $self = shift;
127
+ my $index = shift;
128
+ my $rootdn;
129
+ if ($index == 0) { # return undef for password defaults
130
+ $rootdn = $self->{manager}->{inf}->{slapd}->{RootDN};
131
+ if (!defined($rootdn)) {
132
+ $rootdn = "cn=Directory Manager";
133
+ }
134
+ }
135
+ return $rootdn;
136
+ },
137
+ sub {
138
+ my $self = shift;
139
+ my $ans = shift;
140
+ my $index = shift;
141
+ my $res = $DialogManager::SAME;
142
+ if ($index == 0) { # verify DN
143
+ if (!isValidDN($ans)) {
144
+ $self->{manager}->alert("dialog_dsrootdn_error", $ans);
145
+ } else {
146
+ $res = $DialogManager::NEXT;
147
+ $self->{manager}->{inf}->{slapd}->{RootDN} = $ans;
148
+ }
149
+ } elsif ($index == 1) { # verify initial password
150
+ my $test = $ans;
151
+ if ($test) {
152
+ $test =~ s/\s//g;
153
+ }
154
+ if (!$ans or (length($ans) < 8)) {
155
+ $self->{manager}->alert("dialog_dsrootpw_tooshort", 8);
156
+ } elsif (length($test) != length($ans)) {
157
+ $self->{manager}->alert("dialog_dsrootpw_invalid");
158
+ } else {
159
+ $res = $DialogManager::NEXT;
160
+ $self->{firstpassword} = $ans; # save for next index
161
+ }
162
+ } elsif ($index == 2) { # verify second password
163
+ if ($ans ne $self->{firstpassword}) {
164
+ $self->{manager}->alert("dialog_dsrootpw_nomatch");
165
+ } else {
166
+ $self->{manager}->{inf}->{slapd}->{RootDNPwd} = $ans;
167
+ $res = $DialogManager::NEXT;
168
+ }
169
+ }
170
+ return $res;
171
+ },
172
+ ['dialog_dsrootdn_prompt'], ['dialog_dsrootpw_prompt1', 1], ['dialog_dsrootpw_prompt2', 1]
173
+ );
174
+
175
+ my $dssample = new DialogYesNo (
176
+ $CUSTOM,
177
+ 'dialog_dssample_text',
178
+ 0,
179
+ sub {
180
+ my $self = shift;
181
+ my $ans = shift;
182
+ my $res = $self->handleResponse($ans);
183
+ if ($res == $DialogManager::NEXT) {
184
+ $self->{manager}->{inf}->{slapd}->{AddSampleEntries} = ($self->isYes() ? 'Yes' : 'No');
185
+ }
186
+ return $res;
187
+ },
188
+ ['dialog_dssample_prompt'],
189
+ );
190
+
191
+ my $dspopulate = new Dialog (
192
+ $CUSTOM,
193
+ 'dialog_dspopulate_text',
194
+ sub {
195
+ my $self = shift;
196
+ my $val = $self->{manager}->{inf}->{slapd}->{InstallLdifFile};
197
+ if (!defined($val)) {
198
+ $val = 'suggest';
199
+ $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'Yes';
200
+ }
201
+ return $val;
202
+ },
203
+ sub {
204
+ my $self = shift;
205
+ my $ans = shift;
206
+ my $res = $DialogManager::SAME;
207
+ if ($ans eq 'none') {
208
+ $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = 'none';
209
+ $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'No';
210
+ $res = $DialogManager::NEXT;
211
+ } elsif ($ans eq 'suggest') {
212
+ $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = 'suggest';
213
+ $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'Yes';
214
+ $res = $DialogManager::NEXT;
215
+ } else { # a file
216
+ if (! -f $ans) {
217
+ $self->{manager}->alert("dialog_dspopulate_error", $ans);
218
+ } else {
219
+ $self->{manager}->{inf}->{slapd}->{InstallLdifFile} = $ans;
220
+ $self->{manager}->{inf}->{slapd}->{AddOrgEntries} = 'No';
221
+ $res = $DialogManager::NEXT;
222
+ }
223
+ }
224
+ return $res;
225
+ },
226
+ ['dialog_dspopulate_prompt']
227
+ );
228
+
229
+ sub getDialogs {
230
+ return ($dsport, $dsserverid, $dssuffix, $dsrootdn, $dssample, $dspopulate);
231
+ }
232
+
233
+ 1;