engineyard 2.0.0.pre1 → 2.0.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +39 -136
- data/bin/ey_perftools +12 -0
- data/lib/engineyard.rb +0 -2
- data/lib/engineyard/cli.rb +3 -4
- data/lib/engineyard/cli/api.rb +3 -2
- data/lib/engineyard/commands/deploy.rb +0 -0
- data/lib/engineyard/thor.rb +7 -3
- data/lib/engineyard/version.rb +1 -1
- data/spec/engineyard/cli/api_spec.rb +6 -0
- data/spec/ey/deploy_spec.rb +6 -0
- data/spec/ey/ssh_spec.rb +6 -6
- metadata +24 -37
- data/lib/vendor/thor/LICENSE.md +0 -20
- data/lib/vendor/thor/README.md +0 -26
- data/lib/vendor/thor/lib/thor.rb +0 -379
- data/lib/vendor/thor/lib/thor/actions.rb +0 -318
- data/lib/vendor/thor/lib/thor/actions/create_file.rb +0 -105
- data/lib/vendor/thor/lib/thor/actions/create_link.rb +0 -57
- data/lib/vendor/thor/lib/thor/actions/directory.rb +0 -97
- data/lib/vendor/thor/lib/thor/actions/empty_directory.rb +0 -153
- data/lib/vendor/thor/lib/thor/actions/file_manipulation.rb +0 -308
- data/lib/vendor/thor/lib/thor/actions/inject_into_file.rb +0 -109
- data/lib/vendor/thor/lib/thor/base.rb +0 -611
- data/lib/vendor/thor/lib/thor/core_ext/file_binary_read.rb +0 -9
- data/lib/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -75
- data/lib/vendor/thor/lib/thor/core_ext/ordered_hash.rb +0 -100
- data/lib/vendor/thor/lib/thor/error.rb +0 -35
- data/lib/vendor/thor/lib/thor/group.rb +0 -285
- data/lib/vendor/thor/lib/thor/invocation.rb +0 -170
- data/lib/vendor/thor/lib/thor/parser.rb +0 -4
- data/lib/vendor/thor/lib/thor/parser/argument.rb +0 -67
- data/lib/vendor/thor/lib/thor/parser/arguments.rb +0 -165
- data/lib/vendor/thor/lib/thor/parser/option.rb +0 -121
- data/lib/vendor/thor/lib/thor/parser/options.rb +0 -181
- data/lib/vendor/thor/lib/thor/rake_compat.rb +0 -71
- data/lib/vendor/thor/lib/thor/runner.rb +0 -321
- data/lib/vendor/thor/lib/thor/shell.rb +0 -88
- data/lib/vendor/thor/lib/thor/shell/basic.rb +0 -331
- data/lib/vendor/thor/lib/thor/shell/color.rb +0 -108
- data/lib/vendor/thor/lib/thor/shell/html.rb +0 -121
- data/lib/vendor/thor/lib/thor/task.rb +0 -132
- data/lib/vendor/thor/lib/thor/util.rb +0 -248
- data/lib/vendor/thor/lib/thor/version.rb +0 -3
data/README.rdoc
CHANGED
@@ -28,9 +28,12 @@ The ey.yml file allows options to be saved for each environment to which an appl
|
|
28
28
|
copy_exclude: # don't rsync the following dirs
|
29
29
|
- .git
|
30
30
|
verbose: true # always run verbose deploy (unless overriden on command line)
|
31
|
+
maintenance_on_restart: false # show maintenance page during app restart (default: false except for glassfish and mongrel)
|
32
|
+
maintenance_on_migrate: false # show maintenance page during migrations (default: true)
|
33
|
+
precompile_assets: true # enables rails assets precompilation (default: inferred using app/assets and config/application.rb)
|
34
|
+
ignore_database_adapter_warning: true # hide database adapter warning if you don't use MySQL or PostgreSQL (default: false)
|
31
35
|
|
32
|
-
|
33
|
-
This ey.yml file will turn off default migrations, set the default command to "rake fancy:migrate" and set the default deploy branch to "deploy".
|
36
|
+
Many of the options in ey.yml will only work if the file is committed to your application repository. Make sure to commit this file.
|
34
37
|
|
35
38
|
== Commands
|
36
39
|
|
@@ -38,34 +41,39 @@ Command:
|
|
38
41
|
ey deploy
|
39
42
|
|
40
43
|
Options:
|
41
|
-
-r, --
|
42
|
-
|
43
|
-
-v, [--verbose] # Be verbose
|
44
|
+
-r, [--ref=REF] [--branch=] [--tag=] # Git ref to deploy. May be a branch, a tag, or a SHA.
|
45
|
+
-c, [--account=ACCOUNT] # Name of the account in which the environment can be found
|
44
46
|
-a, [--app=APP] # Name of the application to deploy
|
47
|
+
-e, [--environment=ENVIRONMENT] # Environment in which to deploy this application
|
45
48
|
-m, [--migrate=MIGRATE] # Run migrations via [MIGRATE], defaults to 'rake db:migrate'; use --no-migrate to avoid running migrations
|
49
|
+
-v, [--verbose] # Be verbose
|
46
50
|
[--ignore-default-branch] # Force a deploy of the specified branch even if a default is set
|
47
|
-
|
48
|
-
-c, [--account=ACCOUNT] # Name of the account in which the environment can be found
|
51
|
+
[--ignore-bad-master] # Force a deploy even if the master is in a bad state
|
49
52
|
[--extra-deploy-hook-options key:val] # Additional options to be made available in deploy hooks (in the 'config' hash)
|
53
|
+
# Add more keys as follows: --extra-deploy-hook-options key1:val1 key2:val2
|
50
54
|
|
51
55
|
|
52
56
|
Description:
|
53
|
-
This command must be run
|
57
|
+
This command must be run within the current directory containing the app to be
|
54
58
|
deployed. If ey.yml specifies a default branch then the ref parameter can be
|
55
59
|
omitted. Furthermore, if a default branch is specified but a different
|
56
60
|
command is supplied the deploy will fail unless --ignore-default-branch
|
57
61
|
is used.
|
58
62
|
|
59
|
-
|
60
|
-
|
61
|
-
be skipped entirely
|
63
|
+
If ey.yml does not specify a default migrate choice, you will be prompted to
|
64
|
+
specify a migration choice. A different command can later be specified via
|
65
|
+
--migrate "ruby do_migrations.rb". Migrations can also be skipped entirely
|
66
|
+
by using --no-migrate.
|
62
67
|
|
63
68
|
Command:
|
64
69
|
ey environments
|
65
70
|
|
66
71
|
Options:
|
67
|
-
-
|
68
|
-
-a, [--
|
72
|
+
-c, [--account=ACCOUNT] # Name of the account in which the environment can be found
|
73
|
+
-a, [--app=APP] # Name of the application containing the environments
|
74
|
+
-e, [--environment=ENVIRONMENT] # Show only environments matching named environment
|
75
|
+
-s, [--simple] # Print each environment name on its own on a new line
|
76
|
+
-a, [--all] # Show all environments, not just ones associated with this application.
|
69
77
|
|
70
78
|
Description:
|
71
79
|
By default, environments for this app are displayed. The --all option will display all environments, including those for this app.
|
@@ -162,8 +170,11 @@ Command:
|
|
162
170
|
The maintenance page is taken from the app currently being deployed. This means that you can customize maintenance pages to tell users the reason for downtime on every
|
163
171
|
particular deploy.
|
164
172
|
|
165
|
-
Maintenance pages searched for in order of decreasing priority:
|
166
|
-
|
173
|
+
Maintenance pages searched for in order of decreasing priority:
|
174
|
+
* public/maintenance.html.custom
|
175
|
+
* public/maintenance.html.tmp
|
176
|
+
* public/maintenance.html
|
177
|
+
* public/system/maintenance.html.default
|
167
178
|
|
168
179
|
Command:
|
169
180
|
ey ssh
|
@@ -217,129 +228,21 @@ Command:
|
|
217
228
|
|
218
229
|
== API Client
|
219
230
|
|
220
|
-
|
221
|
-
|
222
|
-
Setup:
|
223
|
-
|
224
|
-
token = EY::CloudClient.authenticate("your@email.com", "password")
|
225
|
-
ey_api = EY::CloudClient.new(token)
|
226
|
-
|
227
|
-
Current User:
|
228
|
-
|
229
|
-
user = ey_api.current_user
|
230
|
-
user.class # => EY::CloudClient::User
|
231
|
-
user.name # => "Your Name"
|
232
|
-
user.email # => "your@email.com"
|
233
|
-
|
234
|
-
Apps:
|
235
|
-
|
236
|
-
apps = ey_api.apps # loads all your app data at once; caches result
|
237
|
-
|
238
|
-
app = apps.find {|app| app.name == 'myapp'}
|
239
|
-
app.class # => EY::CloudClient::App
|
240
|
-
app.name # => 'myapp'
|
241
|
-
app.id # => 123
|
242
|
-
app.repository_uri # => git@github.com:myaccount/myapp.git
|
243
|
-
|
244
|
-
app.account.class # => EY::CloudClient::Account
|
245
|
-
|
246
|
-
app.app_environments.first.class # => EY::CloudClient::AppEnvironment
|
247
|
-
app.app_environments.map {|e| e.environment.name} # => ['myapp_production', 'myapp_staging']
|
248
|
-
|
249
|
-
Create a new application (to be booted within Environments):
|
250
|
-
|
251
|
-
account = EY::CloudClient::Account.new(ey_api, {:id => 4212, :name => 'drnic'})
|
252
|
-
app = EY::CloudClient::App.create(ey_api,
|
253
|
-
"account" => account
|
254
|
-
"name" => "myapp",
|
255
|
-
"repository_uri" => "git@github.com:mycompany/myapp.git",
|
256
|
-
"app_type_id" => "rails3",
|
257
|
-
})
|
258
|
-
|
259
|
-
Valid `app_type_id` are: `rack, rails2, rails3, rails4, sinatra, nodejs`. For some your account may require an early access feature to be enabled.
|
260
|
-
|
261
|
-
Accounts:
|
262
|
-
|
263
|
-
account = app.account
|
264
|
-
account.class # => EY::CloudClient::Account
|
265
|
-
account.id # => 1234
|
266
|
-
account.name # => 'myaccount'
|
267
|
-
|
268
|
-
Keypairs:
|
269
|
-
|
270
|
-
Upload your SSH public keys before you create Environments.
|
271
|
-
|
272
|
-
keypair = EY::CloudClient::Keypair.create(ey_api, {
|
273
|
-
"name" => 'laptop',
|
274
|
-
"public_key" => "ssh-rsa OTHERKEYPAIR"
|
275
|
-
})
|
276
|
-
|
277
|
-
Environments:
|
278
|
-
|
279
|
-
envs = ey_api.environments # loads all your environment data at once; caches result
|
280
|
-
|
281
|
-
env = envs.find {|e| e.name == 'myapp_production'}
|
282
|
-
env.class # => EY::CloudClient::Environment
|
283
|
-
env.name # => 'myapp_production'
|
284
|
-
env.id # => 2345
|
285
|
-
env.framework_env # => "production"
|
286
|
-
env.app_server_stack_name # => "nginx_thin"
|
287
|
-
env.deployment_configurations # => {"myapp"=>{"name"=>"myapp", "uri"=>nil, "migrate"=>{"command"=>"rake db:migrate", "perform"=>false}, "repository_uri"=>"git@github.com:myaccount/myapp.git", "id"=>123, "domain_name"=>"_"}}
|
288
|
-
env.load_balancer_ip_address # => "1.2.3.4"
|
289
|
-
|
290
|
-
# if environment isn't booted
|
291
|
-
env.instances_count # => 0
|
292
|
-
env.app_master # => nil
|
293
|
-
env.instances.count # => []
|
294
|
-
|
295
|
-
# if environment is booted
|
296
|
-
env.instances_count # => 1
|
297
|
-
env.app_master.class # => EY::CloudClient::Instance
|
298
|
-
env.instances.first.class # => EY::CloudClient::Instance
|
299
|
-
|
300
|
-
Create a new environment (for a given App):
|
301
|
-
|
302
|
-
app = EY::CloudClient::App.new(ey_api, {:id => 4212, :name => 'drnic'})
|
303
|
-
env = EY::CloudClient::Environment.create(ey_api,
|
304
|
-
"app" => app,
|
305
|
-
"name" => 'myapp_production',
|
306
|
-
"app_server_stack_name" => 'nginx_thin', # default: nginx_passenger3
|
307
|
-
"region" => 'us-west-1', # default: us-east-1
|
308
|
-
"framework_env" => 'staging' # default: production
|
309
|
-
})
|
310
|
-
|
311
|
-
|
312
|
-
Valid `app_server_stack_name` values: `nginx_unicorn, nginx_passenger3, nginx_nodejs, nginx_thin, nginx_puma`. For some your account may require an early access feature to be enabled.
|
313
|
-
|
314
|
-
Instances:
|
315
|
-
|
316
|
-
instance = env.instances.first
|
317
|
-
instance.class # => EY::CloudClient::Instance
|
318
|
-
instance.id # => 12345
|
319
|
-
instance.role # => "solo"
|
320
|
-
instance.status # => "running"
|
321
|
-
instance.amazon_id # => "i-abcdefg"
|
322
|
-
instance.hostname # => "ec2-1-2-3-4.compute-1.amazonaws.com"
|
323
|
-
instance.public_hostname # => "ec2-1-2-3-4.compute-1.amazonaws.com" # alias of hostname
|
324
|
-
|
325
|
-
Debugging:
|
326
|
-
|
327
|
-
Setup for debugging:
|
231
|
+
See https://github.com/engineyard/engineyard-cloud-client for the API client library.
|
328
232
|
|
329
|
-
|
330
|
-
require 'engineyard/cli'
|
331
|
-
EY.ui = EY::CLI::UI.new
|
233
|
+
== DEBUG
|
332
234
|
|
333
|
-
The API commands will print internal information:
|
235
|
+
The API commands will print internal information if $DEBUG is set:
|
334
236
|
|
335
|
-
|
237
|
+
DEBUG=1 ey environments --all
|
336
238
|
Token YOURTOKEN
|
337
|
-
Request
|
338
|
-
Params {
|
239
|
+
Request GET https://cloud.engineyard.com/api/v2/apps
|
240
|
+
Params {}
|
339
241
|
Response
|
340
|
-
{"
|
341
|
-
{"environments"=>[],
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
242
|
+
{"apps"=>
|
243
|
+
[{"environments"=>[],
|
244
|
+
"name"=>"myapp",
|
245
|
+
"repository_uri"=>"git@github.com:myaccount/myapp.git",
|
246
|
+
"app_type_id"=>"rails3",
|
247
|
+
"account"=>{"name"=>"myaccount", "id"=>1234},
|
248
|
+
"id"=>12345}]}
|
data/bin/ey_perftools
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'perftools'
|
3
|
+
PerfTools::CpuProfiler.start("/Users/martinemde/p/ey/engineyard/status_profile")
|
4
|
+
$:.unshift(File.expand_path('../../lib', __FILE__))
|
5
|
+
require 'engineyard/cli'
|
6
|
+
|
7
|
+
begin
|
8
|
+
EY::CLI.start
|
9
|
+
rescue
|
10
|
+
exit(1)
|
11
|
+
end
|
12
|
+
PerfTools::CpuProfiler.stop
|
data/lib/engineyard.rb
CHANGED
data/lib/engineyard/cli.rb
CHANGED
@@ -32,6 +32,8 @@ module EY
|
|
32
32
|
raise
|
33
33
|
end
|
34
34
|
|
35
|
+
class_option :api_token, :type => :string, :desc => "Use API-TOKEN to authenticate this command"
|
36
|
+
|
35
37
|
desc "deploy [--environment ENVIRONMENT] [--ref GIT-REF]",
|
36
38
|
"Deploy specified branch, tag, or sha to specified environment."
|
37
39
|
long_desc <<-DESC
|
@@ -70,10 +72,7 @@ module EY
|
|
70
72
|
method_option :extra_deploy_hook_options, :type => :hash, :default => {},
|
71
73
|
:desc => "Additional options to be made available in deploy hooks (in the 'config' hash)"
|
72
74
|
def deploy
|
73
|
-
ui.info "Loading application data from EY Cloud..."
|
74
|
-
|
75
75
|
app_env = fetch_app_environment(options[:app], options[:environment], options[:account])
|
76
|
-
app_env.environment.ignore_bad_bridge = options[:ignore_bad_master]
|
77
76
|
|
78
77
|
env_config = config.environment_config(app_env.environment_name)
|
79
78
|
deploy_config = EY::DeployConfig.new(options, env_config, repo, ui)
|
@@ -85,7 +84,7 @@ module EY
|
|
85
84
|
:extra_config => deploy_config.extra_config,
|
86
85
|
})
|
87
86
|
|
88
|
-
runner = serverside_runner(app_env, deploy_config.verbose)
|
87
|
+
runner = serverside_runner(app_env, deploy_config.verbose, options[:ignore_bad_master])
|
89
88
|
|
90
89
|
out = EY::CLI::UI::Tee.new(ui.out, deployment.out)
|
91
90
|
err = EY::CLI::UI::Tee.new(ui.err, deployment.err)
|
data/lib/engineyard/cli/api.rb
CHANGED
@@ -21,11 +21,12 @@ module EY
|
|
21
21
|
|
22
22
|
attr_reader :token
|
23
23
|
|
24
|
-
def initialize(endpoint, ui)
|
24
|
+
def initialize(endpoint, ui, token = nil)
|
25
25
|
@ui = ui
|
26
26
|
EY::CloudClient.endpoint = endpoint
|
27
27
|
|
28
|
-
@token =
|
28
|
+
@token = token # specified on command line
|
29
|
+
@token ||= ENV['ENGINEYARD_API_TOKEN'] if ENV['ENGINEYARD_API_TOKEN']
|
29
30
|
@token ||= EY::EYRC.load.api_token
|
30
31
|
@token ||= self.class.authenticate(ui)
|
31
32
|
|
File without changes
|
data/lib/engineyard/thor.rb
CHANGED
@@ -4,7 +4,7 @@ module EY
|
|
4
4
|
module UtilityMethods
|
5
5
|
protected
|
6
6
|
def api
|
7
|
-
@api ||= EY::CLI::API.new(config.endpoint, ui)
|
7
|
+
@api ||= EY::CLI::API.new(config.endpoint, ui, options[:api_token])
|
8
8
|
end
|
9
9
|
|
10
10
|
def config
|
@@ -28,8 +28,8 @@ module EY
|
|
28
28
|
@repo ||= EY::Repo.new
|
29
29
|
end
|
30
30
|
|
31
|
-
def serverside_runner(app_env, verbose)
|
32
|
-
ServersideRunner.new(app_env.environment.bridge
|
31
|
+
def serverside_runner(app_env, verbose, ignore_bad_bridge = false)
|
32
|
+
ServersideRunner.new(app_env.environment.bridge!(ignore_bad_bridge).hostname, app_env.app, app_env.environment, verbose)
|
33
33
|
end
|
34
34
|
|
35
35
|
def use_default_environment
|
@@ -40,6 +40,8 @@ module EY
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def fetch_environment(environment_name, account_name)
|
43
|
+
ui.info "Loading application data from EY Cloud..."
|
44
|
+
|
43
45
|
environment_name ||= use_default_environment
|
44
46
|
remotes = repo.remotes if in_repo?
|
45
47
|
constraints = {
|
@@ -70,6 +72,8 @@ module EY
|
|
70
72
|
end
|
71
73
|
|
72
74
|
def fetch_app_environment(app_name, environment_name, account_name)
|
75
|
+
ui.info "Loading application data from EY Cloud..."
|
76
|
+
|
73
77
|
environment_name ||= use_default_environment
|
74
78
|
remotes = repo.remotes if in_repo?
|
75
79
|
constraints = {
|
data/lib/engineyard/version.rb
CHANGED
@@ -8,6 +8,12 @@ describe EY::CLI::API do
|
|
8
8
|
clean_eyrc
|
9
9
|
end
|
10
10
|
|
11
|
+
it "uses the token specified token over the ENV token if passed" do
|
12
|
+
ENV['ENGINEYARD_API_TOKEN'] = 'envtoken'
|
13
|
+
EY::CLI::API.new('http://fake.local', EY::CLI::UI.new, 'specifiedtoken').token.should == 'specifiedtoken'
|
14
|
+
ENV.delete('ENGINEYARD_API_TOKEN')
|
15
|
+
end
|
16
|
+
|
11
17
|
it "uses the token from $ENGINEYARD_API_TOKEN if set" do
|
12
18
|
ENV['ENGINEYARD_API_TOKEN'] = 'envtoken'
|
13
19
|
EY::CLI::API.new('http://fake.local', EY::CLI::UI.new).token.should == 'envtoken'
|
data/spec/ey/deploy_spec.rb
CHANGED
@@ -18,6 +18,12 @@ describe "ey deploy without an eyrc file" do
|
|
18
18
|
|
19
19
|
read_eyrc.should == {"api_token" => scenario_api_token}
|
20
20
|
end
|
21
|
+
|
22
|
+
it "uses the token on the command line" do
|
23
|
+
api_scenario "one app, one environment"
|
24
|
+
ey(%w[deploy --no-migrate --api-token] + [scenario_api_token])
|
25
|
+
@ssh_commands.should_not be_empty
|
26
|
+
end
|
21
27
|
end
|
22
28
|
|
23
29
|
|
data/spec/ey/ssh_spec.rb
CHANGED
@@ -153,12 +153,12 @@ end
|
|
153
153
|
describe "ey ssh --all" do
|
154
154
|
before do
|
155
155
|
@ssh_flag = %w[--all]
|
156
|
-
@hosts = %w(app_hostname
|
157
|
-
app_master_hostname
|
158
|
-
util_fluffy_hostname
|
159
|
-
util_rocky_hostname
|
160
|
-
db_master_hostname
|
161
|
-
db_slave_1_hostname
|
156
|
+
@hosts = %w(app_hostname
|
157
|
+
app_master_hostname
|
158
|
+
util_fluffy_hostname
|
159
|
+
util_rocky_hostname
|
160
|
+
db_master_hostname
|
161
|
+
db_slave_1_hostname
|
162
162
|
db_slave_2_hostname)
|
163
163
|
end
|
164
164
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: engineyard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.
|
4
|
+
version: 2.0.0.pre2
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-05-
|
12
|
+
date: 2012-05-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -27,6 +27,22 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 1.6.0
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: thor
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ~>
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.15.2
|
38
|
+
type: :runtime
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.15.2
|
30
46
|
- !ruby/object:Gem::Dependency
|
31
47
|
name: highline
|
32
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,7 +98,7 @@ dependencies:
|
|
82
98
|
requirements:
|
83
99
|
- - '='
|
84
100
|
- !ruby/object:Gem::Version
|
85
|
-
version: 2.0.0.
|
101
|
+
version: 2.0.0.pre2
|
86
102
|
type: :runtime
|
87
103
|
prerelease: false
|
88
104
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -90,7 +106,7 @@ dependencies:
|
|
90
106
|
requirements:
|
91
107
|
- - '='
|
92
108
|
- !ruby/object:Gem::Version
|
93
|
-
version: 2.0.0.
|
109
|
+
version: 2.0.0.pre2
|
94
110
|
- !ruby/object:Gem::Dependency
|
95
111
|
name: engineyard-cloud-client
|
96
112
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,7 +114,7 @@ dependencies:
|
|
98
114
|
requirements:
|
99
115
|
- - ~>
|
100
116
|
- !ruby/object:Gem::Version
|
101
|
-
version: 1.0.
|
117
|
+
version: 1.0.2
|
102
118
|
type: :runtime
|
103
119
|
prerelease: false
|
104
120
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -106,7 +122,7 @@ dependencies:
|
|
106
122
|
requirements:
|
107
123
|
- - ~>
|
108
124
|
- !ruby/object:Gem::Version
|
109
|
-
version: 1.0.
|
125
|
+
version: 1.0.2
|
110
126
|
- !ruby/object:Gem::Dependency
|
111
127
|
name: net-ssh
|
112
128
|
requirement: !ruby/object:Gem::Requirement
|
@@ -308,11 +324,13 @@ extensions: []
|
|
308
324
|
extra_rdoc_files: []
|
309
325
|
files:
|
310
326
|
- bin/ey
|
327
|
+
- bin/ey_perftools
|
311
328
|
- lib/engineyard/cli/api.rb
|
312
329
|
- lib/engineyard/cli/recipes.rb
|
313
330
|
- lib/engineyard/cli/ui.rb
|
314
331
|
- lib/engineyard/cli/web.rb
|
315
332
|
- lib/engineyard/cli.rb
|
333
|
+
- lib/engineyard/commands/deploy.rb
|
316
334
|
- lib/engineyard/config.rb
|
317
335
|
- lib/engineyard/deploy_config/migrate.rb
|
318
336
|
- lib/engineyard/deploy_config/ref.rb
|
@@ -324,37 +342,6 @@ files:
|
|
324
342
|
- lib/engineyard/thor.rb
|
325
343
|
- lib/engineyard/version.rb
|
326
344
|
- lib/engineyard.rb
|
327
|
-
- lib/vendor/thor/lib/thor/actions/create_file.rb
|
328
|
-
- lib/vendor/thor/lib/thor/actions/create_link.rb
|
329
|
-
- lib/vendor/thor/lib/thor/actions/directory.rb
|
330
|
-
- lib/vendor/thor/lib/thor/actions/empty_directory.rb
|
331
|
-
- lib/vendor/thor/lib/thor/actions/file_manipulation.rb
|
332
|
-
- lib/vendor/thor/lib/thor/actions/inject_into_file.rb
|
333
|
-
- lib/vendor/thor/lib/thor/actions.rb
|
334
|
-
- lib/vendor/thor/lib/thor/base.rb
|
335
|
-
- lib/vendor/thor/lib/thor/core_ext/file_binary_read.rb
|
336
|
-
- lib/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb
|
337
|
-
- lib/vendor/thor/lib/thor/core_ext/ordered_hash.rb
|
338
|
-
- lib/vendor/thor/lib/thor/error.rb
|
339
|
-
- lib/vendor/thor/lib/thor/group.rb
|
340
|
-
- lib/vendor/thor/lib/thor/invocation.rb
|
341
|
-
- lib/vendor/thor/lib/thor/parser/argument.rb
|
342
|
-
- lib/vendor/thor/lib/thor/parser/arguments.rb
|
343
|
-
- lib/vendor/thor/lib/thor/parser/option.rb
|
344
|
-
- lib/vendor/thor/lib/thor/parser/options.rb
|
345
|
-
- lib/vendor/thor/lib/thor/parser.rb
|
346
|
-
- lib/vendor/thor/lib/thor/rake_compat.rb
|
347
|
-
- lib/vendor/thor/lib/thor/runner.rb
|
348
|
-
- lib/vendor/thor/lib/thor/shell/basic.rb
|
349
|
-
- lib/vendor/thor/lib/thor/shell/color.rb
|
350
|
-
- lib/vendor/thor/lib/thor/shell/html.rb
|
351
|
-
- lib/vendor/thor/lib/thor/shell.rb
|
352
|
-
- lib/vendor/thor/lib/thor/task.rb
|
353
|
-
- lib/vendor/thor/lib/thor/util.rb
|
354
|
-
- lib/vendor/thor/lib/thor/version.rb
|
355
|
-
- lib/vendor/thor/lib/thor.rb
|
356
|
-
- lib/vendor/thor/LICENSE.md
|
357
|
-
- lib/vendor/thor/README.md
|
358
345
|
- LICENSE
|
359
346
|
- README.rdoc
|
360
347
|
- spec/engineyard/cli/api_spec.rb
|