tass 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5fbaf66a002c23f78ecba2fe3dde0f7dead0214c
4
- data.tar.gz: d0f5de92d5118d377f984c16ff2fc1cd039a5097
3
+ metadata.gz: 7477b740521cfffcab21dc81e51ab3d81c76457d
4
+ data.tar.gz: 724f1459c3ddfa7997e5975d4dc325caeb8e6e14
5
5
  SHA512:
6
- metadata.gz: 14db736a00d63966e69e44854e579597b2a9ecc5c6730c6c99178eef09ef5d0da701f8a98c07cc73795d0a28739197d3c58e952aa95fc0279e8a1af48bf4d63c
7
- data.tar.gz: d77038de3412e14e46ed9c394a709b2bb9cc09ce91e0dec9b93c48a5b43e2b44db8f891642367f9c1011a0a6c8d5ac5a4350d02fa2a6604cedc761ee8632a7b5
6
+ metadata.gz: c09942370add8729fbf7480e1819da06b1029d3aee25677d670886f1eb82f457146013d2cd3e05d37cfa899cf7b1f9b4aec7045d6a87b1e05513c1814eabc8bf
7
+ data.tar.gz: c65b5f549e3ece2517df0ff1d0c70fcd8191f71d6070d32b3823070d77e0d4afb5222d1de3fff871f02672232d546059f194cdb4fadb4072eba761ac23221dfb
data/bin/tass CHANGED
@@ -11,16 +11,6 @@ def confirm_config(aws_env, misc_config, opts)
11
11
  end
12
12
  end
13
13
 
14
- def supported_envs(listing)
15
- envs = []
16
- Dir.entries("#{listing}/config/common").each do |file|
17
- next unless file.end_with?('yaml')
18
- next if file.start_with?('defaults')
19
- envs << file.chomp!('.yaml')
20
- end
21
- envs
22
- end
23
-
24
14
  SUB_COMMANDS = %w(create update audit)
25
15
  Trollop::options do
26
16
  usage '[SUB_COMMAND] [options]'
@@ -39,17 +29,12 @@ when 'create'
39
29
 
40
30
  opt :filename, 'Specify config file to load', type: :string, required: true
41
31
  opt :config_dir, 'Specify the directory for configuration files', type: :string, short: :none, default: Tapjoy::AutoscalingBootstrap.config_dir
42
- opt :env, 'Specify which environment config to load', required: true, type: :string
32
+ opt :env, 'Specify which environment config to load', type: :string
43
33
  opt :clobber_elb, 'Force ELB creation', default: false, short: :none
44
34
  opt :clobber_as, 'Force AS group creation', default: false, short: :none
45
35
  opt :prompt, 'Enable/disable prompts', default: true
46
36
  end
47
37
 
48
- env_list = supported_envs(opts[:config_dir])
49
- unless env_list.include?(opts[:env])
50
- Trollop.die :env, "Currently supported enviroments are #{env_list.join(',')}"
51
- end
52
-
53
38
  config, aws_env, user_data = Tapjoy::AutoscalingBootstrap::Base.new.configure_environment(opts[:filename], opts[:env], opts[:config_dir])
54
39
  Aws.config[:region] = config[:aws_region]
55
40
  confirm_config(aws_env, config, opts)
@@ -63,15 +48,10 @@ when 'update'
63
48
  synopsis 'This command creates new launch configurations based on existing autoscaling groups using local instance configuration files as overrides.'
64
49
  opt :filename, 'Specify config file to load', type: :string, required: true
65
50
  opt :config_dir, 'Specify the directory for configuration files', type: :string, short: :none, default: Tapjoy::AutoscalingBootstrap.config_dir
66
- opt :env, 'Specify which environment config to load', required: true, type: :string
51
+ opt :env, 'Specify which environment config to load', type: :string
67
52
  opt :prompt, 'Enable/disable prompts', default: true
68
53
  end
69
54
 
70
- env_list = supported_envs(opts[:config_dir])
71
- unless env_list.include?(opts[:env])
72
- Trollop.die :env, "Currently supported enviroments are #{env_list.join(',')}"
73
- end
74
-
75
55
  config, aws_env, user_data = Tapjoy::AutoscalingBootstrap::Base.new.configure_environment(opts[:filename], opts[:env], opts[:config_dir])
76
56
  Aws.config[:region] = config[:aws_region]
77
57
  confirm_config(aws_env, config, opts)
@@ -3,7 +3,7 @@ module Tapjoy
3
3
  module Version
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- PATCH = 2
6
+ PATCH = 3
7
7
  end
8
8
 
9
9
  VERSION = [Version::MAJOR, Version::MINOR, Version::PATCH].join('.')
@@ -63,6 +63,24 @@ module Tapjoy
63
63
  def config_dir
64
64
  @config_dir ||= ENV['TASS_CONFIG_DIR'] || "#{ENV['HOME']}/.tass"
65
65
  end
66
+
67
+ def is_valid_env?(config_dir, env)
68
+ env_list = self.supported_envs(config_dir)
69
+ puts config_dir
70
+ unless env_list.include?(env)
71
+ Trollop.die :env, "Currently supported enviroments are #{env_list.join(',')}"
72
+ end
73
+ end
74
+
75
+ def supported_envs(listing)
76
+ envs = []
77
+ Dir.entries("#{listing}/config/common").each do |file|
78
+ next unless file.end_with?('yaml')
79
+ next if file.start_with?('defaults')
80
+ envs << file.chomp!('.yaml')
81
+ end
82
+ envs
83
+ end
66
84
  end
67
85
 
68
86
  # Base class for generic methods used throughout the gem
@@ -136,9 +154,12 @@ module Tapjoy
136
154
  end
137
155
 
138
156
  # configure environment
139
- def configure_environment(filename, env, config_dir)
157
+ def configure_environment(filename, env=nil, config_dir)
140
158
  defaults_hash = self.load_yaml("#{config_dir}/config/common/defaults.yaml")
141
159
  facet_hash = self.load_yaml("#{config_dir}/config/clusters/#{filename}")
160
+ env ||= facet_hash[:environment]
161
+ env ||= defaults_hash[:environment]
162
+ Tapjoy::AutoscalingBootstrap.is_valid_env?(config_dir, env)
142
163
  env_hash = self.load_yaml("#{config_dir}/config/common/#{env}.yaml")
143
164
 
144
165
  new_config = defaults_hash.merge!(env_hash).merge(facet_hash)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tass
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ali Tayarani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-31 00:00:00.000000000 Z
11
+ date: 2015-08-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trollop