ops_worker 0.0.2 → 0.0.3

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.
data/bin/ops_worker ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.expand_path('../../lib', __FILE__))
3
+ require 'ops_worker'
4
+ require 'ops_worker/cli'
5
+
6
+ begin
7
+ OpsWorker::CLI.start()
8
+ rescue
9
+ exit(1)
10
+ end
@@ -0,0 +1,39 @@
1
+ require 'trollop'
2
+
3
+ module OpsWorker
4
+ class CLI
5
+ def self.start
6
+ client = OpsWorker::Client.new
7
+
8
+ sub_commands = ["deploy", "rollback", "update_cookbooks", "execute_recipe"]
9
+ opts = Trollop::options do
10
+ banner "ops_worker AWS OpsWorks helper"
11
+ opt :app, "Application", :type => :string, :short => :a, :required => true
12
+ stop_on sub_commands
13
+ end
14
+
15
+ command = ARGV.shift()
16
+
17
+ app = client.find_app_by_name(opts[:app])
18
+
19
+ case command
20
+ when "deploy"
21
+ command_opts = Trollop::options do
22
+ opt :branch, :type => :string
23
+ end
24
+ app.deploy(command_opts[:branch])
25
+ when "rollback"
26
+ app.rollback()
27
+ when "update_cookbooks"
28
+ app.update_cookbooks()
29
+ when "execute_recipe"
30
+ command_opts = Trollop::options do
31
+ opt :recipe_name, :type => :string, :required => true
32
+ end
33
+ app.execute_recipes([command_opts[:recipe_name]])
34
+ else
35
+ Trollop::die("Unknown command #{command}")
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,3 +1,3 @@
1
1
  module OpsWorker
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
data/lib/ops_worker.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  $LOAD_PATH << File.dirname(__FILE__)
2
2
  require 'ops_worker/app'
3
+ require 'ops_worker/cli'
3
4
  require 'ops_worker/client'
4
5
  require 'ops_worker/deployment_status'
5
6
  require 'ops_worker/instance'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_worker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -27,6 +27,22 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: trollop
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
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'
30
46
  - !ruby/object:Gem::Dependency
31
47
  name: rspec
32
48
  requirement: !ruby/object:Gem::Requirement
@@ -45,11 +61,13 @@ dependencies:
45
61
  version: '0'
46
62
  description: A simple wrapper for common OpsWorks tasks.
47
63
  email: jon@appboy.com
48
- executables: []
64
+ executables:
65
+ - ops_worker
49
66
  extensions: []
50
67
  extra_rdoc_files: []
51
68
  files:
52
69
  - lib/ops_worker/app.rb
70
+ - lib/ops_worker/cli.rb
53
71
  - lib/ops_worker/client.rb
54
72
  - lib/ops_worker/deployment_status.rb
55
73
  - lib/ops_worker/instance.rb
@@ -59,6 +77,7 @@ files:
59
77
  - lib/ops_worker/version.rb
60
78
  - lib/ops_worker.rb
61
79
  - README.md
80
+ - bin/ops_worker
62
81
  homepage: https://github.com/jonhyman/opsworker
63
82
  licenses: []
64
83
  post_install_message: