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.
- checksums.yaml +4 -4
- data/Berksfile +2 -3
- data/Berksfile.lock +11 -14
- data/bin/mu-aws-setup +16 -4
- data/bin/mu-configure +2 -1
- data/cloud-mu.gemspec +2 -2
- data/cookbooks/mu-firewall/Berksfile +1 -1
- data/cookbooks/mu-firewall/attributes/default.rb +2 -2
- data/cookbooks/mu-firewall/metadata.rb +3 -3
- data/cookbooks/mu-firewall/recipes/default.rb +11 -2
- data/cookbooks/mu-master/Berksfile +1 -1
- data/cookbooks/mu-master/attributes/default.rb +14 -1
- data/cookbooks/mu-master/files/default/389ds-perl/ASDialogs.pm +173 -0
- data/cookbooks/mu-master/files/default/389ds-perl/AdminMigration.pm +569 -0
- data/cookbooks/mu-master/files/default/389ds-perl/AdminServer.pm +952 -0
- data/cookbooks/mu-master/files/default/389ds-perl/AdminUtil.pm +983 -0
- data/cookbooks/mu-master/files/default/389ds-perl/ConfigDSDialogs.pm +449 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSCreate.pm +1551 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSDialogs.pm +233 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSMigration.pm +1175 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSUpdate.pm +534 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSUpdateDialogs.pm +152 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DSUtil.pm +1710 -0
- data/cookbooks/mu-master/files/default/389ds-perl/Dialog.pm +249 -0
- data/cookbooks/mu-master/files/default/389ds-perl/DialogManager.pm +212 -0
- data/cookbooks/mu-master/files/default/389ds-perl/FileConn.pm +461 -0
- data/cookbooks/mu-master/files/default/389ds-perl/Inf.pm +268 -0
- data/cookbooks/mu-master/files/default/389ds-perl/Migration.pm +327 -0
- data/cookbooks/mu-master/files/default/389ds-perl/RegDSDialogs.pm +94 -0
- data/cookbooks/mu-master/files/default/389ds-perl/Resource.pm +137 -0
- data/cookbooks/mu-master/files/default/389ds-perl/Setup.pm +240 -0
- data/cookbooks/mu-master/files/default/389ds-perl/SetupDialogs.pm +243 -0
- data/cookbooks/mu-master/files/default/389ds-perl/SetupLog.pm +82 -0
- data/cookbooks/mu-master/files/default/setCertName.ldif +4 -0
- data/cookbooks/mu-master/libraries/mu.rb +2 -2
- data/cookbooks/mu-master/metadata.rb +1 -1
- data/cookbooks/mu-master/recipes/389ds.rb +71 -32
- data/cookbooks/mu-master/recipes/basepackages.rb +5 -0
- data/cookbooks/mu-master/recipes/default.rb +16 -5
- data/cookbooks/mu-master/recipes/init.rb +36 -3
- data/cookbooks/mu-master/recipes/ssl-certs.rb +6 -0
- data/cookbooks/mu-master/recipes/sssd.rb +85 -62
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +7 -1
- data/cookbooks/mu-master/templates/default/389-directory-setup.inf.erb +11 -26
- data/cookbooks/mu-master/templates/default/sssd.conf.erb +18 -8
- data/cookbooks/mu-tools/files/default/Mu_CA.pem +33 -0
- data/cookbooks/mu-tools/metadata.rb +0 -1
- data/cookbooks/mu-tools/recipes/set_local_fw.rb +7 -1
- data/cookbooks/mu-tools/templates/amazon/sshd_config.erb +5 -1
- data/cookbooks/nagios/CHANGELOG.md +679 -0
- data/cookbooks/nagios/LICENSE +201 -0
- data/cookbooks/nagios/README.md +340 -0
- data/cookbooks/nagios/attributes/config.rb +163 -0
- data/cookbooks/nagios/attributes/default.rb +204 -0
- data/cookbooks/nagios/libraries/base.rb +311 -0
- data/cookbooks/nagios/libraries/command.rb +68 -0
- data/cookbooks/nagios/libraries/contact.rb +229 -0
- data/cookbooks/nagios/libraries/contactgroup.rb +111 -0
- data/cookbooks/{firewall/recipes/disable_firewall.rb → nagios/libraries/custom_option.rb} +20 -7
- data/cookbooks/nagios/libraries/data_bag_helper.rb +23 -0
- data/cookbooks/nagios/libraries/default.rb +90 -0
- data/cookbooks/nagios/libraries/helpers.rb +229 -0
- data/cookbooks/nagios/libraries/host.rb +410 -0
- data/cookbooks/nagios/libraries/hostdependency.rb +178 -0
- data/cookbooks/nagios/libraries/hostescalation.rb +170 -0
- data/cookbooks/nagios/libraries/hostgroup.rb +117 -0
- data/cookbooks/nagios/libraries/nagios.rb +277 -0
- data/cookbooks/nagios/libraries/resource.rb +59 -0
- data/cookbooks/nagios/libraries/service.rb +449 -0
- data/cookbooks/nagios/libraries/servicedependency.rb +213 -0
- data/cookbooks/nagios/libraries/serviceescalation.rb +193 -0
- data/cookbooks/nagios/libraries/servicegroup.rb +142 -0
- data/cookbooks/nagios/libraries/timeperiod.rb +159 -0
- data/cookbooks/nagios/libraries/users_helper.rb +54 -0
- data/cookbooks/nagios/metadata.json +44 -0
- data/cookbooks/nagios/metadata.rb +22 -0
- data/cookbooks/nagios/recipes/_load_databag_config.rb +153 -0
- data/cookbooks/nagios/recipes/_load_default_config.rb +241 -0
- data/cookbooks/nagios/recipes/apache.rb +114 -0
- data/cookbooks/nagios/recipes/default.rb +41 -0
- data/cookbooks/nagios/recipes/nginx.rb +114 -0
- data/cookbooks/nagios/recipes/pagerduty.rb +95 -0
- data/cookbooks/nagios/recipes/server.rb +182 -0
- data/cookbooks/nagios/recipes/server_package.rb +85 -0
- data/cookbooks/nagios/recipes/server_source.rb +137 -0
- data/cookbooks/nagios/resources/command.rb +34 -0
- data/cookbooks/nagios/resources/conf.rb +52 -0
- data/cookbooks/nagios/resources/contact.rb +34 -0
- data/cookbooks/nagios/resources/contactgroup.rb +35 -0
- data/cookbooks/nagios/resources/host.rb +35 -0
- data/cookbooks/nagios/resources/hostdependency.rb +35 -0
- data/cookbooks/nagios/resources/hostescalation.rb +36 -0
- data/cookbooks/nagios/resources/hostgroup.rb +35 -0
- data/cookbooks/nagios/resources/resource.rb +34 -0
- data/cookbooks/nagios/resources/service.rb +35 -0
- data/cookbooks/nagios/resources/servicedependency.rb +35 -0
- data/cookbooks/nagios/resources/serviceescalation.rb +35 -0
- data/cookbooks/nagios/resources/servicegroup.rb +35 -0
- data/cookbooks/nagios/resources/timeperiod.rb +35 -0
- data/cookbooks/nagios/templates/apache2.conf.erb +102 -0
- data/cookbooks/nagios/templates/cgi.cfg.erb +266 -0
- data/cookbooks/nagios/templates/commands.cfg.erb +13 -0
- data/cookbooks/nagios/templates/contacts.cfg.erb +37 -0
- data/cookbooks/nagios/templates/hostgroups.cfg.erb +25 -0
- data/cookbooks/nagios/templates/hosts.cfg.erb +15 -0
- data/cookbooks/nagios/templates/htpasswd.users.erb +6 -0
- data/cookbooks/nagios/templates/nagios.cfg.erb +22 -0
- data/cookbooks/nagios/templates/nginx.conf.erb +80 -0
- data/cookbooks/nagios/templates/pagerduty.cgi.erb +185 -0
- data/cookbooks/nagios/templates/resource.cfg.erb +27 -0
- data/cookbooks/nagios/templates/servicedependencies.cfg.erb +15 -0
- data/cookbooks/nagios/templates/servicegroups.cfg.erb +14 -0
- data/cookbooks/nagios/templates/services.cfg.erb +14 -0
- data/cookbooks/nagios/templates/spawn-fcgi.erb +10 -0
- data/cookbooks/nagios/templates/templates.cfg.erb +31 -0
- data/cookbooks/nagios/templates/timeperiods.cfg.erb +13 -0
- data/extras/platform_berksfile_base +3 -3
- data/extras/python_rpm/build.sh +4 -4
- data/extras/python_rpm/muthon.spec +2 -4
- data/extras/vault_tools/export_vaults.sh +11 -1
- data/install/installer +1 -1
- data/modules/mu/kittens.rb +27523 -0
- data/modules/mu/master/ldap.rb +48 -31
- data/modules/mu/master.rb +69 -0
- data/modules/mu/mu.yaml.rb +351 -0
- data/modules/mu/providers/aws/firewall_rule.rb +3 -1
- data/modules/mu/providers/aws.rb +11 -5
- data/modules/mu.rb +5 -4
- metadata +99 -48
- data/cookbooks/firewall/CHANGELOG.md +0 -488
- data/cookbooks/firewall/LICENSE +0 -202
- data/cookbooks/firewall/README.md +0 -366
- data/cookbooks/firewall/TODO.md +0 -6
- data/cookbooks/firewall/attributes/default.rb +0 -5
- data/cookbooks/firewall/attributes/firewalld.rb +0 -8
- data/cookbooks/firewall/attributes/iptables.rb +0 -17
- data/cookbooks/firewall/attributes/ufw.rb +0 -12
- data/cookbooks/firewall/attributes/windows.rb +0 -8
- data/cookbooks/firewall/libraries/helpers.rb +0 -105
- data/cookbooks/firewall/libraries/helpers_firewalld.rb +0 -116
- data/cookbooks/firewall/libraries/helpers_firewalld_dbus.rb +0 -72
- data/cookbooks/firewall/libraries/helpers_iptables.rb +0 -112
- data/cookbooks/firewall/libraries/helpers_nftables.rb +0 -170
- data/cookbooks/firewall/libraries/helpers_ufw.rb +0 -142
- data/cookbooks/firewall/libraries/helpers_windows.rb +0 -129
- data/cookbooks/firewall/libraries/provider_firewall_firewalld.rb +0 -179
- data/cookbooks/firewall/libraries/provider_firewall_iptables.rb +0 -171
- data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu.rb +0 -200
- data/cookbooks/firewall/libraries/provider_firewall_iptables_ubuntu1404.rb +0 -200
- data/cookbooks/firewall/libraries/provider_firewall_rule.rb +0 -34
- data/cookbooks/firewall/libraries/provider_firewall_ufw.rb +0 -138
- data/cookbooks/firewall/libraries/provider_firewall_windows.rb +0 -126
- data/cookbooks/firewall/libraries/resource_firewall.rb +0 -26
- data/cookbooks/firewall/libraries/resource_firewall_rule.rb +0 -52
- data/cookbooks/firewall/metadata.json +0 -40
- data/cookbooks/firewall/metadata.rb +0 -15
- data/cookbooks/firewall/recipes/default.rb +0 -76
- data/cookbooks/firewall/recipes/firewalld.rb +0 -87
- data/cookbooks/firewall/resources/firewalld.rb +0 -28
- data/cookbooks/firewall/resources/firewalld_config.rb +0 -39
- data/cookbooks/firewall/resources/firewalld_helpers.rb +0 -106
- data/cookbooks/firewall/resources/firewalld_icmptype.rb +0 -88
- data/cookbooks/firewall/resources/firewalld_ipset.rb +0 -104
- data/cookbooks/firewall/resources/firewalld_policy.rb +0 -115
- data/cookbooks/firewall/resources/firewalld_service.rb +0 -98
- data/cookbooks/firewall/resources/firewalld_zone.rb +0 -118
- data/cookbooks/firewall/resources/nftables.rb +0 -71
- data/cookbooks/firewall/resources/nftables_rule.rb +0 -113
- data/cookbooks/firewall/templates/default/ufw/default.erb +0 -13
- /data/cookbooks/{firewall → nagios}/chefignore +0 -0
- /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;
|