brig 0.0.0.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.
@@ -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: