cloud-mu 3.4.0 → 3.5.0
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/ansible/roles/mu-nat/tasks/main.yml +3 -0
- data/bin/mu-aws-setup +41 -7
- data/bin/mu-azure-setup +34 -0
- data/bin/mu-configure +214 -119
- data/bin/mu-gcp-setup +37 -2
- data/bin/mu-node-manage +3 -0
- data/bin/mu-refresh-ssl +67 -0
- data/bin/mu-run-tests +14 -4
- data/bin/mu-self-update +30 -10
- data/bin/mu-upload-chef-artifacts +30 -26
- data/cloud-mu.gemspec +8 -6
- data/cookbooks/mu-master/attributes/default.rb +5 -1
- data/cookbooks/mu-master/metadata.rb +2 -2
- data/cookbooks/mu-master/recipes/default.rb +81 -26
- data/cookbooks/mu-master/recipes/init.rb +197 -62
- data/cookbooks/mu-master/recipes/update_nagios_only.rb +1 -1
- data/cookbooks/mu-master/recipes/vault.rb +78 -77
- data/cookbooks/mu-master/templates/default/mods/rewrite.conf.erb +1 -0
- data/cookbooks/mu-master/templates/default/nagios.conf.erb +103 -0
- data/cookbooks/mu-master/templates/default/web_app.conf.erb +14 -30
- data/cookbooks/mu-tools/attributes/default.rb +5 -0
- data/cookbooks/mu-tools/files/centos-6/CentOS-Base.repo +47 -0
- data/cookbooks/mu-tools/libraries/helper.rb +12 -2
- data/cookbooks/mu-tools/libraries/monkey.rb +1 -1
- data/cookbooks/mu-tools/recipes/apply_security.rb +6 -0
- data/cookbooks/mu-tools/recipes/aws_api.rb +6 -4
- data/cookbooks/mu-tools/recipes/base_repositories.rb +1 -1
- data/cookbooks/mu-tools/recipes/gcloud.rb +2 -9
- data/cookbooks/mu-tools/recipes/google_api.rb +5 -2
- data/cookbooks/mu-tools/resources/disk.rb +108 -58
- data/extras/Gemfile.lock.bootstrap +394 -0
- data/extras/bucketstubs/error.html +0 -0
- data/extras/bucketstubs/index.html +0 -0
- data/extras/clean-stock-amis +9 -9
- data/extras/git_rpm/build.sh +20 -0
- data/extras/git_rpm/mugit.spec +53 -0
- data/extras/image-generators/VMWare/centos8.yaml +15 -0
- data/extras/openssl_rpm/build.sh +19 -0
- data/extras/openssl_rpm/mussl.spec +46 -0
- data/extras/python_rpm/muthon.spec +14 -4
- data/extras/ruby_rpm/muby.spec +9 -5
- data/extras/sqlite_rpm/build.sh +19 -0
- data/extras/sqlite_rpm/muqlite.spec +47 -0
- data/install/installer +7 -5
- data/modules/mu.rb +12 -5
- data/modules/mu/cloud/machine_images.rb +1 -1
- data/modules/mu/cloud/providers.rb +6 -1
- data/modules/mu/cloud/resource_base.rb +1 -1
- data/modules/mu/cloud/ssh_sessions.rb +4 -0
- data/modules/mu/config.rb +28 -12
- data/modules/mu/config/database.rb +2 -2
- data/modules/mu/config/firewall_rule.rb +1 -1
- data/modules/mu/config/ref.rb +2 -2
- data/modules/mu/config/schema_helpers.rb +12 -3
- data/modules/mu/config/server.rb +10 -4
- data/modules/mu/config/server_pool.rb +2 -2
- data/modules/mu/config/vpc.rb +10 -10
- data/modules/mu/defaults/AWS.yaml +32 -32
- data/modules/mu/deploy.rb +23 -10
- data/modules/mu/groomers/chef.rb +2 -2
- data/modules/mu/master.rb +49 -3
- data/modules/mu/mommacat.rb +8 -5
- data/modules/mu/mommacat/naming.rb +2 -2
- data/modules/mu/mommacat/storage.rb +22 -27
- data/modules/mu/providers/aws.rb +142 -48
- data/modules/mu/providers/aws/alarm.rb +3 -3
- data/modules/mu/providers/aws/bucket.rb +19 -19
- data/modules/mu/providers/aws/cache_cluster.rb +22 -22
- data/modules/mu/providers/aws/cdn.rb +2 -2
- data/modules/mu/providers/aws/collection.rb +14 -14
- data/modules/mu/providers/aws/container_cluster.rb +27 -27
- data/modules/mu/providers/aws/database.rb +40 -39
- data/modules/mu/providers/aws/dnszone.rb +5 -5
- data/modules/mu/providers/aws/endpoint.rb +35 -35
- data/modules/mu/providers/aws/firewall_rule.rb +26 -23
- data/modules/mu/providers/aws/function.rb +28 -28
- data/modules/mu/providers/aws/group.rb +7 -7
- data/modules/mu/providers/aws/habitat.rb +2 -2
- data/modules/mu/providers/aws/job.rb +6 -6
- data/modules/mu/providers/aws/loadbalancer.rb +34 -34
- data/modules/mu/providers/aws/log.rb +14 -14
- data/modules/mu/providers/aws/msg_queue.rb +10 -10
- data/modules/mu/providers/aws/nosqldb.rb +8 -8
- data/modules/mu/providers/aws/notifier.rb +7 -7
- data/modules/mu/providers/aws/role.rb +17 -15
- data/modules/mu/providers/aws/search_domain.rb +10 -10
- data/modules/mu/providers/aws/server.rb +176 -95
- data/modules/mu/providers/aws/server_pool.rb +65 -105
- data/modules/mu/providers/aws/storage_pool.rb +17 -9
- data/modules/mu/providers/aws/user.rb +1 -1
- data/modules/mu/providers/aws/vpc.rb +103 -51
- data/modules/mu/providers/aws/vpc_subnet.rb +43 -39
- data/modules/mu/providers/azure.rb +78 -12
- data/modules/mu/providers/azure/server.rb +18 -3
- data/modules/mu/providers/cloudformation/server.rb +1 -1
- data/modules/mu/providers/google.rb +19 -4
- data/modules/mu/providers/google/folder.rb +6 -2
- data/modules/mu/providers/google/function.rb +65 -30
- data/modules/mu/providers/google/role.rb +1 -1
- data/modules/mu/providers/google/vpc.rb +27 -2
- data/modules/tests/aws-servers-with-handrolled-iam.yaml +37 -0
- data/modules/tests/k8s.yaml +1 -1
- metadata +24 -8
|
File without changes
|
|
File without changes
|
data/extras/clean-stock-amis
CHANGED
|
@@ -54,15 +54,15 @@ MU::Cloud::AWS.listRegions.each { | r|
|
|
|
54
54
|
MU::Cloud::AWS.ec2(region: r, credentials: $opts[:credentials]).deregister_image(image_id: ami.image_id)
|
|
55
55
|
rescue Aws::EC2::Errors::InvalidAMIIDUnavailable
|
|
56
56
|
end
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
snaps.each { |snap_id|
|
|
58
|
+
begin
|
|
59
|
+
MU::Cloud::AWS.ec2(region: r, credentials: $opts[:credentials]).delete_snapshot(snapshot_id: snap_id)
|
|
60
|
+
rescue Aws::EC2::Errors::InvalidSnapshotInUse
|
|
61
|
+
sleep 5
|
|
62
|
+
retry
|
|
63
|
+
rescue Aws::EC2::Errors::InvalidSnapshotNotFound
|
|
64
|
+
end
|
|
65
|
+
}
|
|
66
66
|
end
|
|
67
67
|
}
|
|
68
68
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
rpm -q rpm-build || yum -y install rpm-build
|
|
4
|
+
rpm -q libcurl-devel || yum -y install libcurl-devel
|
|
5
|
+
|
|
6
|
+
base="/opt/mu/lib/extras/git_rpm"
|
|
7
|
+
|
|
8
|
+
for d in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS;do
|
|
9
|
+
mkdir -p ~/rpmbuild/$d
|
|
10
|
+
done
|
|
11
|
+
cd ~/rpmbuild
|
|
12
|
+
|
|
13
|
+
echo "Temporarily deleting /usr/local/git-current so rpmbuild can create it"
|
|
14
|
+
link="`readlink /usr/local/git-current`"
|
|
15
|
+
rm -f /usr/local/git-current
|
|
16
|
+
env -i PATH="/bin:/usr/bin" /usr/bin/rpmbuild -ba $base/mugit.spec
|
|
17
|
+
find ~/rpmbuild/ -type f -name 'mugit*' -exec ls -la {} \;
|
|
18
|
+
if [ "$link" != "" ];then
|
|
19
|
+
ln -s "$link" /usr/local/git-current
|
|
20
|
+
fi
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Summary: Git for Mu on RHEL7-compatible systems
|
|
2
|
+
BuildArch: x86_64
|
|
3
|
+
Name: mugit
|
|
4
|
+
Version: 2.30.0
|
|
5
|
+
Release: 1%{dist}
|
|
6
|
+
Group: Development/Languages
|
|
7
|
+
License: https://git-scm.com/about/free-and-open-source
|
|
8
|
+
URL: https://git-scm.com/
|
|
9
|
+
Prefix: /opt/git
|
|
10
|
+
Source: https://github.com/git/git.git
|
|
11
|
+
|
|
12
|
+
AutoReq: yes
|
|
13
|
+
|
|
14
|
+
%description
|
|
15
|
+
I was surprisingly chill when I wrote this spec file
|
|
16
|
+
|
|
17
|
+
%prep
|
|
18
|
+
rm -rf $RPM_BUILD_DIR/git-%{version}
|
|
19
|
+
rm -rf $RPM_SOURCE_DIR/git*
|
|
20
|
+
rm -rf %{prefix}
|
|
21
|
+
test -f $RPM_SOURCE_DIR/git-%{version}/GIT-VERSION-GEN || ( cd $RPM_SOURCE_DIR && git clone https://github.com/git/git.git )
|
|
22
|
+
cd $RPM_SOURCE_DIR && mv git $RPM_BUILD_DIR/git-%{version}
|
|
23
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
24
|
+
rm -rf $RPM_BUILD_ROOT%{prefix}/git-%{version}
|
|
25
|
+
ln -s %{prefix}/git-%{version} $RPM_BUILD_ROOT%{prefix}/git-%{version}
|
|
26
|
+
|
|
27
|
+
%build
|
|
28
|
+
cd $RPM_BUILD_DIR/git-%{version}
|
|
29
|
+
mkdir -p %{prefix}/git-%{version}
|
|
30
|
+
env -i PATH="/bin:/usr/bin" git checkout v%{version}
|
|
31
|
+
env -i PATH="/bin:/usr/bin" rm -rf .git
|
|
32
|
+
env -i PATH="/bin:/usr/bin" make configure
|
|
33
|
+
env -i PATH="/bin:/usr/bin" ./configure --prefix=%{prefix}/git-%{version}
|
|
34
|
+
env -i PATH="/bin:/usr/bin" make all
|
|
35
|
+
|
|
36
|
+
%install
|
|
37
|
+
cd $RPM_BUILD_DIR/git-%{version}
|
|
38
|
+
env -i PATH="/bin:/usr/bin" make install
|
|
39
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
40
|
+
mv %{prefix}/git-%{version} $RPM_BUILD_ROOT%{prefix}/
|
|
41
|
+
mkdir -p $RPM_BUILD_ROOT/usr/local/
|
|
42
|
+
ln -s %{prefix}/git-%{version} $RPM_BUILD_ROOT/usr/local/git-current
|
|
43
|
+
# some idiot utility expects this to be present because reasons
|
|
44
|
+
touch /rpmbuild/SOURCES/git.git
|
|
45
|
+
|
|
46
|
+
%clean
|
|
47
|
+
cd $RPM_BUILD_DIR/git-%{version}
|
|
48
|
+
make clean
|
|
49
|
+
rm -f /rpmbuild/SOURCES/git.git
|
|
50
|
+
|
|
51
|
+
%files
|
|
52
|
+
%{prefix}/git-%{version}/*
|
|
53
|
+
/usr/local/git-current
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
appname: mu
|
|
3
|
+
servers:
|
|
4
|
+
-
|
|
5
|
+
name: centos7
|
|
6
|
+
platform: centos7
|
|
7
|
+
size: m3.medium
|
|
8
|
+
scrub_groomer: true
|
|
9
|
+
run_list:
|
|
10
|
+
- recipe[mu-tools::apply_security]
|
|
11
|
+
- recipe[mu-tools::updates]
|
|
12
|
+
- recipe[mu-tools::split_var_partitions]
|
|
13
|
+
create_image:
|
|
14
|
+
image_then_destroy: true
|
|
15
|
+
public: true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
rpm -q rpm-build || yum -y install rpm-build
|
|
4
|
+
|
|
5
|
+
base="/opt/mu/lib/extras/openssl_rpm"
|
|
6
|
+
|
|
7
|
+
for d in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS;do
|
|
8
|
+
mkdir -p ~/rpmbuild/$d
|
|
9
|
+
done
|
|
10
|
+
cd ~/rpmbuild
|
|
11
|
+
|
|
12
|
+
echo "Temporarily deleting /usr/local/openssl-current so rpmbuild can create it"
|
|
13
|
+
link="`readlink /usr/local/openssl-current`"
|
|
14
|
+
rm -f /usr/local/openssl-current
|
|
15
|
+
env -i PATH="/bin:/usr/bin" /usr/bin/rpmbuild -ba $base/mussl.spec
|
|
16
|
+
find ~/rpmbuild/ -type f -name 'mussl*' -exec ls -la {} \;
|
|
17
|
+
if [ "$link" != "" ];then
|
|
18
|
+
ln -s "$link" /usr/local/openssl-current
|
|
19
|
+
fi
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
Summary: OpenSSL for Mu on RHEL6-compatible systems
|
|
2
|
+
BuildArch: x86_64
|
|
3
|
+
Name: mussl
|
|
4
|
+
Version: 1.1.1h
|
|
5
|
+
Release: 1%{dist}
|
|
6
|
+
Group: Development/Languages
|
|
7
|
+
License: https://www.openssl.org/source/license-openssl-ssleay.txt
|
|
8
|
+
URL: https://www.openssl.org/
|
|
9
|
+
Prefix: /opt/openssl
|
|
10
|
+
Source: https://www.openssl.org/source/openssl-%{version}.tar.gz
|
|
11
|
+
|
|
12
|
+
AutoReq: yes
|
|
13
|
+
|
|
14
|
+
%description
|
|
15
|
+
I was agitated when I wrote this spec file
|
|
16
|
+
|
|
17
|
+
%prep
|
|
18
|
+
rm -rf $RPM_BUILD_DIR/openssl-%{version}
|
|
19
|
+
rm -rf %{prefix}
|
|
20
|
+
test -f $RPM_SOURCE_DIR/openssl-%{version}.tar.gz || ( cd $RPM_SOURCE_DIR && curl -O https://www.openssl.org/source/openssl-%{version}.tar.gz )
|
|
21
|
+
tar -xzvf $RPM_SOURCE_DIR/openssl-%{version}.tar.gz
|
|
22
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
23
|
+
rm -rf $RPM_BUILD_ROOT%{prefix}/openssl-%{version}
|
|
24
|
+
ln -s %{prefix}/openssl-%{version} $RPM_BUILD_ROOT%{prefix}/openssl-%{version}
|
|
25
|
+
|
|
26
|
+
%build
|
|
27
|
+
cd $RPM_BUILD_DIR/openssl-%{version}
|
|
28
|
+
mkdir -p %{prefix}/openssl-%{version}
|
|
29
|
+
env -i PATH="/bin:/usr/bin" ./config --prefix=%{prefix}/openssl-%{version}
|
|
30
|
+
env -i PATH="/bin:/usr/bin" make
|
|
31
|
+
|
|
32
|
+
%install
|
|
33
|
+
cd $RPM_BUILD_DIR/openssl-%{version}
|
|
34
|
+
env -i PATH="/bin:/usr/bin" make install
|
|
35
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
36
|
+
mv %{prefix}/openssl-%{version} $RPM_BUILD_ROOT%{prefix}/
|
|
37
|
+
mkdir -p $RPM_BUILD_ROOT/usr/local/
|
|
38
|
+
ln -s %{prefix}/openssl-%{version} $RPM_BUILD_ROOT/usr/local/openssl-current
|
|
39
|
+
|
|
40
|
+
%clean
|
|
41
|
+
cd $RPM_BUILD_DIR/openssl-%{version}
|
|
42
|
+
make clean
|
|
43
|
+
|
|
44
|
+
%files
|
|
45
|
+
%{prefix}/openssl-%{version}/*
|
|
46
|
+
/usr/local/openssl-current
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Summary: Python for Mu
|
|
2
2
|
BuildArch: x86_64
|
|
3
3
|
Name: muthon
|
|
4
|
-
Version:
|
|
4
|
+
Version: 3.8.3
|
|
5
5
|
Release: 1%{dist}
|
|
6
6
|
Group: Development/Languages
|
|
7
|
-
License:
|
|
7
|
+
License: https://docs.python.org/3/license.html
|
|
8
8
|
URL: https://www.python.org/
|
|
9
9
|
Prefix: /opt/pythons
|
|
10
10
|
Source: https://www.python.org/ftp/python/%{version}/Python-%{version}.tgz
|
|
@@ -16,12 +16,16 @@ AutoReq: no
|
|
|
16
16
|
#%global __requires_exclude ^/usr/local/bin/python$
|
|
17
17
|
#%global __requires_exclude ^/opt/pythons/Python-%{version}/bin/python.*$
|
|
18
18
|
|
|
19
|
+
%{?el6:BuildRequires: mussl}
|
|
20
|
+
%{?el6:BuildRequires: muqlite}
|
|
19
21
|
BuildRequires: zlib-devel
|
|
20
22
|
BuildRequires: tcl-devel
|
|
21
23
|
BuildRequires: gdbm-devel
|
|
22
24
|
BuildRequires: openssl-devel
|
|
23
25
|
BuildRequires: sqlite-devel
|
|
24
26
|
BuildRequires: tk-devel
|
|
27
|
+
%{?el6:Requires: mussl}
|
|
28
|
+
%{?el6:Requires: muqlite}
|
|
25
29
|
Requires: zlib
|
|
26
30
|
Requires: gdbm
|
|
27
31
|
Requires: tcl
|
|
@@ -47,13 +51,19 @@ ln -s %{prefix}/Python-%{version} $RPM_BUILD_ROOT%{prefix}/Python-%{version}
|
|
|
47
51
|
%build
|
|
48
52
|
cd $RPM_BUILD_DIR/Python-%{version}
|
|
49
53
|
mkdir -p %{prefix}/Python-%{version}
|
|
50
|
-
|
|
54
|
+
%if 0%{?el6}
|
|
55
|
+
# The SQLite library location logic is dain-bramaged
|
|
56
|
+
sed -i "s/sqlite_inc_paths = \[ '\/usr\/include'/sqlite_inc_paths = \[ '\/usr\/local\/sqlite-current\/include'/" setup.py
|
|
57
|
+
env -i PATH="/bin:/usr/bin" LDFLAGS="-L/usr/local/openssl-current/lib" ./configure --prefix=%{prefix}/Python-%{version} --exec-prefix=%{prefix}/Python-%{version} --enable-shared LDFLAGS=-Wl,-rpath=%{prefix}/Python-%{version}/lib,-rpath=/usr/local/openssl-current/lib,-rpath=/usr/local/sqlite-current/lib --with-openssl=/usr/local/openssl-current --enable-loadable-sqlite-extensions
|
|
58
|
+
%else
|
|
59
|
+
env -i PATH="/bin:/usr/bin" ./configure --prefix=%{prefix}/Python-%{version} --exec-prefix=%{prefix}/Python-%{version} --enable-shared LDFLAGS=-Wl,-rpath=%{prefix}/Python-%{version}/lib --enable-loadable-sqlite-extensions
|
|
60
|
+
%endif
|
|
51
61
|
env -i PATH="/bin:/usr/bin" make
|
|
52
62
|
|
|
53
63
|
%install
|
|
54
64
|
cd $RPM_BUILD_DIR/Python-%{version}
|
|
55
65
|
env -i PATH="/bin:/usr/bin" make install
|
|
56
|
-
%{prefix}/Python-%{version}/bin/
|
|
66
|
+
%{prefix}/Python-%{version}/bin/python3 $RPM_SOURCE_DIR/get-pip.py --prefix %{prefix}/Python-%{version}/ || ( ldd %{prefix}/Python-%{version}/bin/python3 ; exit 1 )
|
|
57
67
|
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
58
68
|
mv %{prefix}/Python-%{version} $RPM_BUILD_ROOT%{prefix}/
|
|
59
69
|
mkdir -p $RPM_BUILD_ROOT/usr/local/
|
data/extras/ruby_rpm/muby.spec
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
Summary: Ruby for Mu(by)
|
|
2
2
|
BuildArch: x86_64
|
|
3
3
|
Name: muby
|
|
4
|
-
Version: 2.
|
|
4
|
+
Version: 2.7.2
|
|
5
5
|
Release: 1%{dist}
|
|
6
6
|
Group: Development/Languages
|
|
7
7
|
License: Ruby License/GPL - see COPYING
|
|
8
8
|
URL: http://www.ruby-lang.org/
|
|
9
9
|
Prefix: /opt/rubies
|
|
10
|
-
Source: https://cache.ruby-lang.org/pub/ruby/2.
|
|
10
|
+
Source: https://cache.ruby-lang.org/pub/ruby/2.7/ruby-%{version}.tar.gz
|
|
11
11
|
|
|
12
12
|
BuildRequires: zlib
|
|
13
13
|
BuildRequires: zlib-devel
|
|
@@ -19,7 +19,7 @@ I was drunk when I wrote this spec file
|
|
|
19
19
|
%prep
|
|
20
20
|
rm -rf $RPM_BUILD_DIR/ruby-%{version}
|
|
21
21
|
rm -rf %{prefix}
|
|
22
|
-
test -f $RPM_SOURCE_DIR/ruby-%{version}.tar.gz || ( cd $RPM_SOURCE_DIR && curl -O https://cache.ruby-lang.org/pub/ruby/2.
|
|
22
|
+
test -f $RPM_SOURCE_DIR/ruby-%{version}.tar.gz || ( cd $RPM_SOURCE_DIR && curl -O https://cache.ruby-lang.org/pub/ruby/2.7/ruby-%{version}.tar.gz )
|
|
23
23
|
tar -xzvf $RPM_SOURCE_DIR/ruby-%{version}.tar.gz
|
|
24
24
|
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
25
25
|
ln -s %{prefix}/ruby-%{version} $RPM_BUILD_ROOT%{prefix}/ruby-%{version}
|
|
@@ -33,11 +33,14 @@ make
|
|
|
33
33
|
cd $RPM_BUILD_DIR/ruby-%{version}
|
|
34
34
|
make install
|
|
35
35
|
mkdir -p %{prefix}
|
|
36
|
-
%{prefix}/ruby-%{version}/bin/gem install bundler
|
|
36
|
+
yes | %{prefix}/ruby-%{version}/bin/gem install bundler --version '~> 2.1.4' --force
|
|
37
37
|
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
38
38
|
mv %{prefix}/ruby-%{version} $RPM_BUILD_ROOT%{prefix}/
|
|
39
|
-
mkdir -p $RPM_BUILD_ROOT/usr/local/
|
|
39
|
+
mkdir -p $RPM_BUILD_ROOT/usr/local/bin
|
|
40
40
|
ln -s %{prefix}/ruby-%{version} $RPM_BUILD_ROOT/usr/local/ruby-current
|
|
41
|
+
mkdir -p /usr/local/bin
|
|
42
|
+
rm -f $RPM_BUILD_ROOT/usr/local/bin/ruby
|
|
43
|
+
ln -s /usr/local/ruby-current/bin/ruby $RPM_BUILD_ROOT/usr/local/bin/ruby
|
|
41
44
|
|
|
42
45
|
%clean
|
|
43
46
|
cd $RPM_BUILD_DIR/ruby-%{version}
|
|
@@ -46,3 +49,4 @@ make clean
|
|
|
46
49
|
%files
|
|
47
50
|
%{prefix}/ruby-%{version}/*
|
|
48
51
|
/usr/local/ruby-current
|
|
52
|
+
/usr/local/bin/ruby
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
rpm -q rpm-build || yum -y install rpm-build
|
|
4
|
+
|
|
5
|
+
base="/opt/mu/lib/extras/sqlite_rpm"
|
|
6
|
+
|
|
7
|
+
for d in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS;do
|
|
8
|
+
mkdir -p ~/rpmbuild/$d
|
|
9
|
+
done
|
|
10
|
+
cd ~/rpmbuild
|
|
11
|
+
|
|
12
|
+
echo "Temporarily deleting /usr/local/sqlite-current so rpmbuild can create it"
|
|
13
|
+
link="`readlink /usr/local/sqlite-current`"
|
|
14
|
+
rm -f /usr/local/sqlite-current
|
|
15
|
+
env -i PATH="/bin:/usr/bin" /usr/bin/rpmbuild -ba $base/muqlite.spec
|
|
16
|
+
find ~/rpmbuild/ -type f -name 'muqlite*' -exec ls -la {} \;
|
|
17
|
+
if [ "$link" != "" ];then
|
|
18
|
+
ln -s "$link" /usr/local/sqlite-current
|
|
19
|
+
fi
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
Summary: SQLite for Mu on RHEL6-compatible systems
|
|
2
|
+
BuildArch: x86_64
|
|
3
|
+
Name: muqlite
|
|
4
|
+
Version: 3.33
|
|
5
|
+
Release: 1%{dist}
|
|
6
|
+
Group: Development/Languages
|
|
7
|
+
License: https://www.sqlite.org/copyright.html
|
|
8
|
+
URL: https://sqlite.org/
|
|
9
|
+
Prefix: /opt/sqlite
|
|
10
|
+
Source: https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=branch-%{version}
|
|
11
|
+
|
|
12
|
+
AutoReq: yes
|
|
13
|
+
|
|
14
|
+
%description
|
|
15
|
+
I was surprisingly chill when I wrote this spec file
|
|
16
|
+
|
|
17
|
+
%prep
|
|
18
|
+
rm -rf $RPM_BUILD_DIR/sqlite-%{version}
|
|
19
|
+
rm -rf %{prefix}
|
|
20
|
+
test -f $RPM_SOURCE_DIR/sqlite.tar.gz?r=branch-%{version} || ( cd $RPM_SOURCE_DIR && curl -O https://www.sqlite.org/src/tarball/sqlite.tar.gz?r=branch-%{version} )
|
|
21
|
+
tar -xzvf $RPM_SOURCE_DIR/sqlite.tar.gz?r=branch-%{version}
|
|
22
|
+
mv sqlite sqlite-%{version}
|
|
23
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
24
|
+
rm -rf $RPM_BUILD_ROOT%{prefix}/sqlite-%{version}
|
|
25
|
+
ln -s %{prefix}/sqlite-%{version} $RPM_BUILD_ROOT%{prefix}/sqlite-%{version}
|
|
26
|
+
|
|
27
|
+
%build
|
|
28
|
+
cd $RPM_BUILD_DIR/sqlite-%{version}
|
|
29
|
+
mkdir -p %{prefix}/sqlite-%{version}
|
|
30
|
+
env -i PATH="/bin:/usr/bin" ./configure --prefix=%{prefix}/sqlite-%{version}
|
|
31
|
+
env -i PATH="/bin:/usr/bin" make
|
|
32
|
+
|
|
33
|
+
%install
|
|
34
|
+
cd $RPM_BUILD_DIR/sqlite-%{version}
|
|
35
|
+
env -i PATH="/bin:/usr/bin" make install
|
|
36
|
+
mkdir -p $RPM_BUILD_ROOT%{prefix}
|
|
37
|
+
mv %{prefix}/sqlite-%{version} $RPM_BUILD_ROOT%{prefix}/
|
|
38
|
+
mkdir -p $RPM_BUILD_ROOT/usr/local/
|
|
39
|
+
ln -s %{prefix}/sqlite-%{version} $RPM_BUILD_ROOT/usr/local/sqlite-current
|
|
40
|
+
|
|
41
|
+
%clean
|
|
42
|
+
cd $RPM_BUILD_DIR/sqlite-%{version}
|
|
43
|
+
make clean
|
|
44
|
+
|
|
45
|
+
%files
|
|
46
|
+
%{prefix}/sqlite-%{version}/*
|
|
47
|
+
/usr/local/sqlite-current
|
data/install/installer
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
BOLD=`tput bold`
|
|
4
4
|
NORM=`tput sgr0`
|
|
5
|
-
CHEF_CLIENT_VERSION="
|
|
5
|
+
CHEF_CLIENT_VERSION="16.9.29"
|
|
6
6
|
if [ "$MU_BRANCH" == "" ];then
|
|
7
7
|
MU_BRANCH="master"
|
|
8
8
|
mydir="`dirname $0`"
|
|
@@ -23,12 +23,8 @@ elif [ "$DIST_VERSION" == "server" ];then # funny package name in RHEL6
|
|
|
23
23
|
fi
|
|
24
24
|
|
|
25
25
|
if [ "$DIST_VERSION" == 7 ];then
|
|
26
|
-
OPSCODE_CHEF_PKG="chef-server-core-$CHEF_SERVER_VERSION.el7.x86_64"
|
|
27
|
-
OPSCODE_CHEF_DL="https://packages.chef.io/stable/el/7/${OPSCODE_CHEF_PKG}.rpm"
|
|
28
26
|
CHEF_CLIENT_PKG="chef-$CHEF_CLIENT_VERSION.el7.x86_64"
|
|
29
27
|
else
|
|
30
|
-
OPSCODE_CHEF_PKG="chef-server-core-$CHEF_SERVER_VERSION.el6.x86_64"
|
|
31
|
-
OPSCODE_CHEF_DL="https://packages.chef.io/stable/el/6/${OPSCODE_CHEF_PKG}.rpm"
|
|
32
28
|
CHEF_CLIENT_PKG="chef-$CHEF_CLIENT_VERSION.el6.x86_64"
|
|
33
29
|
fi
|
|
34
30
|
|
|
@@ -43,7 +39,9 @@ if [ ! -f /opt/chef/bin/chef-apply ];then
|
|
|
43
39
|
fi
|
|
44
40
|
set -x
|
|
45
41
|
set -e
|
|
42
|
+
|
|
46
43
|
if ! /bin/rpm -q $CHEF_CLIENT_PKG > /dev/null ;then
|
|
44
|
+
|
|
47
45
|
# Drop any old Chef packages laying around, first
|
|
48
46
|
/usr/bin/yum -y erase chef || /bin/rpm -e chef
|
|
49
47
|
/bin/rm -rf /opt/chef ~/.berkshelf ~/.chef /etc/chef
|
|
@@ -51,6 +49,10 @@ if ! /bin/rpm -q $CHEF_CLIENT_PKG > /dev/null ;then
|
|
|
51
49
|
/bin/sh /root/chef-install.sh -v $CHEF_CLIENT_VERSION
|
|
52
50
|
fi
|
|
53
51
|
|
|
52
|
+
mkdir -p /etc/chef
|
|
53
|
+
grep ^chef_license /etc/chef/client.rb || echo "chef_license 'accept'" >> /etc/chef/client.rb
|
|
54
|
+
export CHEF_LICENSE="accept"
|
|
55
|
+
|
|
54
56
|
|
|
55
57
|
if [ -d /opt/mu/lib/cookbooks/mu-master/recipes ];then
|
|
56
58
|
/opt/chef/bin/chef-apply /opt/mu/lib/cookbooks/mu-master/recipes/init.rb
|
data/modules/mu.rb
CHANGED
|
@@ -16,8 +16,6 @@ require 'bundler/setup'
|
|
|
16
16
|
require 'yaml'
|
|
17
17
|
require 'socket'
|
|
18
18
|
require 'net/http'
|
|
19
|
-
gem 'aws-sdk-core'
|
|
20
|
-
autoload :Aws, "aws-sdk-core"
|
|
21
19
|
gem 'nokogiri'
|
|
22
20
|
autoload :Nokogiri, "nokogiri"
|
|
23
21
|
gem 'simple-password-gen'
|
|
@@ -320,14 +318,14 @@ module MU
|
|
|
320
318
|
# @param always [Proc]: Optional block of code to invoke before returning or failing, a bit like +ensure+
|
|
321
319
|
# @param loop_if [Proc]: Optional block of code to invoke which will cause our block to be rerun until true
|
|
322
320
|
# @param loop_msg [String]: Message to display every third attempt
|
|
323
|
-
def self.retrier(catchme = nil, wait: 30, max: 0, ignoreme: [], on_retry: nil, always: nil, loop_if: nil, loop_msg: nil)
|
|
321
|
+
def self.retrier(catchme = nil, wait: 30, max: 0, ignoreme: [], on_retry: nil, always: nil, loop_if: nil, loop_msg: nil, logmsg_interval: 3)
|
|
324
322
|
|
|
325
323
|
loop_if ||= Proc.new { false }
|
|
326
324
|
|
|
327
325
|
retries = 0
|
|
328
326
|
begin
|
|
329
327
|
retries += 1
|
|
330
|
-
loglevel = ((retries %
|
|
328
|
+
loglevel = (logmsg_interval > 0 and (retries % logmsg_interval) == 0) ? MU::NOTICE : MU::DEBUG
|
|
331
329
|
log_attempts = retries.to_s
|
|
332
330
|
log_attempts += (max > 0 ? "/"+max.to_s : "")
|
|
333
331
|
yield(retries, wait) if block_given?
|
|
@@ -702,7 +700,8 @@ module MU
|
|
|
702
700
|
if !$MU_CFG.nil? and !$MU_CFG['public_address'].nil? and
|
|
703
701
|
!$MU_CFG['public_address'].empty? and @@my_public_ip != $MU_CFG['public_address']
|
|
704
702
|
@@mu_public_addr = $MU_CFG['public_address']
|
|
705
|
-
if !@@mu_public_addr.match(/^\d+\.\d+\.\d+\.\d+$/)
|
|
703
|
+
if !@@mu_public_addr.match(/^\d+\.\d+\.\d+\.\d+$/) and
|
|
704
|
+
File.exists?("/etc/hostname") and File.exists?("/etc/hosts")
|
|
706
705
|
hostname = IO.readlines("/etc/hostname")[0].gsub(/\n/, '')
|
|
707
706
|
|
|
708
707
|
hostlines = File.open('/etc/hosts').grep(/.*#{hostname}.*/)
|
|
@@ -887,22 +886,30 @@ module MU
|
|
|
887
886
|
# @param stringify_keys [Boolean]
|
|
888
887
|
# @return [Hash]
|
|
889
888
|
def self.structToHash(struct, stringify_keys: false)
|
|
889
|
+
return nil if struct.nil?
|
|
890
|
+
|
|
890
891
|
google_struct = false
|
|
891
892
|
begin
|
|
892
893
|
google_struct = struct.class.ancestors.include?(::Google::Apis::Core::Hashable)
|
|
893
894
|
rescue NameError
|
|
895
|
+
rescue TypeError
|
|
896
|
+
return struct
|
|
894
897
|
end
|
|
895
898
|
|
|
896
899
|
aws_struct = false
|
|
897
900
|
begin
|
|
898
901
|
aws_struct = struct.class.ancestors.include?(::Seahorse::Client::Response)
|
|
899
902
|
rescue NameError
|
|
903
|
+
rescue TypeError
|
|
904
|
+
return struct
|
|
900
905
|
end
|
|
901
906
|
|
|
902
907
|
azure_struct = false
|
|
903
908
|
begin
|
|
904
909
|
azure_struct = struct.class.ancestors.include?(::MsRestAzure) or struct.class.name.match(/Azure::.*?::Mgmt::.*?::Models::/)
|
|
905
910
|
rescue NameError
|
|
911
|
+
rescue TypeError
|
|
912
|
+
return struct
|
|
906
913
|
end
|
|
907
914
|
|
|
908
915
|
if struct.is_a?(Struct) or struct.class.ancestors.include?(Struct) or
|