cloudspin-stack 0.1.28 → 0.1.29
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
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8d3b0fe384748ee9c1a871ed53c8c0b3002dcc99c5f07ec6f997c1ff329ea982
|
|
4
|
+
data.tar.gz: 591b10684679c109886bdf67112eb7fb0f2d9e43ea2dcc4544eb93e5932e335a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 55db31e3c2e88a859171e9ad06aaf3f7df0610b8ac3624107c3886cd98f31ae11a8d6f3105310e0ca5109ff6e8683d33823c7fe70abbbcceb06d27478787d57a
|
|
7
|
+
data.tar.gz: 15a3b50778ca03e62e41531bdbba7d04b15a8b2bdd3002075a015464e1e139459c88fd1d06da4e98fdb18161879c399d8d8edc8329e158ed86de9658a4504447
|
data/lib/cloudspin/cli.rb
CHANGED
|
@@ -14,9 +14,9 @@ module Cloudspin
|
|
|
14
14
|
|
|
15
15
|
class_option :source,
|
|
16
16
|
:aliases => '-s',
|
|
17
|
-
:banner => 'PATH',
|
|
17
|
+
:banner => 'PATH-OR-URL',
|
|
18
18
|
:default => './src',
|
|
19
|
-
:desc => '
|
|
19
|
+
:desc => 'Path to terraform project source files'
|
|
20
20
|
|
|
21
21
|
class_option :environment,
|
|
22
22
|
:aliases => '-e',
|
|
@@ -72,16 +72,12 @@ module Cloudspin
|
|
|
72
72
|
def instance
|
|
73
73
|
Cloudspin::Stack::Instance.from_folder(
|
|
74
74
|
instance_configuration_files,
|
|
75
|
-
definition_location:
|
|
75
|
+
definition_location: options[:source],
|
|
76
76
|
base_folder: '.',
|
|
77
77
|
base_working_folder: './work'
|
|
78
78
|
)
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
def stack_definition
|
|
82
|
-
Cloudspin::Stack::Definition.from_file(options[:source] + '/stack-definition.yaml')
|
|
83
|
-
end
|
|
84
|
-
|
|
85
81
|
def instance_configuration_files
|
|
86
82
|
file_list = options[:file]
|
|
87
83
|
if options[:environment]
|
|
@@ -26,14 +26,12 @@ module Cloudspin
|
|
|
26
26
|
|
|
27
27
|
def self.from_folder(
|
|
28
28
|
*instance_configuration_files,
|
|
29
|
-
stack_name: nil,
|
|
30
29
|
definition_location:,
|
|
31
30
|
base_folder: '.',
|
|
32
31
|
base_working_folder:
|
|
33
32
|
)
|
|
34
33
|
self.from_files(
|
|
35
34
|
instance_configuration_files,
|
|
36
|
-
stack_name: stack_name,
|
|
37
35
|
stack_definition: Definition.from_location(definition_location),
|
|
38
36
|
base_folder: base_folder,
|
|
39
37
|
base_working_folder: base_working_folder
|
|
@@ -42,14 +40,12 @@ module Cloudspin
|
|
|
42
40
|
|
|
43
41
|
def self.from_files(
|
|
44
42
|
*instance_configuration_files,
|
|
45
|
-
stack_name: nil,
|
|
46
43
|
stack_definition:,
|
|
47
44
|
base_folder: '.',
|
|
48
45
|
base_working_folder:
|
|
49
46
|
)
|
|
50
47
|
instance_configuration = InstanceConfiguration.from_files(
|
|
51
48
|
instance_configuration_files,
|
|
52
|
-
stack_name: stack_name,
|
|
53
49
|
stack_definition: stack_definition,
|
|
54
50
|
base_folder: base_folder
|
|
55
51
|
)
|
|
@@ -6,28 +6,39 @@ module Cloudspin
|
|
|
6
6
|
class InstanceConfiguration
|
|
7
7
|
|
|
8
8
|
attr_reader :stack_definition
|
|
9
|
-
attr_reader :stack_name
|
|
10
9
|
attr_reader :base_folder
|
|
11
10
|
|
|
12
11
|
attr_reader :instance_values
|
|
13
12
|
attr_reader :parameter_values
|
|
14
13
|
attr_reader :resource_values
|
|
14
|
+
attr_reader :stack_values
|
|
15
15
|
|
|
16
|
+
attr_reader :stack_name
|
|
17
|
+
attr_reader :instance_identifier
|
|
16
18
|
attr_reader :terraform_backend
|
|
17
19
|
|
|
18
20
|
def initialize(
|
|
19
21
|
configuration_values: {},
|
|
20
|
-
stack_name: nil,
|
|
21
22
|
stack_definition:,
|
|
22
23
|
base_folder: '.'
|
|
23
24
|
)
|
|
24
25
|
@stack_definition = stack_definition
|
|
25
|
-
@stack_name = stack_name || stack_definition.name
|
|
26
26
|
@base_folder = base_folder
|
|
27
|
+
|
|
28
|
+
@stack_values = configuration_values['stack'] || {}
|
|
27
29
|
@instance_values = configuration_values['instance'] || {}
|
|
28
30
|
@parameter_values = configuration_values['parameters'] || {}
|
|
29
31
|
@resource_values = configuration_values['resources'] || {}
|
|
30
32
|
|
|
33
|
+
@stack_name = @stack_values['name'] || stack_definition.name
|
|
34
|
+
@instance_identifier = if @instance_values['identifier']
|
|
35
|
+
instance_values['identifier']
|
|
36
|
+
elsif @instance_values['group']
|
|
37
|
+
stack_name + '-' + @instance_values['group']
|
|
38
|
+
else
|
|
39
|
+
stack_name
|
|
40
|
+
end
|
|
41
|
+
|
|
31
42
|
@terraform_backend = configuration_values['terraform_backend'] || {}
|
|
32
43
|
if @terraform_backend.empty?
|
|
33
44
|
@terraform_backend['statefile_folder'] = default_state_folder
|
|
@@ -38,7 +49,6 @@ module Cloudspin
|
|
|
38
49
|
|
|
39
50
|
def self.from_files(
|
|
40
51
|
*configuration_files,
|
|
41
|
-
stack_name: nil,
|
|
42
52
|
stack_definition:,
|
|
43
53
|
base_folder: '.'
|
|
44
54
|
)
|
|
@@ -49,7 +59,6 @@ module Cloudspin
|
|
|
49
59
|
}
|
|
50
60
|
self.new(
|
|
51
61
|
stack_definition: stack_definition,
|
|
52
|
-
stack_name: stack_name,
|
|
53
62
|
base_folder: base_folder,
|
|
54
63
|
configuration_values: configuration_values
|
|
55
64
|
)
|
|
@@ -85,15 +94,15 @@ module Cloudspin
|
|
|
85
94
|
"#{instance_identifier}.tfstate"
|
|
86
95
|
end
|
|
87
96
|
|
|
88
|
-
def instance_identifier
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
end
|
|
97
|
+
# def instance_identifier
|
|
98
|
+
# if instance_values['identifier']
|
|
99
|
+
# instance_values['identifier']
|
|
100
|
+
# elsif instance_values['group']
|
|
101
|
+
# stack_name + '-' + instance_values['group']
|
|
102
|
+
# else
|
|
103
|
+
# stack_name
|
|
104
|
+
# end
|
|
105
|
+
# end
|
|
97
106
|
|
|
98
107
|
def to_s
|
|
99
108
|
{
|
|
@@ -35,11 +35,11 @@ module Cloudspin
|
|
|
35
35
|
request = Net::HTTP::Get.new(remote_file_uri)
|
|
36
36
|
http.request(request) do |response|
|
|
37
37
|
case response
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
when Net::HTTPSuccess then write_local_file(response, local_file)
|
|
39
|
+
when Net::HTTPRedirection then download_file(response['Location'], local_file, tries + 1)
|
|
40
|
+
else
|
|
41
|
+
raise "Request to '#{remote_file_uri}' failed: #{response.error} #{response.inspect}"
|
|
42
|
+
end
|
|
43
43
|
end
|
|
44
44
|
end
|
|
45
45
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cloudspin-stack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.29
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- 'kief '
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-11-
|
|
11
|
+
date: 2018-11-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: ruby-terraform
|