podbay 0.0.1
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 +7 -0
- data/bin/pods +4 -0
- data/lib/podbay/files.rb +6 -0
- data/lib/podbay/instance.rb +39 -0
- data/lib/podbay/pod.rb +52 -0
- data/lib/podbay/version.rb +3 -0
- data/lib/pods.rb +9 -0
- metadata +108 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: a0bb7d9d9cdaf539323f52bf4086dccb877450a0
|
4
|
+
data.tar.gz: db14ff4b8b4dfead638d21e60bb1926b6a2467bd
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: aa24d37d0f7645933cd6ad1aeeec45cc3a2ef132fb595716270fab14de82ac57646a98f62afd2eace9a0cbe196c2b419e92eaf2efc39427619dc621666c1cf50
|
7
|
+
data.tar.gz: 38df805c760c49774f0485b10acaec4f74ac72d55b7b113c8ec50737364089aeb83477c758e27e6e227387cbef34a0d12be2180e36d82fc0a913bcc0200d9c9d
|
data/bin/pods
ADDED
data/lib/podbay/files.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
################################################################################
|
2
|
+
# Pods::Instance
|
3
|
+
#
|
4
|
+
# Represents an instance of the pods environment (e.g., an AWS account that's
|
5
|
+
# been setup to work with Pods).
|
6
|
+
################################################################################
|
7
|
+
|
8
|
+
require 'forwardable'
|
9
|
+
|
10
|
+
module Pods
|
11
|
+
class Instance
|
12
|
+
extend Forwardable
|
13
|
+
|
14
|
+
attr_reader :adapter
|
15
|
+
|
16
|
+
def initialize(adapter)
|
17
|
+
@adapter = adapter.dup
|
18
|
+
end
|
19
|
+
|
20
|
+
# def_delegator :@adapter, :config, :configure
|
21
|
+
|
22
|
+
def configuration
|
23
|
+
@_config ||= adapter.load_config
|
24
|
+
end
|
25
|
+
|
26
|
+
def configure(config={})
|
27
|
+
adapter.set_config(config)
|
28
|
+
@_config = nil
|
29
|
+
end
|
30
|
+
|
31
|
+
def build_pod(pod_file)
|
32
|
+
adapter.build_pod(pod_file)
|
33
|
+
end
|
34
|
+
|
35
|
+
def delete_pod(pod_file)
|
36
|
+
adapter.delete_pod(pod_file)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/podbay/pod.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
module Pods
|
2
|
+
class Pod
|
3
|
+
attr_reader :name
|
4
|
+
attr_reader :cidr
|
5
|
+
attr_reader :availability_zones
|
6
|
+
|
7
|
+
def initialize(data = {})
|
8
|
+
load!(data.deep_symbolize_keys)
|
9
|
+
end
|
10
|
+
|
11
|
+
##
|
12
|
+
# Load details from a Podfile.
|
13
|
+
def load(podfile_path)
|
14
|
+
load!(YAML.load_file(podfile_path).deep_symbolize_keys)
|
15
|
+
end
|
16
|
+
|
17
|
+
def load!(data)
|
18
|
+
@name = @data[:name].to_s.underscore
|
19
|
+
@cidr = @data[:cidr]
|
20
|
+
@availability_zones = @data[:availability_zones]
|
21
|
+
end
|
22
|
+
|
23
|
+
def availability_zones
|
24
|
+
|| []
|
25
|
+
end
|
26
|
+
|
27
|
+
def services
|
28
|
+
@data[:services] || []
|
29
|
+
end
|
30
|
+
|
31
|
+
##
|
32
|
+
# Returns a cloudformation template for the Pod.
|
33
|
+
def to_template
|
34
|
+
template_path = File.expand_path(
|
35
|
+
'../templates/cloudformation.template.erb',
|
36
|
+
__FILE__
|
37
|
+
)
|
38
|
+
|
39
|
+
ERB.new(File.read(template_path)).result(binding)
|
40
|
+
end
|
41
|
+
|
42
|
+
def tags
|
43
|
+
{ pod: name }
|
44
|
+
end
|
45
|
+
|
46
|
+
private
|
47
|
+
|
48
|
+
def _validate_data(data)
|
49
|
+
# Raise an error if something is invalid.
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
data/lib/pods.rb
ADDED
metadata
ADDED
@@ -0,0 +1,108 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: podbay
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Robert Honer
|
8
|
+
- Nehal Patel
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2016-01-13 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: aws-sdk
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '2'
|
21
|
+
type: :runtime
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '2'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: activesupport
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rspec
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: bundler-audit
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
description: AWS tooling
|
71
|
+
email:
|
72
|
+
- robert@payout.com
|
73
|
+
- nehal@payout.com
|
74
|
+
executables: []
|
75
|
+
extensions: []
|
76
|
+
extra_rdoc_files: []
|
77
|
+
files:
|
78
|
+
- bin/pods
|
79
|
+
- lib/podbay/files.rb
|
80
|
+
- lib/podbay/instance.rb
|
81
|
+
- lib/podbay/pod.rb
|
82
|
+
- lib/podbay/version.rb
|
83
|
+
- lib/pods.rb
|
84
|
+
homepage: http://github.com/payout/podbay
|
85
|
+
licenses:
|
86
|
+
- BSD
|
87
|
+
metadata: {}
|
88
|
+
post_install_message:
|
89
|
+
rdoc_options: []
|
90
|
+
require_paths:
|
91
|
+
- lib
|
92
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
|
+
requirements: []
|
103
|
+
rubyforge_project:
|
104
|
+
rubygems_version: 2.4.6
|
105
|
+
signing_key:
|
106
|
+
specification_version: 4
|
107
|
+
summary: AWS tooling
|
108
|
+
test_files: []
|