avst-cloud 0.1.32 → 0.1.34
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/README.md +7 -3
- data/avst-cloud.gemspec +2 -2
- data/bin/avst-cloud +3 -1
- data/lib/avst-cloud.rb +3 -2
- data/lib/avst-cloud/cloud_server.rb +2 -2
- data/lib/avst-cloud/task.rb +3 -1
- data/lib/capistrano/tasks/prepare_puppet_and_execute.rake +3 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7ade3d1a34eb13a1f59c2c0d2b1e45052da700d1486863ab8ffe15d83556961
|
4
|
+
data.tar.gz: 7fc3fc9dbb2a5a81db491884481e9ee5a7e31fe93ed14d0c35efaf8260353767
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc1993fb4976ec41a56d7d7f74552f09e74f5730a9627f5bf6caea81ef3950fb97ef157a052583b1042ac7efbf76db9087d5dd4d2d1ebf8270b3aeccf9140edc
|
7
|
+
data.tar.gz: 3dfc93f2648b8829b0edea4bd2d31d50ab85946e4260d6e6bf03fdc53a6dc951b633de84e39b214d31f0aba3d2fd8665a2c55ee396362f846f5e668f30bedfd6
|
data/README.md
CHANGED
@@ -161,7 +161,7 @@ If puppet_runner param is defined:
|
|
161
161
|
* create avst_cloud_tmp_folder on the server
|
162
162
|
* uploads the content of local folder config/custom_system_config to it and then moves it to destination_folder, in subfolder hiera-configs the only files uploaded may be server_name.yaml, server_name_facts.yaml and puppetfile_dictionary.yaml
|
163
163
|
* if puppet_runner_prepare is defined, it will run it
|
164
|
-
* r10k puppetfile install
|
164
|
+
* if download_dependencies_command is defined, it will run it, in the common case should be 'r10k puppetfile install'
|
165
165
|
* clear /etc/puppet folder
|
166
166
|
* link /var/opt/puppet/current to /etc/puppet
|
167
167
|
* links /var/opt/puppet/current/hiera.yaml to /etc/hiera.yaml
|
@@ -178,9 +178,11 @@ If custom_provisioning_command is defined, it will run the command on the server
|
|
178
178
|
branch = "master"
|
179
179
|
puppet_runner = nil
|
180
180
|
puppet_runner_prepare = nil
|
181
|
+
avst_cloud_config_dir = nil
|
182
|
+
download_dependencies_command = nil
|
181
183
|
custom_provisioning_command = "echo 'done' >> /tmp/done",
|
182
184
|
destination_folder = nil
|
183
|
-
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
|
185
|
+
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
|
184
186
|
|
185
187
|
|
186
188
|
```
|
@@ -218,12 +220,14 @@ branch = "master" # branch
|
|
218
220
|
reference = nil # tag
|
219
221
|
# In this example we are using puppet-runner to apply our puppet configs, check doco
|
220
222
|
puppet_runner = "puppet-runner start"
|
223
|
+
avst_cloud_config_dir = 'config'
|
224
|
+
download_dependencies_command = 'gem install r10k -v 2.6.4; r10k puppetfile install'
|
221
225
|
puppet_runner_prepare = "puppet-runner prepare -c ./hiera-configs -d ./hiera -f ./environments/production/modules/hosts/facts.d -t ./hiera-configs -r ./hiera-configs/puppetfile_dictionary.yaml -o ./Puppetfile -e /var/opt/puppet/secure/keys"
|
222
226
|
|
223
227
|
custom_provisioning_commands = ["echo 'done' >> /tmp/done"]
|
224
228
|
# defaults to /var/opt/puppet
|
225
229
|
destination_folder = nil
|
226
230
|
|
227
|
-
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
|
231
|
+
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder. avst_cloud_config_dir, download_dependencies_command)
|
228
232
|
|
229
233
|
```
|
data/avst-cloud.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "avst-cloud"
|
7
|
-
spec.version = '0.1.
|
7
|
+
spec.version = '0.1.34'
|
8
8
|
spec.authors = ["Martin Brehovsky", "Jon Bevan", "Matthew Hope"]
|
9
9
|
spec.email = ["mbrehovsky@adaptavist.com", "jbevan@adaptavist.com", "mhope@adaptavist.com"]
|
10
10
|
spec.summary = %q{Automated creation, bootstrapping and provisioning of servers }
|
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.add_dependency "sshkit", "~> 1.16.0"
|
30
30
|
spec.add_dependency "derelict"
|
31
31
|
spec.add_dependency "docopt", ">= 0.5.0"
|
32
|
-
spec.add_dependency "
|
32
|
+
spec.add_dependency "rainbow"
|
33
33
|
spec.add_dependency "nokogiri", '1.8.2'
|
34
34
|
end
|
35
35
|
|
data/bin/avst-cloud
CHANGED
@@ -81,11 +81,13 @@ reference = nil # Tag
|
|
81
81
|
# In this example we do not use puppet-runner, check doco
|
82
82
|
puppet_runner = nil
|
83
83
|
puppet_runner_prepare = nil
|
84
|
+
avst_cloud_config_dir = nil
|
85
|
+
download_dependencies_command = nil
|
84
86
|
custom_provisioning_commands = ["echo 'done' >> /tmp/done", "echo 'done' >> /tmp/done1"]
|
85
87
|
server_tmp_folder="/tmp/avst_cloud_tmp_#{Time.now.to_i}"
|
86
88
|
|
87
89
|
destination_folder = nil # defaults to /var/opt/puppet
|
88
|
-
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder)
|
90
|
+
server.provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
|
89
91
|
|
90
92
|
# puts conn.server_status(server_name)
|
91
93
|
# server.stop
|
data/lib/avst-cloud.rb
CHANGED
@@ -39,9 +39,9 @@ module AvstCloud
|
|
39
39
|
logger.debug "Bootstrap done. You can connect to server as #{@access_user} on #{@ip_address}"
|
40
40
|
end
|
41
41
|
|
42
|
-
def provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir)
|
42
|
+
def provision(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
|
43
43
|
logger.debug "Provisioning #{@server_name}..."
|
44
|
-
provision_task = AvstCloud::CapistranoDeploymentTask.new(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir)
|
44
|
+
provision_task = AvstCloud::CapistranoDeploymentTask.new(git, branch, server_tmp_folder, reference, custom_provisioning_commands, puppet_runner, puppet_runner_prepare, destination_folder, avst_cloud_config_dir, download_dependencies_command)
|
45
45
|
run_tasks([AvstCloud::WaitUntilReady.new, provision_task])
|
46
46
|
logger.debug "Provisioning done. You can connect to server on #{@ip_address}"
|
47
47
|
end
|
data/lib/avst-cloud/task.rb
CHANGED
@@ -176,7 +176,7 @@ module AvstCloud
|
|
176
176
|
|
177
177
|
class CapistranoDeploymentTask < AvstCloud::Task
|
178
178
|
|
179
|
-
def initialize(git, branch, server_tmp_folder = "/tmp/avst_cloud_tmp_#{Time.now.to_i}", reference = nil, custom_provisioning_commands = [], puppet_runner = nil, puppet_runner_prepare = nil, destination_folder = '/var/opt/puppet', avst_cloud_config_dir = 'config')
|
179
|
+
def initialize(git, branch, server_tmp_folder = "/tmp/avst_cloud_tmp_#{Time.now.to_i}", reference = nil, custom_provisioning_commands = [], puppet_runner = nil, puppet_runner_prepare = nil, destination_folder = '/var/opt/puppet', avst_cloud_config_dir = 'config', download_dependencies_command = nil)
|
180
180
|
unless git and (branch or reference)
|
181
181
|
logger.debug "You have to provide git repo url #{git} and git branch #{branch} or git tag reference #{reference}".red
|
182
182
|
raise "You have to provide git repo url #{git} and git branch #{branch} or git tag reference #{reference}"
|
@@ -188,6 +188,7 @@ module AvstCloud
|
|
188
188
|
@reference = reference
|
189
189
|
@custom_provisioning_commands = custom_provisioning_commands || []
|
190
190
|
@puppet_runner = puppet_runner
|
191
|
+
@download_dependencies_command = download_dependencies_command
|
191
192
|
@puppet_runner_prepare = puppet_runner_prepare
|
192
193
|
@destination_folder = destination_folder || '/var/opt/puppet'
|
193
194
|
@avst_cloud_config_dir = avst_cloud_config_dir || 'config'
|
@@ -225,6 +226,7 @@ module AvstCloud
|
|
225
226
|
ENV['cap_access_user'] = server.access_user
|
226
227
|
ENV['server_name'] = server.server_name
|
227
228
|
ENV['puppet_runner'] = @puppet_runner
|
229
|
+
ENV['download_dependencies_command'] = @download_dependencies_command
|
228
230
|
ENV['puppet_runner_prepare'] = @puppet_runner_prepare
|
229
231
|
ENV['avst_cloud_tmp_folder'] = @server_tmp_folder
|
230
232
|
ENV['custom_provisioning_commands'] = @custom_provisioning_commands.to_json
|
@@ -21,7 +21,7 @@ task :prepare_puppet_and_execute do
|
|
21
21
|
SSHKit.config.command_map[:link_hiera] = "sudo su -c 'cd /etc && sudo rm -f hiera.yaml && sudo ln -sf /var/opt/puppet/current/hiera.yaml .'"
|
22
22
|
SSHKit.config.command_map[:clear_puppet] = "sudo su -c 'rm -fr /etc/puppet'"
|
23
23
|
SSHKit.config.command_map[:create_puppet_files] = "sudo su -c 'if [ ! -d /var/opt/puppet/current/files ]; then mkdir /var/opt/puppet/current/files; fi'"
|
24
|
-
SSHKit.config.command_map[:
|
24
|
+
SSHKit.config.command_map[:download_dependencies_command] = "sudo su -c 'source /usr/local/rvm/scripts/rvm; #{ENV["download_dependencies_command"]}'"
|
25
25
|
SSHKit.config.command_map[:execute_puppet_runner] = "sudo su -c 'source /usr/local/rvm/scripts/rvm; #{ENV["puppet_runner"]}'"
|
26
26
|
SSHKit.config.command_map[:cleanup_configs_from_hiera_configs] = "sudo su -c 'find /var/opt/puppet/current/hiera-configs -maxdepth 1 -type f ! -name \'puppetfile_dictionary_v4.yaml\' ! -name \'puppetfile_dictionary.yaml\' ! -name \'#{ENV["server_name"]}.yaml\' ! -name \'#{ENV["server_name"]}_facts.yaml\' -exec rm -f {} + '"
|
27
27
|
|
@@ -44,10 +44,10 @@ task :prepare_puppet_and_execute do
|
|
44
44
|
end
|
45
45
|
|
46
46
|
within '/var/opt/puppet/current' do
|
47
|
-
execute :
|
47
|
+
execute :download_dependencies_command
|
48
48
|
end
|
49
49
|
|
50
|
-
puts "Done
|
50
|
+
puts "Done downloading dependencies"
|
51
51
|
|
52
52
|
execute :clear_puppet
|
53
53
|
execute :create_puppet_files
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avst-cloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Brehovsky
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-09-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -209,19 +209,19 @@ dependencies:
|
|
209
209
|
- !ruby/object:Gem::Version
|
210
210
|
version: 0.5.0
|
211
211
|
- !ruby/object:Gem::Dependency
|
212
|
-
name:
|
212
|
+
name: rainbow
|
213
213
|
requirement: !ruby/object:Gem::Requirement
|
214
214
|
requirements:
|
215
215
|
- - ">="
|
216
216
|
- !ruby/object:Gem::Version
|
217
|
-
version: 0
|
217
|
+
version: '0'
|
218
218
|
type: :runtime
|
219
219
|
prerelease: false
|
220
220
|
version_requirements: !ruby/object:Gem::Requirement
|
221
221
|
requirements:
|
222
222
|
- - ">="
|
223
223
|
- !ruby/object:Gem::Version
|
224
|
-
version: 0
|
224
|
+
version: '0'
|
225
225
|
- !ruby/object:Gem::Dependency
|
226
226
|
name: nokogiri
|
227
227
|
requirement: !ruby/object:Gem::Requirement
|