cm 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4e10f7301cd425c07ffa86b5994d070ebf8214cc
4
+ data.tar.gz: 0b2f2d62326895b84b00d0ea47a250a4999fbf31
5
+ SHA512:
6
+ metadata.gz: 13af9ab9f876ec30b132822da66f10179c54f4af0ea3c73f464611f260202bf8f5dd94c0ada475eabe2e6681465fd75ca2e334fdede7e11e275bc09c64498d47
7
+ data.tar.gz: 3a86e9e75eccba109151916978dfb0f77c27b0d14017db0201470f7b74c99bea19e3e287ee328af87a0d496fd2f02c242ac58322a30c7e7cef0d4d26ec9595a9
data/.gitignore ADDED
@@ -0,0 +1,50 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # bundler
6
+ .bundle
7
+
8
+ # jeweler generated
9
+ pkg
10
+
11
+ # Gem builds
12
+ *.gem
13
+
14
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
15
+ #
16
+ # * Create a file at ~/.gitignore
17
+ # * Include files you want ignored
18
+ # * Run: git config --global core.excludesfile ~/.gitignore
19
+ #
20
+ # After doing this, these files will be ignored in all your git projects,
21
+ # saving you from having to 'pollute' every project you touch with them
22
+ #
23
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
24
+ #
25
+ # For MacOS:
26
+ #
27
+ #.DS_Store
28
+
29
+ # For TextMate
30
+ #*.tmproj
31
+ #tmtags
32
+
33
+ # For emacs:
34
+ #*~
35
+ #\#*
36
+ #.\#*
37
+
38
+ # For vim:
39
+ #*.swp
40
+
41
+ # For rubinius:
42
+ #*.rbc
43
+
44
+ # For Eclipse IDE:
45
+ .project
46
+ .buildpath
47
+ .cache
48
+
49
+ # Nucleon files
50
+ .project_cache
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "nucleon", "~> 0.2"
4
+
5
+ group :development do
6
+ gem "bundler", "~> 1.7"
7
+ gem "jeweler", "~> 2.0"
8
+ gem "rspec", "~> 3.1"
9
+ gem "rdoc", "~> 3.12"
10
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,120 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.8)
5
+ builder (3.2.2)
6
+ celluloid (0.17.2)
7
+ celluloid-essentials
8
+ celluloid-extras
9
+ celluloid-fsm
10
+ celluloid-pool
11
+ celluloid-supervision
12
+ timers (>= 4.1.1)
13
+ celluloid-essentials (0.20.5)
14
+ timers (>= 4.1.1)
15
+ celluloid-extras (0.20.5)
16
+ timers (>= 4.1.1)
17
+ celluloid-fsm (0.20.5)
18
+ timers (>= 4.1.1)
19
+ celluloid-pool (0.20.5)
20
+ timers (>= 4.1.1)
21
+ celluloid-supervision (0.20.5)
22
+ timers (>= 4.1.1)
23
+ childprocess (0.5.8)
24
+ ffi (~> 1.0, >= 1.0.11)
25
+ deep_merge (1.0.1)
26
+ descendants_tracker (0.0.4)
27
+ thread_safe (~> 0.3, >= 0.3.1)
28
+ diff-lcs (1.2.5)
29
+ erubis (2.7.0)
30
+ faraday (0.9.2)
31
+ multipart-post (>= 1.2, < 3)
32
+ ffi (1.9.10)
33
+ git (1.2.9.1)
34
+ github_api (0.13.0)
35
+ addressable (~> 2.3)
36
+ descendants_tracker (~> 0.0.4)
37
+ faraday (~> 0.8, < 0.10)
38
+ hashie (>= 3.4)
39
+ multi_json (>= 1.7.5, < 2.0)
40
+ nokogiri (~> 1.6.6)
41
+ oauth2
42
+ hashie (3.4.3)
43
+ highline (1.7.8)
44
+ hitimes (1.2.3)
45
+ i18n (0.7.0)
46
+ jeweler (2.0.1)
47
+ builder
48
+ bundler (>= 1.0)
49
+ git (>= 1.2.5)
50
+ github_api
51
+ highline (>= 1.6.15)
52
+ nokogiri (>= 1.5.10)
53
+ rake
54
+ rdoc
55
+ json (1.8.3)
56
+ jwt (1.5.2)
57
+ log4r (1.1.10)
58
+ mini_portile2 (2.0.0)
59
+ multi_json (1.11.2)
60
+ multi_xml (0.5.5)
61
+ multipart-post (2.0.0)
62
+ netrc (0.11.0)
63
+ nokogiri (1.6.7)
64
+ mini_portile2 (~> 2.0.0.rc2)
65
+ nucleon (0.2.13)
66
+ celluloid (~> 0.16)
67
+ childprocess (~> 0.5)
68
+ deep_merge (~> 1.0)
69
+ erubis (~> 2.7)
70
+ highline (~> 1.6)
71
+ i18n (~> 0.6)
72
+ log4r (~> 1.1)
73
+ multi_json (~> 1.10)
74
+ netrc (~> 0.9)
75
+ octokit (~> 3.6)
76
+ rugged (~> 0.21)
77
+ sshkey (~> 1.6)
78
+ oauth2 (1.0.0)
79
+ faraday (>= 0.8, < 0.10)
80
+ jwt (~> 1.0)
81
+ multi_json (~> 1.3)
82
+ multi_xml (~> 0.5)
83
+ rack (~> 1.2)
84
+ octokit (3.8.0)
85
+ sawyer (~> 0.6.0, >= 0.5.3)
86
+ rack (1.6.4)
87
+ rake (10.4.2)
88
+ rdoc (3.12.2)
89
+ json (~> 1.4)
90
+ rspec (3.4.0)
91
+ rspec-core (~> 3.4.0)
92
+ rspec-expectations (~> 3.4.0)
93
+ rspec-mocks (~> 3.4.0)
94
+ rspec-core (3.4.1)
95
+ rspec-support (~> 3.4.0)
96
+ rspec-expectations (3.4.0)
97
+ diff-lcs (>= 1.2.0, < 2.0)
98
+ rspec-support (~> 3.4.0)
99
+ rspec-mocks (3.4.0)
100
+ diff-lcs (>= 1.2.0, < 2.0)
101
+ rspec-support (~> 3.4.0)
102
+ rspec-support (3.4.1)
103
+ rugged (0.23.3)
104
+ sawyer (0.6.0)
105
+ addressable (~> 2.3.5)
106
+ faraday (~> 0.8, < 0.10)
107
+ sshkey (1.8.0)
108
+ thread_safe (0.3.5)
109
+ timers (4.1.1)
110
+ hitimes
111
+
112
+ PLATFORMS
113
+ ruby
114
+
115
+ DEPENDENCIES
116
+ bundler (~> 1.7)
117
+ jeweler (~> 2.0)
118
+ nucleon (~> 0.2)
119
+ rdoc (~> 3.12)
120
+ rspec (~> 3.1)
data/README.md ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,96 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'rake'
5
+ require 'bundler'
6
+ require 'jeweler'
7
+ require 'rspec/core/rake_task'
8
+ require 'rdoc/task'
9
+
10
+ #-------------------------------------------------------------------------------
11
+ # Dependencies
12
+
13
+ begin
14
+ Bundler.setup(:default, :development)
15
+ rescue Bundler::BundlerError => e
16
+ $stderr.puts e.message
17
+ $stderr.puts "Run `bundle install` to install missing gems"
18
+ exit e.status_code
19
+ end
20
+
21
+ #-------------------------------------------------------------------------------
22
+ # Gem specification
23
+
24
+ Jeweler::Tasks.new do |gem|
25
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
26
+ gem.name = "cm"
27
+ gem.homepage = "http://github.com/adrianwebb/cm"
28
+ gem.rubyforge_project = 'cm'
29
+ gem.license = "Apache License, Version 2.0"
30
+ gem.email = "adrian.webb@gsa.gov"
31
+ gem.authors = ["Adrian Webb"]
32
+ gem.summary = %Q{Framework that provides a simple foundation for deploying and destroying enterprise ready cloud environments and components}
33
+ gem.description = %Q{
34
+ Framework that provides a simple foundation for deploying and destroying
35
+ enterprise ready cloud environments and components that integrate:
36
+
37
+ 1. Cloud provider components and services
38
+ 2. Cloud orchestration and configuration management tools
39
+ 3. Continuous integration and delivery pipelines
40
+
41
+ Author:: Adrian Webb (mailto:adrian.webb@gsa.gov)
42
+ License:: Apache License, version 2
43
+
44
+ Note: This framework is still very early in development!
45
+ }
46
+ gem.required_ruby_version = '>= 1.9.1'
47
+ gem.has_rdoc = true
48
+ gem.rdoc_options << '--title' << 'CM (Cloud Manager)' <<
49
+ '--main' << 'README.rdoc' <<
50
+ '--line-numbers'
51
+
52
+ gem.files = [
53
+ Dir.glob('bin/*'),
54
+ Dir.glob('lib/**/*.rb'),
55
+ Dir.glob('spec/**/*.rb'),
56
+ Dir.glob('locales/**/*.yml'),
57
+ Dir.glob('**/*.rdoc'),
58
+ Dir.glob('**/*.txt'),
59
+ Dir.glob('Gemfile*'),
60
+ Dir.glob('*.gemspec'),
61
+ Dir.glob('.git*'),
62
+ 'VERSION',
63
+ 'Rakefile'
64
+ ]
65
+ # Dependencies defined in Gemfile
66
+ end
67
+
68
+ #-------------------------------------------------------------------------------
69
+ # Testing
70
+
71
+ RSpec::Core::RakeTask.new(:spec, :tag) do |spec, task_args|
72
+ options = []
73
+ options << "--tag #{task_args[:tag]}" if task_args.is_a?(Array) && ! task_args[:tag].to_s.empty?
74
+ spec.rspec_opts = options.join(' ')
75
+ end
76
+ task :default => :spec
77
+
78
+ #-------------------------------------------------------------------------------
79
+ # Documentation
80
+
81
+ version = File.read(File.join(File.dirname(__FILE__), 'VERSION'))
82
+ doc_title = "cm #{version}"
83
+
84
+ Rake::RDocTask.new do |rdoc|
85
+ rdoc.rdoc_dir = File.join('rdoc', 'site', version)
86
+
87
+ rdoc.title = doc_title
88
+ rdoc.main = 'README.rdoc'
89
+
90
+ rdoc.options << '--line-numbers'
91
+ rdoc.options << '--all'
92
+ rdoc.options << '-w' << '2'
93
+
94
+ rdoc.rdoc_files.include('*.rdoc')
95
+ rdoc.rdoc_files.include('lib/**/*.rb')
96
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.0
data/lib/cm.rb ADDED
@@ -0,0 +1,103 @@
1
+ #
2
+ # == CM (Cloud Manager)
3
+ #
4
+ # Framework that provides a simple foundation for deploying and destroying
5
+ # enterprise ready cloud environments and components that integrate:
6
+ #
7
+ # 1. Cloud provider components and services
8
+ # 2. Cloud orchestration and configuration management tools
9
+ # 3. Continuous integration and delivery pipelines
10
+ #
11
+ # Author:: Adrian Webb (mailto:adrian.webb@gsa.gov)
12
+ # License:: Apache License, version 2
13
+
14
+ #-------------------------------------------------------------------------------
15
+ # Top level properties
16
+
17
+ lib_dir = File.dirname(__FILE__)
18
+ core_dir = File.join(lib_dir, 'core')
19
+ mod_dir = File.join(core_dir, 'mod')
20
+ mixin_dir = File.join(core_dir, 'mixin')
21
+ mixin_action_dir = File.join(mixin_dir, 'action')
22
+ macro_dir = File.join(mixin_dir, 'macro')
23
+ util_dir = File.join(core_dir, 'util')
24
+
25
+ #-------------------------------------------------------------------------------
26
+ # CM requirements
27
+
28
+ $:.unshift(lib_dir) unless $:.include?(lib_dir) || $:.include?(File.expand_path(lib_dir))
29
+
30
+ require 'nucleon_base'
31
+
32
+ #-------------------------------------------------------------------------------
33
+ # Localization
34
+
35
+ # TODO: Make this dynamically settable
36
+
37
+ I18n.enforce_available_locales = false
38
+ I18n.load_path << File.expand_path(File.join('..', 'locales', 'en.yml'), lib_dir)
39
+
40
+ #-------------------------------------------------------------------------------
41
+ # Include CORL libraries
42
+
43
+ # Monkey patches (depreciate as fast as possible)
44
+ # None right now...
45
+
46
+ #---
47
+
48
+ # Mixins for classes
49
+ Dir.glob(File.join(mixin_dir, '*.rb')).each do |file|
50
+ require file
51
+ end
52
+ Dir.glob(File.join(mixin_action_dir, '*.rb')).each do |file|
53
+ require file
54
+ end
55
+ Dir.glob(File.join(macro_dir, '*.rb')).each do |file|
56
+ require file
57
+ end
58
+
59
+ #---
60
+
61
+ # Include CM utilities
62
+ [].each do |name|
63
+ nucleon_require(util_dir, name)
64
+ end
65
+
66
+ # Special errors
67
+ nucleon_require(core_dir, :errors)
68
+
69
+ #-------------------------------------------------------------------------------
70
+ # Include CM plugins
71
+
72
+ # Include facade
73
+ nucleon_require(core_dir, :facade)
74
+
75
+ # Include CM core plugins
76
+ nucleon_require(core_dir, :plugin)
77
+
78
+ #-------------------------------------------------------------------------------
79
+ # CM interface
80
+
81
+ module CM
82
+
83
+ def self.VERSION
84
+ File.read(File.join(File.dirname(__FILE__), '..', 'VERSION'))
85
+ end
86
+
87
+ #-----------------------------------------------------------------------------
88
+ # CM initialization
89
+
90
+ def self.lib_path
91
+ File.dirname(__FILE__)
92
+ end
93
+
94
+ #---
95
+
96
+ reload(true, :cm) do |op, manager|
97
+ if op == :define
98
+ manager.define_types :CM, {
99
+
100
+ }
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,6 @@
1
+
2
+ module CM
3
+ module Errors
4
+
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+
2
+ module CM
3
+ module Facade
4
+
5
+ end
6
+ end
data/locales/en.yml ADDED
@@ -0,0 +1 @@
1
+ en:
@@ -0,0 +1,12 @@
1
+
2
+ require 'rspec'
3
+ require 'stringio'
4
+ require 'cm'
5
+
6
+ #*******************************************************************************
7
+
8
+ RSpec.configure do |config|
9
+ config.mock_framework = :rspec
10
+ config.color = true
11
+ config.formatter = 'documentation'
12
+ end
metadata ADDED
@@ -0,0 +1,143 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cm
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Adrian Webb
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nucleon
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
41
+ - !ruby/object:Gem::Dependency
42
+ name: jeweler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rdoc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.12'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.12'
83
+ description: |2
84
+
85
+ Framework that provides a simple foundation for deploying and destroying
86
+ enterprise ready cloud environments and components that integrate:
87
+
88
+ 1. Cloud provider components and services
89
+ 2. Cloud orchestration and configuration management tools
90
+ 3. Continuous integration and delivery pipelines
91
+
92
+ Author:: Adrian Webb (mailto:adrian.webb@gsa.gov)
93
+ License:: Apache License, version 2
94
+
95
+ Note: This framework is still very early in development!
96
+ email: adrian.webb@gsa.gov
97
+ executables: []
98
+ extensions: []
99
+ extra_rdoc_files:
100
+ - README.md
101
+ files:
102
+ - ".gitignore"
103
+ - Gemfile
104
+ - Gemfile.lock
105
+ - README.md
106
+ - Rakefile
107
+ - VERSION
108
+ - lib/cm.rb
109
+ - lib/core/errors.rb
110
+ - lib/core/facade.rb
111
+ - locales/en.yml
112
+ - spec/spec_helper.rb
113
+ homepage: http://github.com/adrianwebb/cm
114
+ licenses:
115
+ - Apache License, Version 2.0
116
+ metadata: {}
117
+ post_install_message:
118
+ rdoc_options:
119
+ - "--title"
120
+ - CM (Cloud Manager)
121
+ - "--main"
122
+ - README.rdoc
123
+ - "--line-numbers"
124
+ require_paths:
125
+ - lib
126
+ required_ruby_version: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: 1.9.1
131
+ required_rubygems_version: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - ">="
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ requirements: []
137
+ rubyforge_project: cm
138
+ rubygems_version: 2.4.5
139
+ signing_key:
140
+ specification_version: 4
141
+ summary: Framework that provides a simple foundation for deploying and destroying
142
+ enterprise ready cloud environments and components
143
+ test_files: []