mystro-common 0.1.11 → 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.
- data/.gitignore +3 -0
- data/.rspec +2 -0
- data/CHANGELOG.md +42 -4
- data/Gemfile +7 -1
- data/Rakefile +137 -1
- data/lib/{mystro/ext/fog → fog/ext}/balancer.rb +0 -0
- data/lib/fog/ext/dynect/dns.rb +140 -0
- data/lib/fog/ext/dynect/models/dns/record.rb +66 -0
- data/lib/fog/ext/dynect/models/dns/records.rb +87 -0
- data/lib/fog/ext/dynect/models/dns/zone.rb +60 -0
- data/lib/fog/ext/dynect/models/dns/zones.rb +29 -0
- data/lib/fog/ext/dynect/requests/dns/delete_record.rb +56 -0
- data/lib/fog/ext/dynect/requests/dns/delete_zone.rb +42 -0
- data/lib/fog/ext/dynect/requests/dns/get_all_records.rb +56 -0
- data/lib/fog/ext/dynect/requests/dns/get_node_list.rb +56 -0
- data/lib/fog/ext/dynect/requests/dns/get_record.rb +85 -0
- data/lib/fog/ext/dynect/requests/dns/get_zone.rb +58 -0
- data/lib/fog/ext/dynect/requests/dns/post_record.rb +72 -0
- data/lib/fog/ext/dynect/requests/dns/post_session.rb +44 -0
- data/lib/fog/ext/dynect/requests/dns/post_zone.rb +71 -0
- data/lib/fog/ext/dynect/requests/dns/put_zone.rb +76 -0
- data/lib/fog/ext/dynect.rb +26 -0
- data/lib/mystro/cloud/action.rb +22 -0
- data/lib/mystro/cloud/connect/aws/balancer.rb +55 -0
- data/lib/mystro/cloud/connect/aws/compute.rb +151 -0
- data/lib/mystro/cloud/connect/aws/listener.rb +36 -0
- data/lib/mystro/cloud/connect/aws/record.rb +58 -0
- data/lib/mystro/cloud/connect/aws/zone.rb +35 -0
- data/lib/mystro/cloud/connect/aws.rb +14 -0
- data/lib/mystro/cloud/connect/dynect/record.rb +72 -0
- data/lib/mystro/cloud/connect/dynect/zone.rb +35 -0
- data/lib/mystro/cloud/connect/dynect.rb +17 -0
- data/lib/mystro/cloud/connect/fog.rb +66 -0
- data/lib/mystro/cloud/connect.rb +64 -0
- data/lib/mystro/cloud/model/balancer.rb +15 -0
- data/lib/mystro/cloud/model/compute.rb +27 -0
- data/lib/mystro/cloud/model/listener.rb +30 -0
- data/lib/mystro/cloud/model/record.rb +20 -0
- data/lib/mystro/cloud/model/volume.rb +12 -0
- data/lib/mystro/cloud/model/zone.rb +9 -0
- data/lib/mystro/cloud/model.rb +183 -0
- data/lib/mystro/cloud.rb +32 -0
- data/lib/mystro/common/version.rb +4 -3
- data/lib/mystro/dsl/balancer.rb +18 -0
- data/lib/mystro/dsl/compute.rb +57 -0
- data/lib/mystro/dsl/health.rb +7 -0
- data/lib/mystro/dsl/listener.rb +5 -0
- data/lib/mystro/dsl/oldtemplate.rb +281 -0
- data/lib/mystro/dsl/template.rb +12 -278
- data/lib/mystro/dsl/template_file.rb +18 -0
- data/lib/mystro/dsl/volume.rb +8 -0
- data/lib/mystro/dsl.rb +40 -0
- data/lib/mystro/organization.rb +83 -0
- data/lib/mystro/plugin.rb +4 -3
- data/lib/mystro/provider.rb +40 -0
- data/lib/mystro/userdata.rb +1 -1
- data/lib/mystro-common.rb +32 -31
- data/mystro-common.gemspec +2 -1
- data/spec/cloud/aws/balancer_spec.rb +10 -0
- data/spec/cloud/aws/compute_spec.rb +10 -0
- data/spec/cloud/aws/record_spec.rb +10 -0
- data/spec/cloud/dynect/record_spec.rb +10 -0
- data/spec/model/compute_spec.rb +36 -0
- data/spec/model/model_spec.rb +89 -0
- data/spec/model/record_spec.rb +27 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/support/balancer.rb +49 -0
- data/spec/support/compute.rb +65 -0
- data/spec/support/record.rb +45 -0
- data/test/config.yml +71 -0
- metadata +99 -14
- data/lib/mystro/account.rb +0 -105
- data/lib/mystro/connect/balancer.rb +0 -91
- data/lib/mystro/connect/compute.rb +0 -100
- data/lib/mystro/connect/dns.rb +0 -51
- data/lib/mystro/connect/environment.rb +0 -31
- data/lib/mystro/connect.rb +0 -124
- data/lib/mystro/job.rb +0 -0
- data/lib/mystro/model.rb +0 -71
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Mystro::Cloud::Compute do
|
3
|
+
let(:id) { 'i-00000000'}
|
4
|
+
let(:image) { 'ami-0145d268' }
|
5
|
+
let(:flavor) { 'm1.small' }
|
6
|
+
let(:keypair) { 'mystro' }
|
7
|
+
let(:groups) { ['default'] }
|
8
|
+
let(:tags) { {'Name' => "compute_spec_testing", 'Environment' => 'rspec', 'Organization' => 'test'} }
|
9
|
+
let(:model) {
|
10
|
+
Mystro::Cloud::Compute.new(
|
11
|
+
id: id,
|
12
|
+
image: image,
|
13
|
+
flavor: flavor,
|
14
|
+
keypair: keypair,
|
15
|
+
groups: groups,
|
16
|
+
tags: tags,
|
17
|
+
region: 'us-east-1',
|
18
|
+
state: :running,
|
19
|
+
zone: 'us-east-1d'
|
20
|
+
)
|
21
|
+
}
|
22
|
+
|
23
|
+
subject { model }
|
24
|
+
it { should be_instance_of(Mystro::Cloud::Compute) }
|
25
|
+
its(:identity) { should == id }
|
26
|
+
its(:id) { should == id }
|
27
|
+
its(:image) { should == image }
|
28
|
+
its(:flavor) { should == flavor }
|
29
|
+
its(:groups) { should == groups }
|
30
|
+
its(:keypair) { should == keypair }
|
31
|
+
its(:key) { should == keypair }
|
32
|
+
its(:name) { should == "compute_spec_testing"}
|
33
|
+
it "should be valid" do
|
34
|
+
expect { model.validate! }.not_to raise_error
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class Mystro::Cloud::TestModel < Mystro::Cloud::Model
|
4
|
+
identity :id
|
5
|
+
attribute :name, aliases: [:alias]
|
6
|
+
attribute :string, type: String
|
7
|
+
attribute :int, type: Integer
|
8
|
+
attribute :notrequired, required: false
|
9
|
+
attribute :items, type: Array
|
10
|
+
attribute :numbers, type: Array
|
11
|
+
#has_many :records, type: 'Record'
|
12
|
+
end
|
13
|
+
|
14
|
+
describe Mystro::Cloud::TestModel do
|
15
|
+
let(:id) { "id" }
|
16
|
+
let(:model) {
|
17
|
+
Mystro::Cloud::TestModel.new(
|
18
|
+
id: id,
|
19
|
+
name: 'name',
|
20
|
+
string: "string",
|
21
|
+
int: 5,
|
22
|
+
items: ["one", "two", "three"],
|
23
|
+
numbers: [0, 1, 2],
|
24
|
+
#records: [Mystro::Cloud::Record.new(name:"blarg.blarg.com")]
|
25
|
+
)
|
26
|
+
}
|
27
|
+
context "identity" do
|
28
|
+
subject { model }
|
29
|
+
its(:identity) { should == id }
|
30
|
+
its(:id) { should == id }
|
31
|
+
end
|
32
|
+
context "validity" do
|
33
|
+
context "string" do
|
34
|
+
subject { model }
|
35
|
+
it "should be valid with string" do
|
36
|
+
expect { model.validate! }.not_to raise_error
|
37
|
+
end
|
38
|
+
it "should not be valid without string" do
|
39
|
+
model.string = nil
|
40
|
+
expect { model.validate! }.to raise_error
|
41
|
+
end
|
42
|
+
end
|
43
|
+
context "integer" do
|
44
|
+
subject { model }
|
45
|
+
it "should be valid with int" do
|
46
|
+
expect { model.validate! }.not_to raise_error
|
47
|
+
end
|
48
|
+
it "should not be valid without int" do
|
49
|
+
model.int = nil
|
50
|
+
expect { model.validate! }.to raise_error
|
51
|
+
end
|
52
|
+
end
|
53
|
+
context "not required" do
|
54
|
+
subject { model }
|
55
|
+
it "should be valid with or without notrequired" do
|
56
|
+
expect { model.validate! }.not_to raise_error
|
57
|
+
model.notrequired = 'blarg'
|
58
|
+
expect { model.validate! }.not_to raise_error
|
59
|
+
end
|
60
|
+
end
|
61
|
+
context "array" do
|
62
|
+
context "string" do
|
63
|
+
subject {model}
|
64
|
+
it "should not be valid without items" do
|
65
|
+
model.items = nil
|
66
|
+
expect { model.validate! }.to raise_error
|
67
|
+
end
|
68
|
+
it "should not be valid without numbers" do
|
69
|
+
model.numbers = nil
|
70
|
+
expect { model.validate! }.to raise_error
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
#context "has_many" do
|
75
|
+
# subject {model}
|
76
|
+
# it "should be valid with records" do
|
77
|
+
# expect { model.validate! }.not_to raise_error
|
78
|
+
# end
|
79
|
+
# it "should not be valid without records" do
|
80
|
+
# model.records = nil
|
81
|
+
# expect { model.validate! }.to raise_error
|
82
|
+
# end
|
83
|
+
# it "should not be valid without records being records" do
|
84
|
+
# model.records = [0]
|
85
|
+
# expect { model.validate! }.to raise_error
|
86
|
+
# end
|
87
|
+
#end
|
88
|
+
end
|
89
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
describe Mystro::Cloud::Record do
|
3
|
+
let(:name) { "blarg.dev.ops.rgops.com" }
|
4
|
+
let(:values) { ["127.7.8.9"] }
|
5
|
+
let(:ttl) { 60 }
|
6
|
+
let(:type) { 'A' }
|
7
|
+
let(:model) {
|
8
|
+
Mystro::Cloud::Record.new(
|
9
|
+
id: name,
|
10
|
+
name: name,
|
11
|
+
values: values,
|
12
|
+
ttl: ttl,
|
13
|
+
type: type
|
14
|
+
)
|
15
|
+
}
|
16
|
+
|
17
|
+
subject { model }
|
18
|
+
it { should be_instance_of(Mystro::Cloud::Record) }
|
19
|
+
its(:identity) { should == name }
|
20
|
+
its(:name) { should == name }
|
21
|
+
its(:values) { should == values }
|
22
|
+
its(:type) { should == type }
|
23
|
+
its(:ttl) { should == ttl }
|
24
|
+
it "should be valid" do
|
25
|
+
expect { model.validate! }.not_to raise_error
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'mystro-common'
|
2
|
+
|
3
|
+
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
|
+
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
5
|
+
# Require this file using `require "spec_helper"` to ensure that it is only
|
6
|
+
# loaded once.
|
7
|
+
#
|
8
|
+
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
9
|
+
RSpec.configure do |config|
|
10
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
11
|
+
config.run_all_when_everything_filtered = true
|
12
|
+
config.filter_run :focus
|
13
|
+
|
14
|
+
# Run specs in random order to surface order dependencies. If you find an
|
15
|
+
# order dependency and want to debug it, you can fix the order by providing
|
16
|
+
# the seed, which is printed after each run.
|
17
|
+
# --seed 1234
|
18
|
+
config.order = 'random'
|
19
|
+
end
|
20
|
+
Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
|
21
|
+
|
22
|
+
#Mystro::Log.console_debug
|
23
|
+
|
24
|
+
def load_config(provider, type)
|
25
|
+
c = YAML.load_file('test/config.yml')
|
26
|
+
raise "missing configuration: #{provider.inspect} #{type.inspect}" unless c[provider] && c[provider][type]
|
27
|
+
c[provider][type]
|
28
|
+
end
|
29
|
+
|
30
|
+
def connect(provider, type)
|
31
|
+
cfg = load_config(provider, type)
|
32
|
+
pn = provider
|
33
|
+
opt = cfg['provider']||{}
|
34
|
+
data = cfg['config']||{}
|
35
|
+
Mystro::Cloud.new(pn, type, {options: opt, config: data})
|
36
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
shared_examples "cloud balancer" do
|
3
|
+
def cloud
|
4
|
+
@cloud ||= Mystro.balancer
|
5
|
+
end
|
6
|
+
|
7
|
+
def model
|
8
|
+
@model ||= begin
|
9
|
+
l = Mystro::Cloud::Listener.new(config[:listener])
|
10
|
+
Mystro::Cloud::Balancer.new(config[:model].merge(listeners: [l]))
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
before(:all) do
|
15
|
+
cloud
|
16
|
+
model
|
17
|
+
end
|
18
|
+
|
19
|
+
context "find" do
|
20
|
+
let(:id) { config[:id] }
|
21
|
+
let(:exists) { cloud.find(id) }
|
22
|
+
|
23
|
+
subject { exists }
|
24
|
+
it { should be_instance_of(Mystro::Cloud::Balancer) }
|
25
|
+
its(:id) { should == id }
|
26
|
+
end
|
27
|
+
|
28
|
+
context "all" do
|
29
|
+
let(:all) { cloud.all }
|
30
|
+
it "should return models" do
|
31
|
+
all.each do |i|
|
32
|
+
expect(i).to be_instance_of(Mystro::Cloud::Balancer)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
if Mystro.config.test!.spend
|
38
|
+
context "create and destroy" do
|
39
|
+
subject { cloud.create(model) }
|
40
|
+
|
41
|
+
it { should be_instance_of(Mystro::Cloud::Balancer) }
|
42
|
+
its(:id) { should_not == nil }
|
43
|
+
it "should destroy" do
|
44
|
+
sleep 5
|
45
|
+
expect { cloud.destroy(instance) }.not_to raise_error
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
shared_examples 'cloud compute' do
|
3
|
+
def model
|
4
|
+
@model ||= Mystro::Cloud::Compute.new(config[:model])
|
5
|
+
end
|
6
|
+
|
7
|
+
before(:all) do
|
8
|
+
cloud
|
9
|
+
model
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'find' do
|
13
|
+
let(:id) { config[:id] }
|
14
|
+
let(:exists) { cloud.find(id) }
|
15
|
+
|
16
|
+
subject { exists }
|
17
|
+
it { should be_instance_of(Mystro::Cloud::Compute) }
|
18
|
+
its(:id) { should == id }
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'missing' do
|
22
|
+
it 'should throw an error' do
|
23
|
+
expect { cloud.find('i-00000000') }.to raise_error(Mystro::Cloud::NotFound)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'all' do
|
28
|
+
let(:all) { cloud.all }
|
29
|
+
it 'should return models' do
|
30
|
+
all.each do |i|
|
31
|
+
expect(i).to be_instance_of(Mystro::Cloud::Compute)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'running' do
|
37
|
+
let(:running) { cloud.running }
|
38
|
+
it 'should return models' do
|
39
|
+
running.each do |i|
|
40
|
+
expect(i).to be_instance_of(Mystro::Cloud::Compute)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
it 'should be running' do
|
44
|
+
running.each do |i|
|
45
|
+
expect(i.state).to eq('running')
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'volumes' do
|
51
|
+
def vmodel
|
52
|
+
@vmodel ||= Mystro::Cloud::Compute.new(config[:vmodel])
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'should create and destroy' do
|
56
|
+
vinstance = nil
|
57
|
+
expect { vinstance = cloud.create(vmodel) }.not_to raise_error
|
58
|
+
expect(vinstance).to be_instance_of(Mystro::Cloud::Compute)
|
59
|
+
expect(vinstance.id).not_to be(nil)
|
60
|
+
expect(vinstance.image).to eq(vmodel[:image])
|
61
|
+
expect(vinstance.flavor).to eq(vmodel[:flavor])
|
62
|
+
expect { cloud.destroy(vinstance) }.not_to raise_error
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
shared_examples "cloud record" do
|
3
|
+
def model
|
4
|
+
@model ||= Mystro::Cloud::Record.new(config[:model])
|
5
|
+
end
|
6
|
+
|
7
|
+
before(:all) do
|
8
|
+
cloud
|
9
|
+
model
|
10
|
+
end
|
11
|
+
|
12
|
+
context "find", :find do
|
13
|
+
let(:id) { config[:id] }
|
14
|
+
let(:name) { config[:name] }
|
15
|
+
let(:model) { cloud.find(id) }
|
16
|
+
|
17
|
+
subject { model }
|
18
|
+
it { should be_instance_of(Mystro::Cloud::Record) }
|
19
|
+
its(:id) { should == id }
|
20
|
+
its(:name) { should == name }
|
21
|
+
end
|
22
|
+
|
23
|
+
context "all" do
|
24
|
+
let(:all) { cloud.all }
|
25
|
+
it "should return models" do
|
26
|
+
all.each do |i|
|
27
|
+
expect(i).to be_instance_of(Mystro::Cloud::Record)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "create and destroy" do
|
33
|
+
|
34
|
+
it "should create and destroy" do
|
35
|
+
n = cloud.create(model)
|
36
|
+
expect(n).to be_instance_of(Mystro::Cloud::Record)
|
37
|
+
expect(n.name).not_to be(nil)
|
38
|
+
|
39
|
+
o = cloud.find_by_name(config[:model][:name])
|
40
|
+
expect { cloud.destroy(o) }.not_to raise_error
|
41
|
+
|
42
|
+
expect { cloud.find_by_name(config[:model][:name]) }.to raise_error
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/test/config.yml
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
aws:
|
2
|
+
record:
|
3
|
+
config:
|
4
|
+
:zone: ops.rgops.com
|
5
|
+
:id: mystro.dev.ops.rgops.com
|
6
|
+
:name: mystro.dev.ops.rgops.com
|
7
|
+
:model:
|
8
|
+
:name: blarg.dev.ops.rgops.com
|
9
|
+
:values:
|
10
|
+
- 127.7.8.9
|
11
|
+
:ttl: 60
|
12
|
+
:type: A
|
13
|
+
compute:
|
14
|
+
provider:
|
15
|
+
region: us-east-1
|
16
|
+
config:
|
17
|
+
flavor: m1.large
|
18
|
+
region: us-east-1
|
19
|
+
groups:
|
20
|
+
- default
|
21
|
+
keypair: mystro
|
22
|
+
image: ami-0145d268 # make sure this is an image in the region specified to fog.
|
23
|
+
# userdata package to use
|
24
|
+
userdata: rg
|
25
|
+
:id: i-3e99485f
|
26
|
+
:model:
|
27
|
+
:image: ami-0145d268
|
28
|
+
:flavor: m1.small
|
29
|
+
:keypair: mystro
|
30
|
+
:groups:
|
31
|
+
- default
|
32
|
+
:tags:
|
33
|
+
Name: compute_spec_testing
|
34
|
+
Environment: rspec
|
35
|
+
Organization: test
|
36
|
+
:vmodel:
|
37
|
+
:image: ami-0145d268
|
38
|
+
:flavor: m1.small
|
39
|
+
:keypair: mystro
|
40
|
+
:groups:
|
41
|
+
- default
|
42
|
+
:volumes:
|
43
|
+
- name: :root
|
44
|
+
size: 25
|
45
|
+
:tags:
|
46
|
+
Name: compute_spec_testing_volume
|
47
|
+
Environment: rspec
|
48
|
+
Organization: test
|
49
|
+
balancer:
|
50
|
+
provider:
|
51
|
+
region: us-east-1
|
52
|
+
:id: 'RG-EVENTS-1'
|
53
|
+
:model:
|
54
|
+
:id: 'BALANCER-SPEC'
|
55
|
+
:listener:
|
56
|
+
:protocol: HTTP
|
57
|
+
:port: 80
|
58
|
+
:to_protocol: HTTP
|
59
|
+
:to_port: 80
|
60
|
+
dynect:
|
61
|
+
record:
|
62
|
+
config:
|
63
|
+
:zone: rgops.com
|
64
|
+
:id: 75069554
|
65
|
+
:name: labs1.rgops.com
|
66
|
+
:model:
|
67
|
+
:name: blarg.rgops.com
|
68
|
+
:values:
|
69
|
+
- 127.7.8.9
|
70
|
+
:ttl: 60
|
71
|
+
:type: A
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mystro-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-10-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: fog
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.15.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.15.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: yell
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,6 +107,22 @@ dependencies:
|
|
107
107
|
- - ! '>='
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: damsel
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.1.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.1.0
|
110
126
|
description: common functionality for Mystro
|
111
127
|
email:
|
112
128
|
- me@shawncatz.com
|
@@ -115,30 +131,81 @@ extensions: []
|
|
115
131
|
extra_rdoc_files: []
|
116
132
|
files:
|
117
133
|
- .gitignore
|
134
|
+
- .rspec
|
118
135
|
- .ruby-version
|
119
136
|
- CHANGELOG.md
|
120
137
|
- Gemfile
|
121
138
|
- LICENSE.txt
|
122
139
|
- README.md
|
123
140
|
- Rakefile
|
141
|
+
- lib/fog/ext/balancer.rb
|
142
|
+
- lib/fog/ext/dynect.rb
|
143
|
+
- lib/fog/ext/dynect/dns.rb
|
144
|
+
- lib/fog/ext/dynect/models/dns/record.rb
|
145
|
+
- lib/fog/ext/dynect/models/dns/records.rb
|
146
|
+
- lib/fog/ext/dynect/models/dns/zone.rb
|
147
|
+
- lib/fog/ext/dynect/models/dns/zones.rb
|
148
|
+
- lib/fog/ext/dynect/requests/dns/delete_record.rb
|
149
|
+
- lib/fog/ext/dynect/requests/dns/delete_zone.rb
|
150
|
+
- lib/fog/ext/dynect/requests/dns/get_all_records.rb
|
151
|
+
- lib/fog/ext/dynect/requests/dns/get_node_list.rb
|
152
|
+
- lib/fog/ext/dynect/requests/dns/get_record.rb
|
153
|
+
- lib/fog/ext/dynect/requests/dns/get_zone.rb
|
154
|
+
- lib/fog/ext/dynect/requests/dns/post_record.rb
|
155
|
+
- lib/fog/ext/dynect/requests/dns/post_session.rb
|
156
|
+
- lib/fog/ext/dynect/requests/dns/post_zone.rb
|
157
|
+
- lib/fog/ext/dynect/requests/dns/put_zone.rb
|
124
158
|
- lib/mystro-common.rb
|
125
|
-
- lib/mystro/account.rb
|
126
159
|
- lib/mystro/capistrano.rb
|
160
|
+
- lib/mystro/cloud.rb
|
161
|
+
- lib/mystro/cloud/action.rb
|
162
|
+
- lib/mystro/cloud/connect.rb
|
163
|
+
- lib/mystro/cloud/connect/aws.rb
|
164
|
+
- lib/mystro/cloud/connect/aws/balancer.rb
|
165
|
+
- lib/mystro/cloud/connect/aws/compute.rb
|
166
|
+
- lib/mystro/cloud/connect/aws/listener.rb
|
167
|
+
- lib/mystro/cloud/connect/aws/record.rb
|
168
|
+
- lib/mystro/cloud/connect/aws/zone.rb
|
169
|
+
- lib/mystro/cloud/connect/dynect.rb
|
170
|
+
- lib/mystro/cloud/connect/dynect/record.rb
|
171
|
+
- lib/mystro/cloud/connect/dynect/zone.rb
|
172
|
+
- lib/mystro/cloud/connect/fog.rb
|
173
|
+
- lib/mystro/cloud/model.rb
|
174
|
+
- lib/mystro/cloud/model/balancer.rb
|
175
|
+
- lib/mystro/cloud/model/compute.rb
|
176
|
+
- lib/mystro/cloud/model/listener.rb
|
177
|
+
- lib/mystro/cloud/model/record.rb
|
178
|
+
- lib/mystro/cloud/model/volume.rb
|
179
|
+
- lib/mystro/cloud/model/zone.rb
|
127
180
|
- lib/mystro/common/version.rb
|
128
181
|
- lib/mystro/config.rb
|
129
|
-
- lib/mystro/
|
130
|
-
- lib/mystro/
|
131
|
-
- lib/mystro/
|
132
|
-
- lib/mystro/
|
133
|
-
- lib/mystro/
|
182
|
+
- lib/mystro/dsl.rb
|
183
|
+
- lib/mystro/dsl/balancer.rb
|
184
|
+
- lib/mystro/dsl/compute.rb
|
185
|
+
- lib/mystro/dsl/health.rb
|
186
|
+
- lib/mystro/dsl/listener.rb
|
187
|
+
- lib/mystro/dsl/oldtemplate.rb
|
134
188
|
- lib/mystro/dsl/template.rb
|
135
|
-
- lib/mystro/
|
136
|
-
- lib/mystro/
|
189
|
+
- lib/mystro/dsl/template_file.rb
|
190
|
+
- lib/mystro/dsl/volume.rb
|
137
191
|
- lib/mystro/log.rb
|
138
|
-
- lib/mystro/
|
192
|
+
- lib/mystro/organization.rb
|
139
193
|
- lib/mystro/plugin.rb
|
194
|
+
- lib/mystro/provider.rb
|
140
195
|
- lib/mystro/userdata.rb
|
141
196
|
- mystro-common.gemspec
|
197
|
+
- spec/cloud/aws/balancer_spec.rb
|
198
|
+
- spec/cloud/aws/compute_spec.rb
|
199
|
+
- spec/cloud/aws/record_spec.rb
|
200
|
+
- spec/cloud/dynect/record_spec.rb
|
201
|
+
- spec/model/compute_spec.rb
|
202
|
+
- spec/model/model_spec.rb
|
203
|
+
- spec/model/record_spec.rb
|
204
|
+
- spec/spec_helper.rb
|
205
|
+
- spec/support/balancer.rb
|
206
|
+
- spec/support/compute.rb
|
207
|
+
- spec/support/record.rb
|
208
|
+
- test/config.yml
|
142
209
|
homepage: http://github.com/mystro
|
143
210
|
licenses: []
|
144
211
|
post_install_message:
|
@@ -151,16 +218,34 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
151
218
|
- - ! '>='
|
152
219
|
- !ruby/object:Gem::Version
|
153
220
|
version: '0'
|
221
|
+
segments:
|
222
|
+
- 0
|
223
|
+
hash: -9476969156844360
|
154
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
225
|
none: false
|
156
226
|
requirements:
|
157
227
|
- - ! '>='
|
158
228
|
- !ruby/object:Gem::Version
|
159
229
|
version: '0'
|
230
|
+
segments:
|
231
|
+
- 0
|
232
|
+
hash: -9476969156844360
|
160
233
|
requirements: []
|
161
234
|
rubyforge_project:
|
162
235
|
rubygems_version: 1.8.25
|
163
236
|
signing_key:
|
164
237
|
specification_version: 3
|
165
238
|
summary: common functionality for Mystro
|
166
|
-
test_files:
|
239
|
+
test_files:
|
240
|
+
- spec/cloud/aws/balancer_spec.rb
|
241
|
+
- spec/cloud/aws/compute_spec.rb
|
242
|
+
- spec/cloud/aws/record_spec.rb
|
243
|
+
- spec/cloud/dynect/record_spec.rb
|
244
|
+
- spec/model/compute_spec.rb
|
245
|
+
- spec/model/model_spec.rb
|
246
|
+
- spec/model/record_spec.rb
|
247
|
+
- spec/spec_helper.rb
|
248
|
+
- spec/support/balancer.rb
|
249
|
+
- spec/support/compute.rb
|
250
|
+
- spec/support/record.rb
|
251
|
+
- test/config.yml
|