cloudspin-stack-rake 0.1.9 → 0.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/cloudspin/stack/rake/stack_task.rb +31 -14
- data/lib/cloudspin/stack/rake/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a360fb5e777448d7d93e031810b7a612a74ac2b66e2d2da3e653e5766dee0b8c
|
4
|
+
data.tar.gz: 2f7ee363e8b54f68f799141761272b9db7fefdf8a57379925b8865a5d4a2d21d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0964c659f2c790cebc4e4e0069c062ec042992c370c170cf61036657017dd7e5ed7017c640f58fb9329c15ef1591504233ac7367af2b0b28f4b9072a59aac9b8'
|
7
|
+
data.tar.gz: 9ce9b56cfac88d08a5d227c910726dbf9ff55f784e22b38a5b77a60a7b25d644c8326e102e007fed527d10b16140d8a37cef774ca94804721e6c86725113b2f2
|
@@ -5,31 +5,48 @@ module Cloudspin
|
|
5
5
|
|
6
6
|
class StackTask < ::Rake::TaskLib
|
7
7
|
|
8
|
-
attr_reader :id
|
9
8
|
attr_reader :instance
|
10
|
-
attr_reader :definition_folder
|
11
|
-
attr_reader :instance_folder
|
12
9
|
|
13
|
-
def initialize(
|
10
|
+
def initialize(
|
11
|
+
environment = nil,
|
12
|
+
definition_folder: './src',
|
13
|
+
base_folder: '.'
|
14
|
+
)
|
15
|
+
@environment = environment
|
16
|
+
@base_folder = base_folder
|
17
|
+
|
14
18
|
@instance = Cloudspin::Stack::Instance.from_folder(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
+
instance_configuration_files,
|
20
|
+
definition_folder: definition_folder,
|
21
|
+
base_working_folder: "#{base_folder}/work",
|
22
|
+
base_statefile_folder: "#{base_folder}/state"
|
19
23
|
)
|
20
24
|
define
|
21
25
|
end
|
22
26
|
|
23
|
-
def
|
27
|
+
def instance_configuration_files
|
28
|
+
file_list = default_configuration_files
|
29
|
+
if @environment
|
30
|
+
if File.exists? environment_config_file
|
31
|
+
file_list << environment_config_file
|
32
|
+
else
|
33
|
+
raise "Missing configuration file for environment #{options[:environment]} (#{environment_config_file})"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
file_list
|
37
|
+
end
|
38
|
+
|
39
|
+
def default_configuration_files
|
24
40
|
[
|
25
|
-
"#{
|
26
|
-
"#{
|
27
|
-
"#{instance_folder}/stack-instance-defaults.yaml",
|
28
|
-
"#{instance_folder}/spin-local.yaml",
|
29
|
-
"#{instance_folder}/stack-instance-local.yaml"
|
41
|
+
"#{@base_folder}/stack-instance-defaults.yaml",
|
42
|
+
"#{@base_folder}/stack-instance-local.yaml"
|
30
43
|
]
|
31
44
|
end
|
32
45
|
|
46
|
+
def environment_config_file
|
47
|
+
Pathname.new("#{@base_folder}/environments/stack-instance-#{@environment}.yaml").realdirpath.to_s
|
48
|
+
end
|
49
|
+
|
33
50
|
def define
|
34
51
|
|
35
52
|
desc "Create or update stack #{@instance.id}"
|