hugo 0.3.0 → 0.3.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.
- data/Rakefile +2 -7
- data/lib/hugo/app.rb +11 -11
- data/lib/hugo/cloud.rb +1 -8
- data/lib/hugo.rb +9 -13
- metadata +4 -55
- data/lib/hugo/dns.rb +0 -57
data/Rakefile
CHANGED
@@ -10,19 +10,14 @@ begin
|
|
10
10
|
|
11
11
|
gemspec.name = "hugo"
|
12
12
|
gemspec.summary = "Deploy Your Rack Apps to Cloud"
|
13
|
-
gemspec.description = "
|
13
|
+
gemspec.description = "Deploy your apps to the cloud."
|
14
14
|
gemspec.email = "tom@jackhq.com"
|
15
|
-
gemspec.homepage = "http://github.com/twilson63/
|
15
|
+
gemspec.homepage = "http://github.com/twilson63/hugo2"
|
16
16
|
gemspec.authors = ["Tom Wilson", "Barrett Little"]
|
17
17
|
|
18
18
|
gemspec.add_dependency('amazon-ec2', '>= 0.7.5')
|
19
19
|
gemspec.add_dependency('json', '>= 1.2.0')
|
20
20
|
gemspec.add_dependency('net-ssh', '>= 2.0.16')
|
21
|
-
gemspec.add_dependency('builder', '>= 0')
|
22
|
-
gemspec.add_dependency('i18n', '>= 0')
|
23
|
-
gemspec.add_dependency('activesupport', '>= 2.3.5')
|
24
|
-
gemspec.add_dependency('activeresource', '>= 2.3.5')
|
25
|
-
gemspec.add_dependency('zerigo_dns', '>= 1.0.0')
|
26
21
|
|
27
22
|
gemspec.files = FileList['spec/*.rb'] + FileList['lib/**/*.rb'] + ['README.rdoc', 'LICENSE', 'VERSION.yml', 'Rakefile']
|
28
23
|
end
|
data/lib/hugo/app.rb
CHANGED
@@ -223,17 +223,17 @@ private
|
|
223
223
|
def setup_ec2(instance_id)
|
224
224
|
|
225
225
|
commands = []
|
226
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
227
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
228
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
229
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
230
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
231
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
232
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
233
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
234
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
235
|
-
commands << 'if [ -d "./hugo-repos" ]; then echo "
|
236
|
-
commands << "if [ -d \"./hugo-repos\" ]; then echo \"
|
226
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo apt-get update -y; fi'
|
227
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo apt-get install ruby ruby1.8-dev libopenssl-ruby1.8 rdoc ri irb build-essential git-core xfsprogs -y; fi'
|
228
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz && tar zxf rubygems-1.3.5.tgz; fi'
|
229
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else cd rubygems-1.3.5 && sudo ruby setup.rb && sudo ln -sfv /usr/bin/gem1.8 /usr/bin/gem; fi'
|
230
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem update --system; fi'
|
231
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem install gemcutter --no-ri --no-rdoc; fi'
|
232
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem install chef ohai --no-ri --no-rdoc; fi'
|
233
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem source -a http://gems.github.com; fi'
|
234
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem install chef-deploy --no-ri --no-rdoc; fi'
|
235
|
+
commands << 'if [ -d "./hugo-repos" ]; then echo "."; else sudo gem install git --no-ri --no-rdoc; fi'
|
236
|
+
commands << "if [ -d \"./hugo-repos\" ]; then echo \".\"; else git clone #{self.cookbook} ~/hugo-repos; fi"
|
237
237
|
ec2 = Hugo::Aws::Ec2.find(instance_id)
|
238
238
|
#puts ec2.uri
|
239
239
|
ec2.ssh(commands, nil, File.join(key_path, key_name))
|
data/lib/hugo/cloud.rb
CHANGED
@@ -38,14 +38,7 @@ class Hugo::Cloud
|
|
38
38
|
cloud_app app_info
|
39
39
|
|
40
40
|
end
|
41
|
-
|
42
|
-
def dns(hostname, &block)
|
43
|
-
dns_info = Hugo::Dns.instance
|
44
|
-
dns_info.hostname hostname
|
45
|
-
dns_info.instance_eval(&block) if block_given?
|
46
|
-
dns_info.deploy
|
47
|
-
end
|
48
|
-
|
41
|
+
|
49
42
|
def deploy
|
50
43
|
if cloud_app
|
51
44
|
cloud_app.setup
|
data/lib/hugo.rb
CHANGED
@@ -1,16 +1,13 @@
|
|
1
|
-
begin
|
2
|
-
|
3
|
-
|
4
|
-
rescue LoadError
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
end
|
1
|
+
# begin
|
2
|
+
# # Require the preresolved locked set of gems.
|
3
|
+
# require File.expand_path('../.bundle/environment', __FILE__)
|
4
|
+
# rescue LoadError
|
5
|
+
# # Fallback on doing the resolve at runtime.
|
6
|
+
# require "rubygems"
|
7
|
+
# require "bundler"
|
8
|
+
# Bundler.setup
|
9
|
+
# end
|
10
10
|
|
11
|
-
require 'active_support'
|
12
|
-
require 'active_resource'
|
13
|
-
require 'zerigo_dns'
|
14
11
|
require 'AWS'
|
15
12
|
require 'net/ssh'
|
16
13
|
require 'json'
|
@@ -20,7 +17,6 @@ require File.dirname(__FILE__) + '/hugo/cloud'
|
|
20
17
|
require File.dirname(__FILE__) + '/hugo/balancer'
|
21
18
|
require File.dirname(__FILE__) + '/hugo/database'
|
22
19
|
require File.dirname(__FILE__) + '/hugo/app'
|
23
|
-
require File.dirname(__FILE__) + '/hugo/dns'
|
24
20
|
require File.dirname(__FILE__) + '/hugo/aws/rds'
|
25
21
|
require File.dirname(__FILE__) + '/hugo/aws/elb'
|
26
22
|
require File.dirname(__FILE__) + '/hugo/aws/ec2'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hugo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Wilson
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2010-02-
|
13
|
+
date: 2010-02-07 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -73,57 +73,7 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 2.0.16
|
75
75
|
version:
|
76
|
-
|
77
|
-
name: builder
|
78
|
-
type: :runtime
|
79
|
-
version_requirement:
|
80
|
-
version_requirements: !ruby/object:Gem::Requirement
|
81
|
-
requirements:
|
82
|
-
- - ">="
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
version: "0"
|
85
|
-
version:
|
86
|
-
- !ruby/object:Gem::Dependency
|
87
|
-
name: i18n
|
88
|
-
type: :runtime
|
89
|
-
version_requirement:
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
91
|
-
requirements:
|
92
|
-
- - ">="
|
93
|
-
- !ruby/object:Gem::Version
|
94
|
-
version: "0"
|
95
|
-
version:
|
96
|
-
- !ruby/object:Gem::Dependency
|
97
|
-
name: activesupport
|
98
|
-
type: :runtime
|
99
|
-
version_requirement:
|
100
|
-
version_requirements: !ruby/object:Gem::Requirement
|
101
|
-
requirements:
|
102
|
-
- - ">="
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
version: 2.3.5
|
105
|
-
version:
|
106
|
-
- !ruby/object:Gem::Dependency
|
107
|
-
name: activeresource
|
108
|
-
type: :runtime
|
109
|
-
version_requirement:
|
110
|
-
version_requirements: !ruby/object:Gem::Requirement
|
111
|
-
requirements:
|
112
|
-
- - ">="
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version: 2.3.5
|
115
|
-
version:
|
116
|
-
- !ruby/object:Gem::Dependency
|
117
|
-
name: zerigo_dns
|
118
|
-
type: :runtime
|
119
|
-
version_requirement:
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 1.0.0
|
125
|
-
version:
|
126
|
-
description: A easy to understand DSL that makes it dirt simple to deploy to the cloud.
|
76
|
+
description: Deploy your apps to the cloud.
|
127
77
|
email: tom@jackhq.com
|
128
78
|
executables: []
|
129
79
|
|
@@ -141,12 +91,11 @@ files:
|
|
141
91
|
- lib/hugo/balancer.rb
|
142
92
|
- lib/hugo/cloud.rb
|
143
93
|
- lib/hugo/database.rb
|
144
|
-
- lib/hugo/dns.rb
|
145
94
|
- lib/hugo/mixin/params_validate.rb
|
146
95
|
- lib/hugo/mongo.rb
|
147
96
|
- spec/spec_helper.rb
|
148
97
|
has_rdoc: true
|
149
|
-
homepage: http://github.com/twilson63/
|
98
|
+
homepage: http://github.com/twilson63/hugo2
|
150
99
|
licenses: []
|
151
100
|
|
152
101
|
post_install_message:
|
data/lib/hugo/dns.rb
DELETED
@@ -1,57 +0,0 @@
|
|
1
|
-
module Hugo; end
|
2
|
-
|
3
|
-
class Hugo::Dns
|
4
|
-
include Singleton
|
5
|
-
include Hugo::Mixin::ParamsValidate
|
6
|
-
|
7
|
-
attr_accessor :host
|
8
|
-
|
9
|
-
def deploy
|
10
|
-
|
11
|
-
# Initialize Resouce
|
12
|
-
Zerigo::DNS::Base.user = user
|
13
|
-
Zerigo::DNS::Base.password = token
|
14
|
-
|
15
|
-
# find or create domain
|
16
|
-
zone = Zerigo::DNS::Zone.find_or_create(domain)
|
17
|
-
|
18
|
-
# find or create host
|
19
|
-
host = Zerigo::DNS::Host.update_or_create(
|
20
|
-
:zone => zone.id,
|
21
|
-
:host => hostname,
|
22
|
-
:type => type,
|
23
|
-
:ttl => ttl,
|
24
|
-
:data => data
|
25
|
-
)
|
26
|
-
end
|
27
|
-
|
28
|
-
def user(arg=nil)
|
29
|
-
set_or_return(:user, arg, :kind_of => [String])
|
30
|
-
end
|
31
|
-
|
32
|
-
def token(arg=nil)
|
33
|
-
set_or_return(:token, arg, :kind_of => [String])
|
34
|
-
end
|
35
|
-
|
36
|
-
def hostname(arg=nil)
|
37
|
-
set_or_return(:hostname, arg, :kind_of => [String])
|
38
|
-
end
|
39
|
-
|
40
|
-
def domain(arg=nil)
|
41
|
-
set_or_return(:domain, arg, :kind_of => [String])
|
42
|
-
end
|
43
|
-
|
44
|
-
def type(arg=nil)
|
45
|
-
set_or_return(:type, arg, :kind_of => [String])
|
46
|
-
end
|
47
|
-
|
48
|
-
def ttl(arg=nil)
|
49
|
-
set_or_return(:ttl, arg, :kind_of => [Integer])
|
50
|
-
end
|
51
|
-
|
52
|
-
def data(arg=nil)
|
53
|
-
set_or_return(:data, arg, :kind_of => [String])
|
54
|
-
end
|
55
|
-
|
56
|
-
|
57
|
-
end
|