appd 0.1.0 → 0.2.0

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
  SHA1:
3
- metadata.gz: e1656bfcdc436c2600a34ba704e9cfb1ce63399e
4
- data.tar.gz: 921eb8e3b20f57cc475982206dcd066f2e7c33f4
3
+ metadata.gz: 7c0025d6faffd9c1825ba8d05315bbb180941ea3
4
+ data.tar.gz: 2cedd6ff443e412f8a5494c92074942b0f6edd80
5
5
  SHA512:
6
- metadata.gz: ceca0525ed9c562377f115d660c292bd286a775dcee461fdf8e78810548054545545074181b90862d5618121f83e811e3d4f3492de5eb33e1a8ffa5254525809
7
- data.tar.gz: 33c4be8b35bc41f6921dd826842da0f2ac9471ca70fdb018770a25cda26d2a5156c39aeb8cd5ae5b9d75fe3d4a66d01442042fa59809daac50a44b7ce2e3bd07
6
+ metadata.gz: 90b001ec99f3a9872dbc683955eff265e5b78ae506680c53e4cd13d2783e2b239134b41aa8a32ea086ffd3a6ddb224997b498771cee58e9702ead3c9af025303
7
+ data.tar.gz: 73e58b396843e97bf42e5115d931083a878cc210faf874beaa52b24a7063ab6f073a9d33a858011cc6868603beca1fcf791ba71e6ff6db16d1e3e301a0f24057
data/appd.gemspec CHANGED
@@ -22,4 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_development_dependency "bundler", "~> 1.11"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
24
  spec.add_development_dependency "rspec", "~> 3.0"
25
+
26
+ spec.add_runtime_dependency "thor", "~> 0.19"
25
27
  end
data/exe/appd ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Exit cleanly from an early interrupt
4
+ Signal.trap("INT") { exit 1 }
5
+
6
+ require "appd"
7
+ require "appd/cli"
8
+
9
+ if ARGV[0] != "help" && app_name = ARGV.shift
10
+ ARGV << "--app"
11
+ ARGV << app_name
12
+ end
13
+
14
+ Appd::CLI.start(ARGV, debug: true)
data/lib/appd/app.rb CHANGED
@@ -33,7 +33,7 @@ module Appd
33
33
  private
34
34
 
35
35
  def docker_compose(command)
36
- puts `direnv exec $APP_PATH/#{name} docker-compose -f $APP_PATH/#{name}/docker-compose.yml #{command}`
36
+ Appd.exec "direnv exec $APP_PATH/#{name} docker-compose -f $APP_PATH/#{name}/docker-compose.yml #{command}"
37
37
  end
38
38
  end
39
39
  end
data/lib/appd/cli.rb ADDED
@@ -0,0 +1,55 @@
1
+ require "thor"
2
+
3
+ module Appd
4
+ class CLI < Thor
5
+ class_option :app, type: :string, hide: true, required: ARGV.count > 0 && ARGV[0] != 'help'
6
+
7
+ default_task :help
8
+
9
+ desc "help", "Show this help"
10
+ def help
11
+ puts "Usage:"
12
+ puts " appd APPNAME command\n\n"
13
+ puts "Commands:"
14
+ self.class.commands.each { |_, command| printf "%-30s %s\n", " #{command.usage} ", "# #{command.description}" }
15
+ end
16
+
17
+ desc "ps", "List containers"
18
+ def ps
19
+ app.ps
20
+ end
21
+
22
+ desc "build SERVICES", "Build or rebuild services"
23
+ def build(*services)
24
+ app.build(*services)
25
+ end
26
+
27
+ desc "up SERVICES", "Create and start services"
28
+ def up(*services)
29
+ app.up(*services)
30
+ end
31
+
32
+ desc "stop SERVICES", "Stop services"
33
+ def stop(*services)
34
+ app.stop(*services)
35
+ end
36
+
37
+ desc "restart SERVICES", "Restart services"
38
+ def restart(*services)
39
+ app.restart(*services)
40
+ end
41
+
42
+ desc "exec SERVICE COMMAND", "Execute a command in a running container"
43
+ def exec(service, *command_args)
44
+ app.exec(service, command_args.join(" "))
45
+ end
46
+
47
+ private
48
+
49
+ no_tasks do
50
+ def app
51
+ Appd::App.new(options.app)
52
+ end
53
+ end
54
+ end
55
+ end
data/lib/appd/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Appd
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/appd.rb CHANGED
@@ -5,4 +5,8 @@ module Appd
5
5
  def self.docker_select(server)
6
6
  puts `source ~/.appd/#{server}`
7
7
  end
8
+
9
+ def self.exec(command)
10
+ super command
11
+ end
8
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Morgan Showman
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-09 00:00:00.000000000 Z
11
+ date: 2016-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,10 +52,25 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: thor
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.19'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.19'
55
69
  description: Docker compose wrapper for managing containers.
56
70
  email:
57
71
  - morganshowman@gmail.com
58
- executables: []
72
+ executables:
73
+ - appd
59
74
  extensions: []
60
75
  extra_rdoc_files: []
61
76
  files:
@@ -70,8 +85,10 @@ files:
70
85
  - appd.gemspec
71
86
  - bin/console
72
87
  - bin/setup
88
+ - exe/appd
73
89
  - lib/appd.rb
74
90
  - lib/appd/app.rb
91
+ - lib/appd/cli.rb
75
92
  - lib/appd/version.rb
76
93
  homepage: https://github.com/MorganShowman/appd
77
94
  licenses:
@@ -93,8 +110,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
110
  version: '0'
94
111
  requirements: []
95
112
  rubyforge_project:
96
- rubygems_version: 2.5.1
113
+ rubygems_version: 2.4.5.1
97
114
  signing_key:
98
115
  specification_version: 4
99
116
  summary: Docker compose wrapper for managing containers.
100
117
  test_files: []
118
+ has_rdoc: