simonmenke-shuttle 0.1.07 → 0.1.08
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/lib/shuttle/app_runner.rb +2 -1
- data/lib/shuttle/apps/dev.rb +3 -2
- data/lib/shuttle/apps/engines.rb +1 -1
- data/lib/shuttle/apps/jobs.rb +1 -1
- data/lib/shuttle/apps/satellite.rb +1 -1
- data/lib/shuttle/apps/server.rb +2 -2
- data/lib/shuttle/exception_handler.rb +1 -2
- data/lib/shuttle/extentions/thor_extentions.rb +1 -1
- data/lib/shuttle/satellite/dependency_loader.rb +1 -2
- data/lib/shuttle/server/daemon.rb +6 -2
- data/lib/shuttle/server.rb +1 -3
- data/lib/shuttle/system/config.rb +13 -0
- data/lib/shuttle/system/process_user.rb +0 -2
- data/lib/shuttle.rb +20 -3
- metadata +4 -35
- data/lib/shuttle/systems/centos_plesk_system.rb +0 -28
- data/lib/shuttle/systems/macports_system.rb +0 -14
data/lib/shuttle/app_runner.rb
CHANGED
data/lib/shuttle/apps/dev.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Shuttle.runtime_gem('thor', Shuttle::THOR_VERSION)
|
2
2
|
|
3
3
|
module Shuttle
|
4
4
|
module Apps # :nodoc:
|
@@ -6,7 +6,8 @@ module Shuttle
|
|
6
6
|
class Dev < Thor
|
7
7
|
desc "create NAME", "create a new engine"
|
8
8
|
def create(name)
|
9
|
-
|
9
|
+
Shuttle.runtime_gem('rubigen', Shuttle::RUBIGEN_VERSION)
|
10
|
+
|
10
11
|
system("rails #{name}")
|
11
12
|
|
12
13
|
FileUtils.rm_r("#{name}/doc", :verbose => true)
|
data/lib/shuttle/apps/engines.rb
CHANGED
data/lib/shuttle/apps/jobs.rb
CHANGED
data/lib/shuttle/apps/server.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
require 'simple-daemon'
|
1
|
+
Shuttle.runtime_gem('thor', Shuttle::THOR_VERSION)
|
3
2
|
|
4
3
|
module Shuttle
|
5
4
|
module Apps
|
@@ -9,6 +8,7 @@ module Shuttle
|
|
9
8
|
desc "start", 'start the server'
|
10
9
|
method_options :foreground => :boolean, :config => :optional
|
11
10
|
def start
|
11
|
+
Shuttle.runtime_gem('simple-daemon', Shuttle::SIMPLE_DEAMON_VERSION)
|
12
12
|
Shuttle.server? true
|
13
13
|
Shuttle::System.load!(options[:root_path])
|
14
14
|
|
@@ -45,10 +45,13 @@ module Shuttle
|
|
45
45
|
case $?.exitstatus
|
46
46
|
when Shuttle::STOP_STATUS
|
47
47
|
stop_server = true
|
48
|
+
retries = 0
|
48
49
|
when Shuttle::RESTART_STATUS
|
49
50
|
wait_before_start = 2
|
51
|
+
retries = 0
|
50
52
|
when Shuttle::RELOAD_STATUS
|
51
53
|
stop_server = true
|
54
|
+
retries = 0
|
52
55
|
Shuttle.system.run(%{sleep 2 ; #{Shuttle::BIN_PATH} #{ORIGINAL_ARGV.join(' ')}})
|
53
56
|
else
|
54
57
|
retries += 1
|
@@ -65,8 +68,9 @@ module Shuttle
|
|
65
68
|
Dir.chdir(Shuttle.system.root)
|
66
69
|
|
67
70
|
Shuttle.log "Server started"
|
68
|
-
|
69
|
-
|
71
|
+
uri = "druby://#{Shuttle.system.server_hostname}:#{Shuttle.system.server_port}"
|
72
|
+
DRb.start_service uri, self.proxy, self.options_for_server
|
73
|
+
Shuttle.log "listening at #{self.construct_uri(uri)}"
|
70
74
|
make_client_cert_public!
|
71
75
|
|
72
76
|
at_exit do
|
data/lib/shuttle/server.rb
CHANGED
@@ -31,6 +31,19 @@ module Shuttle
|
|
31
31
|
option(:use_ssl, nil)
|
32
32
|
end
|
33
33
|
|
34
|
+
def bind(hostname=nil, port=nil)
|
35
|
+
server_hostname { hostname }
|
36
|
+
server_port { port }
|
37
|
+
end
|
38
|
+
|
39
|
+
def server_hostname(&block)
|
40
|
+
option(:server_hostname, block) { |v| v or 'localhost' }
|
41
|
+
end
|
42
|
+
|
43
|
+
def server_port(&block)
|
44
|
+
option(:server_port, block) { |v| v or 5000 }
|
45
|
+
end
|
46
|
+
|
34
47
|
end
|
35
48
|
end
|
36
49
|
end
|
data/lib/shuttle.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
autoload :Etc, 'etc'
|
4
|
+
autoload :DRb, 'drb'
|
5
|
+
autoload :TSort, 'tsort'
|
6
|
+
autoload :Logger, 'logger'
|
7
|
+
autoload :OpenSSL, 'drb/ssl'
|
8
|
+
autoload :FileUtils, 'fileutils'
|
5
9
|
autoload :DRbUndumped, 'drb'
|
6
|
-
autoload :FileUtils, 'fileutils'
|
7
10
|
|
8
11
|
module Shuttle
|
9
12
|
base = File.expand_path(File.dirname(__FILE__))
|
@@ -45,6 +48,10 @@ module Shuttle
|
|
45
48
|
RELOAD_STATUS = 103
|
46
49
|
QUICK_CERT = "http://segment7.net/projects/ruby/QuickCert/QuickCert-1.0.2.tar.gz"
|
47
50
|
|
51
|
+
THOR_VERSION = '>= 0.9.9'
|
52
|
+
RUBIGEN_VERSION = '>= 1.5.2'
|
53
|
+
SIMPLE_DEAMON_VERSION = '>= 0.1.2'
|
54
|
+
|
48
55
|
Shuttle::ExceptionHandler.setup
|
49
56
|
extend ExceptionHandler
|
50
57
|
|
@@ -79,4 +86,14 @@ module Shuttle
|
|
79
86
|
@is_server
|
80
87
|
end
|
81
88
|
|
89
|
+
def self.runtime_gem(gem, version='>= 0.0.0', lib=nil)
|
90
|
+
begin
|
91
|
+
gem(gem, version)
|
92
|
+
require(lib || gem)
|
93
|
+
rescue LoadError
|
94
|
+
puts "You must install #{gem} (#{version}) to use this.\nPlease run: [sudo] gem install #{gem}"
|
95
|
+
exit(1)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
82
99
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simonmenke-shuttle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.08
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Menke
|
@@ -9,39 +9,10 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-03 00:00:00 -07:00
|
13
13
|
default_executable: shuttle
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
name: thor
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.9.9
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rubigen
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.5.2
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: simple-daemon
|
37
|
-
type: :runtime
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 0.1.2
|
44
|
-
version:
|
14
|
+
dependencies: []
|
15
|
+
|
45
16
|
description: Manage satellites
|
46
17
|
email: simon.menke@gmail.com
|
47
18
|
executables:
|
@@ -90,8 +61,6 @@ files:
|
|
90
61
|
- lib/shuttle/system/satellites.rb
|
91
62
|
- lib/shuttle/system/shell.rb
|
92
63
|
- lib/shuttle/system.rb
|
93
|
-
- lib/shuttle/systems/centos_plesk_system.rb
|
94
|
-
- lib/shuttle/systems/macports_system.rb
|
95
64
|
- lib/shuttle.rb
|
96
65
|
- app_generators/engine/engine_generator.rb
|
97
66
|
- app_generators/engine/templates/config/routes.rb
|
@@ -1,28 +0,0 @@
|
|
1
|
-
use :PassengerActor
|
2
|
-
use :PleskActor
|
3
|
-
|
4
|
-
apachectl_path { '/opt/local/apache2/bin/apachectl' }
|
5
|
-
ruby_path { '/usr/bin/ruby' }
|
6
|
-
gem_path { '/usr/bin/gem' }
|
7
|
-
plesk_path { '/usr/bin/gem' }
|
8
|
-
|
9
|
-
web_user { |s| s.domain.gsub(/[^a-zA-Z0-9]+/, '_') }
|
10
|
-
web_group { 'psacln' }
|
11
|
-
|
12
|
-
plesk_root { |s| "/var/www/vhost" }
|
13
|
-
|
14
|
-
satellite_root do |s|
|
15
|
-
if s.subdomain?
|
16
|
-
"#{plesk_root}/#{s.basedomain}/subdomains/#{s.subdomain}/satellite"
|
17
|
-
else
|
18
|
-
"#{plesk_root}/#{s.domain}/satellite"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
shared_root do |s|
|
23
|
-
if s.subdomain?
|
24
|
-
"#{plesk_root}/#{s.basedomain}/subdomains/#{s.subdomain}/shared"
|
25
|
-
else
|
26
|
-
"#{plesk_root}/#{s.domain}/shared"
|
27
|
-
end
|
28
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
use :PassengerActor
|
2
|
-
use :ApacheActor
|
3
|
-
use :MysqlActor
|
4
|
-
|
5
|
-
apachectl_path { '/opt/local/apache2/bin/apachectl' }
|
6
|
-
ruby_path { '/opt/local/bin/ruby' }
|
7
|
-
gem_path { '/opt/local/bin/gem' }
|
8
|
-
|
9
|
-
|
10
|
-
web_user { 'www' }
|
11
|
-
web_group { 'www' }
|
12
|
-
|
13
|
-
satellite_root { |s| "/opt/local/var/www/#{s.domain}/satellite" }
|
14
|
-
shared_root { |s| "/opt/local/var/www/#{s.domain}/shared" }
|