brig 0.0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ module Brig
2
+ require 'brigfile'
3
+
4
+ require 'brig/gem'
5
+ require 'brig/cli'
6
+
7
+ # ...
8
+ end
@@ -0,0 +1,67 @@
1
+ module Brig
2
+ module CommandLineInterface
3
+ # TODO(mtwilliams): Use Thor.
4
+ require 'gli'
5
+ include GLI::App
6
+ extend self
7
+
8
+ # program_name Brig::Gem.name
9
+ version Brig::Gem.version.to_s
10
+ program_desc Brig::Gem.summary
11
+ program_long_desc Brig::Gem.description
12
+
13
+ # TODO(mtwilliams): Use custom exception types and refactor out error
14
+ # messages. This will allow us to localize, among other things.
15
+
16
+ pre do
17
+ Brigfile.load(global_opts[:file] || 'Brigfile')
18
+ end
19
+
20
+ desc 'Validate your application\'s Brigfile'
21
+ command [:check] do |check|
22
+ check.action do |global_opts, opts, args|
23
+ # This is just a pseudo command, we load and validate the Brigfile in
24
+ # our pre-command hook.
25
+ end
26
+ end
27
+
28
+ desc 'Start processes and services'
29
+ command [:up] do |check|
30
+ check.action do |global_opts, opts, args|
31
+ raise "Not implemented, yet."
32
+ end
33
+ end
34
+
35
+ desc 'Stop processes and services'
36
+ command [:down] do |check|
37
+ check.action do |global_opts, opts, args|
38
+ raise "Not implemented, yet."
39
+ end
40
+ end
41
+
42
+ desc 'Set number of containers for processes and services'
43
+ command [:scale] do |check|
44
+ check.action do |global_opts, opts, args|
45
+ raise "Not implemented, yet."
46
+ end
47
+ end
48
+
49
+ desc 'View output from processes and services'
50
+ command [:logs] do |check|
51
+ check.action do |global_opts, opts, args|
52
+ raise "Not implemented, yet."
53
+ end
54
+ end
55
+
56
+ desc 'Deploy your application'
57
+ command [:deploy] do |check|
58
+ check.action do |global_opts, opts, args|
59
+ # TODO(mtwilliams): Amazon AWS.
60
+ # TODO(mtwilliams): DigitalOcean.
61
+ # TODO(mtwilliams): Linode.
62
+ # TODO(mtwilliams): Rackspace.
63
+ raise "Not implemented, yet."
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,58 @@
1
+ require 'ostruct'
2
+
3
+ module Brig
4
+ module Gem
5
+ # The name (and slug) of this Gem.
6
+ def self.name
7
+ "brig"
8
+ end
9
+
10
+ # The name and email address of the primary author.
11
+ def self.author
12
+ self.authors.first
13
+ end
14
+
15
+ # The name and email addresses of all authors.
16
+ def self.authors
17
+ [["Michael Williams", "m.t.williams@live.com"]].map do |author|
18
+ name, email = author
19
+ OpenStruct.new(name: name, email: email)
20
+ end
21
+ end
22
+
23
+ # This Gem's homepage URL.
24
+ def self.homepage
25
+ "http://brig.io/"
26
+ end
27
+
28
+ # This Gem's URL.
29
+ def self.url
30
+ "https://rubygems.org/gems/#{self.name}"
31
+ end
32
+
33
+ # A short summary of this Gem.
34
+ def self.summary
35
+ "Declaratively provision and run containers for your apps and supporting services."
36
+ end
37
+
38
+ # A full description of this Gem.
39
+ def self.description
40
+ "Brig is a simple way to declaratively provision and run containers for your apps and supporting services."
41
+ end
42
+
43
+ module VERSION #:nodoc:
44
+ MAJOR, MINOR, PATCH, PRE = [0, 0, 0, 0]
45
+ STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
46
+ end
47
+
48
+ # The semantic version of the this Gem.
49
+ def self.version
50
+ Gem::VERSION::STRING
51
+ end
52
+
53
+ # The license covering this Gem.
54
+ def self.license
55
+ "Public Domain"
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,12 @@
1
+ class Brigfile
2
+ attr_reader :path
3
+
4
+ def initialize(path)
5
+ @path = path
6
+ raise "Brigfile does not exist." unless File.exists?(@path)
7
+ end
8
+
9
+ def self.load(path)
10
+ Brigfile.new(path)
11
+ end
12
+ end
metadata ADDED
@@ -0,0 +1,117 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: brig
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Williams
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: gli
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: cucumber
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: aruba
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: Brig is a simple way to declaratively provision and run containers for
70
+ your apps and supporting services.
71
+ email: m.t.williams@live.com
72
+ executables:
73
+ - brig
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - ".gitignore"
78
+ - AUTHORS
79
+ - COPYING
80
+ - Gemfile
81
+ - Gemfile.lock
82
+ - README.md
83
+ - Rakefile
84
+ - bin/brig
85
+ - brig.gemspec
86
+ - brig.sublime-project
87
+ - brig.sublime-workspace
88
+ - lib/brig.rb
89
+ - lib/brig/cli.rb
90
+ - lib/brig/gem.rb
91
+ - lib/brigfile.rb
92
+ homepage: http://brig.io/
93
+ licenses:
94
+ - Public Domain
95
+ metadata: {}
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 2.0.0
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubyforge_project:
112
+ rubygems_version: 2.4.6
113
+ signing_key:
114
+ specification_version: 4
115
+ summary: Declaratively provision and run containers for your apps and supporting services.
116
+ test_files: []
117
+ has_rdoc: