circus-deployment 0.0.1 → 0.2
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/bundler/circus_util.rb +1 -2
- data/lib/bundler/gem_cacher.rb +46 -0
- data/lib/circus.rb +2 -1
- data/lib/circus/act.rb +29 -6
- data/lib/circus/application.rb +49 -6
- data/lib/circus/booth_tool.rb +14 -1
- data/lib/circus/cli.rb +21 -2
- data/lib/circus/clown_client.rb +4 -0
- data/lib/circus/external_util.rb +10 -0
- data/lib/circus/processes/daemontools.rb +65 -0
- data/lib/circus/profiles.rb +2 -0
- data/lib/circus/profiles/base.rb +20 -1
- data/lib/circus/profiles/chef_stack.rb +75 -0
- data/lib/circus/profiles/make_base.rb +4 -1
- data/lib/circus/profiles/maven_webapp.rb +117 -0
- data/lib/circus/profiles/maven_webapp_jetty.xml.erb +74 -0
- data/lib/circus/profiles/maven_webapp_jetty_app.xml.erb +56 -0
- data/lib/circus/profiles/python_base.rb +5 -5
- data/lib/circus/profiles/rack.rb +11 -7
- data/lib/circus/profiles/ruby_base.rb +13 -4
- data/lib/circus/repos/git.rb +2 -1
- data/lib/circus/version.rb +1 -1
- metadata +106 -72
- data/lib/circus/agents/agent.rb +0 -59
- data/lib/circus/agents/logger.rb +0 -52
@@ -10,7 +10,10 @@ module Circus
|
|
10
10
|
|
11
11
|
def prepare_for_deploy(logger, overlay_dir)
|
12
12
|
# Build the application
|
13
|
-
|
13
|
+
if File.exists?(File.join(@dir, 'Makefile'))
|
14
|
+
logger.info("Compiling #{@name}")
|
15
|
+
run_external(logger, 'Compile application', "cd #{@dir}; make")
|
16
|
+
end
|
14
17
|
end
|
15
18
|
end
|
16
19
|
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'rexml/document'
|
2
|
+
require 'erb'
|
3
|
+
|
4
|
+
module Circus
|
5
|
+
module Profiles
|
6
|
+
class MavenWebApp < Base
|
7
|
+
MAVEN_WEBAPP_PROPERTY='maven-webapp'
|
8
|
+
|
9
|
+
# Checks if this is a shell applcation. Will accept the application if it
|
10
|
+
# has a file named <name>.sh, or has a 'shell-app' property describing the entry point.
|
11
|
+
def self.accepts?(name, dir, props)
|
12
|
+
pom_path = File.join(dir, "pom.xml")
|
13
|
+
|
14
|
+
return true if props.include? MAVEN_WEBAPP_PROPERTY
|
15
|
+
return false unless File.exists?(pom_path)
|
16
|
+
|
17
|
+
pom_content = REXML::Document.new(File.new(pom_path))
|
18
|
+
packaging_el = pom_content.root.elements['packaging']
|
19
|
+
return false unless packaging_el
|
20
|
+
|
21
|
+
packaging_el.text.strip == 'war'
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :app_final_name
|
25
|
+
|
26
|
+
def initialize(name, dir, props)
|
27
|
+
super(name, dir, props)
|
28
|
+
|
29
|
+
@app_final_name = props[MAVEN_WEBAPP_PROPERTY] || detect_app_name
|
30
|
+
end
|
31
|
+
|
32
|
+
# The name of this profile
|
33
|
+
def name
|
34
|
+
"maven-war"
|
35
|
+
end
|
36
|
+
|
37
|
+
def dev_run_script_content
|
38
|
+
shell_run_script do
|
39
|
+
<<-EOT
|
40
|
+
cd #{@dir}
|
41
|
+
exec mvn jetty:run
|
42
|
+
EOT
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def prepare_for_deploy(logger, overlay_dir)
|
47
|
+
# Build the maven package, then copy the output into the overlay directory
|
48
|
+
logger.info("Building maven application #{@name}")
|
49
|
+
return false unless run_external(logger, 'Perform maven packaging', "cd #{@dir}; mvn package -Dmaven.test.skip=true")
|
50
|
+
|
51
|
+
logger.info("Expanding artifact #{app_final_name}.war")
|
52
|
+
final_full_path = File.expand_path("target/#{app_final_name}.war")
|
53
|
+
return false unless run_external(logger,
|
54
|
+
'Expand application artifact',
|
55
|
+
"mkdir #{overlay_dir}/#{@name} && unzip #{@dir}/target/#{app_final_name}.war -d #{overlay_dir}/#{@name}/")
|
56
|
+
|
57
|
+
logger.info("Generating configuration files for #{@name}")
|
58
|
+
write_template('maven_webapp_jetty.xml.erb', "#{overlay_dir}/jetty.xml")
|
59
|
+
write_template('maven_webapp_jetty_app.xml.erb', "#{overlay_dir}/jetty-app.xml")
|
60
|
+
File.open("#{overlay_dir}/jetty.properties", 'w') do |f|
|
61
|
+
f << "jetty.home=/opt/jetty-7.1"
|
62
|
+
end
|
63
|
+
|
64
|
+
true
|
65
|
+
end
|
66
|
+
|
67
|
+
def deploy_run_script_content
|
68
|
+
shell_run_script do
|
69
|
+
<<-EOT
|
70
|
+
exec java -jar /opt/jetty-7.1/start.jar -Djetty.home=/opt/jetty-7.1 OPTIONS=Server,plus,jndi `pwd`/jetty.properties `pwd`/jetty.xml `pwd`/jetty-app.xml
|
71
|
+
EOT
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def package_base_dir?
|
76
|
+
false
|
77
|
+
end
|
78
|
+
|
79
|
+
private
|
80
|
+
def listen_port
|
81
|
+
@props['web-app-port'] || 8130
|
82
|
+
end
|
83
|
+
|
84
|
+
def amqp_connection_factories
|
85
|
+
@props['amqp-connections'] || []
|
86
|
+
end
|
87
|
+
def datasources
|
88
|
+
@props['datasources'] || []
|
89
|
+
end
|
90
|
+
def env_entries
|
91
|
+
@props['env-entries'] || []
|
92
|
+
end
|
93
|
+
|
94
|
+
def detect_app_name
|
95
|
+
effective_pom_path = "/tmp/#{name}-effective.pom"
|
96
|
+
`cd #{@dir}; mvn help:effective-pom -Doutput=#{effective_pom_path}`
|
97
|
+
unless $? == 0
|
98
|
+
raise "Failed to determine effective pom for maven webapp act #{name}"
|
99
|
+
end
|
100
|
+
|
101
|
+
pom_content = REXML::Document.new(File.new(effective_pom_path))
|
102
|
+
pom_content.root.elements['build/finalName'].text.strip
|
103
|
+
end
|
104
|
+
|
105
|
+
def write_template(template_name, out_name)
|
106
|
+
template_path = File.expand_path("../#{template_name}", __FILE__)
|
107
|
+
template_erb = ERB.new(File.read template_path)
|
108
|
+
template_erb.filename = template_path
|
109
|
+
File.open(out_name, 'w') do |f|
|
110
|
+
f.write(template_erb.result(binding))
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
PROFILES << MavenWebApp
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
|
3
|
+
|
4
|
+
<!-- =============================================================== -->
|
5
|
+
<!-- Configure the Jetty Server -->
|
6
|
+
<!-- -->
|
7
|
+
<!-- Documentation of this file format can be found at: -->
|
8
|
+
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax -->
|
9
|
+
<!-- -->
|
10
|
+
<!-- Additional configuration files are available in $JETTY_HOME/etc -->
|
11
|
+
<!-- and can be mixed in. For example: -->
|
12
|
+
<!-- java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml -->
|
13
|
+
<!-- -->
|
14
|
+
<!-- See start.ini file for the default configuraton files -->
|
15
|
+
<!-- =============================================================== -->
|
16
|
+
|
17
|
+
|
18
|
+
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
19
|
+
<!-- =========================================================== -->
|
20
|
+
<!-- Server Thread Pool -->
|
21
|
+
<!-- =========================================================== -->
|
22
|
+
<Set name="ThreadPool">
|
23
|
+
<!-- Default queued blocking threadpool -->
|
24
|
+
<New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
|
25
|
+
<Set name="minThreads">10</Set>
|
26
|
+
<Set name="maxThreads">200</Set>
|
27
|
+
</New>
|
28
|
+
</Set>
|
29
|
+
|
30
|
+
<!-- =========================================================== -->
|
31
|
+
<!-- Set connectors -->
|
32
|
+
<!-- =========================================================== -->
|
33
|
+
|
34
|
+
<Call name="addConnector">
|
35
|
+
<Arg>
|
36
|
+
<New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
|
37
|
+
<Set name="host"><Property name="jetty.host" /></Set>
|
38
|
+
<Set name="port"><%= listen_port %></Set>
|
39
|
+
<Set name="maxIdleTime">300000</Set>
|
40
|
+
<Set name="Acceptors">2</Set>
|
41
|
+
<Set name="statsOn">false</Set>
|
42
|
+
<!-- <Set name="confidentialPort">8443</Set> -->
|
43
|
+
<Set name="lowResourcesConnections">20000</Set>
|
44
|
+
<Set name="lowResourcesMaxIdleTime">5000</Set>
|
45
|
+
</New>
|
46
|
+
</Arg>
|
47
|
+
</Call>
|
48
|
+
|
49
|
+
<!-- =========================================================== -->
|
50
|
+
<!-- Set handler Collection Structure -->
|
51
|
+
<!-- =========================================================== -->
|
52
|
+
<Set name="handler">
|
53
|
+
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
|
54
|
+
<Set name="handlers">
|
55
|
+
<Array type="org.eclipse.jetty.server.Handler">
|
56
|
+
<Item>
|
57
|
+
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
|
58
|
+
</Item>
|
59
|
+
<Item>
|
60
|
+
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
|
61
|
+
</Item>
|
62
|
+
</Array>
|
63
|
+
</Set>
|
64
|
+
</New>
|
65
|
+
</Set>
|
66
|
+
|
67
|
+
<!-- =========================================================== -->
|
68
|
+
<!-- extra options -->
|
69
|
+
<!-- =========================================================== -->
|
70
|
+
<Set name="stopAtShutdown">true</Set>
|
71
|
+
<Set name="sendServerVersion">true</Set>
|
72
|
+
<Set name="sendDateHeader">true</Set>
|
73
|
+
<Set name="gracefulShutdown">1000</Set>
|
74
|
+
</Configure>
|
@@ -0,0 +1,56 @@
|
|
1
|
+
<?xml version="1.0"?>
|
2
|
+
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
|
3
|
+
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
4
|
+
<New class="org.eclipse.jetty.webapp.WebAppContext">
|
5
|
+
<Arg><Ref id="Contexts"/></Arg>
|
6
|
+
<Arg><%= @name %></Arg>
|
7
|
+
<Arg>/</Arg>
|
8
|
+
|
9
|
+
<Set name="ConfigurationClasses">
|
10
|
+
<Array type="java.lang.String">
|
11
|
+
<Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
|
12
|
+
<Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
|
13
|
+
<Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
|
14
|
+
<Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
|
15
|
+
<Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
|
16
|
+
<Item>org.eclipse.jetty.plus.webapp.Configuration</Item>
|
17
|
+
<Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
|
18
|
+
<Item>org.eclipse.jetty.webapp.TagLibConfiguration</Item>
|
19
|
+
</Array>
|
20
|
+
</Set>
|
21
|
+
|
22
|
+
<% amqp_connection_factories.each do |cf| %>
|
23
|
+
<New class="org.eclipse.jetty.plus.jndi.Resource">
|
24
|
+
<Arg></Arg>
|
25
|
+
<Arg><%= cf['name'] %></Arg>
|
26
|
+
<Arg>
|
27
|
+
<New class="com.rabbitmq.client.ConnectionFactory">
|
28
|
+
<Set name="host"><%= cf['host'] %></Set>
|
29
|
+
</New>
|
30
|
+
</Arg>
|
31
|
+
</New>
|
32
|
+
<% end %>
|
33
|
+
|
34
|
+
<% datasources.each do |ds| %>
|
35
|
+
<New class="org.eclipse.jetty.plus.jndi.Resource">
|
36
|
+
<Arg></Arg>
|
37
|
+
<Arg><%= ds['name'] %></Arg>
|
38
|
+
<Arg>
|
39
|
+
<New class="org.apache.commons.dbcp.BasicDataSource">
|
40
|
+
<Set name="driverClassName">org.postgresql.Driver</Set>
|
41
|
+
<Set name="url">jdbc:postgresql://localhost/<%= ds['db_name'] %>?user=<%= ds['db_user'] %>&password=<%= ds['db_password'] %></Set>
|
42
|
+
</New>
|
43
|
+
</Arg>
|
44
|
+
</New>
|
45
|
+
<% end %>
|
46
|
+
|
47
|
+
<% env_entries.each do |ee| %>
|
48
|
+
<New class="org.eclipse.jetty.plus.jndi.EnvEntry">
|
49
|
+
<Arg></Arg>
|
50
|
+
<Arg><%= ee['name'] %></Arg>
|
51
|
+
<Arg type="<%= ee['type'] %>"><%= ee['value']%></Arg>
|
52
|
+
<Arg type="boolean">true</Arg>
|
53
|
+
</New>
|
54
|
+
<% end %>
|
55
|
+
</New>
|
56
|
+
</Configure>
|
@@ -10,11 +10,11 @@ module Circus
|
|
10
10
|
|
11
11
|
def prepare_for_deploy(logger, overlay_dir)
|
12
12
|
# Build the virtualenv
|
13
|
-
|
14
|
-
unless
|
15
|
-
|
16
|
-
end
|
13
|
+
unless File.exists? "#{@dir}/vendor"
|
14
|
+
return false unless run_external(logger, "Create virtualenv", "cd #{@dir}; virtualenv --no-site-packages vendor")
|
15
|
+
end
|
17
16
|
|
17
|
+
if has_depsfile?
|
18
18
|
File.read(depsfile_fn).lines.each do |dep|
|
19
19
|
return false unless run_external(logger, "Install dep #{dep}",
|
20
20
|
"cd #{@dir}; vendor/bin/easy_install -q \"#{dep.strip}\"")
|
@@ -36,4 +36,4 @@ module Circus
|
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
39
|
-
end
|
39
|
+
end
|
data/lib/circus/profiles/rack.rb
CHANGED
@@ -35,17 +35,21 @@ module Circus
|
|
35
35
|
def deploy_run_script_content
|
36
36
|
shell_run_script do
|
37
37
|
<<-EOT
|
38
|
-
exec bundle exec
|
38
|
+
exec bundle exec thin -R #{@rackup_name} -p #{listen_port} start
|
39
39
|
EOT
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
43
|
+
# Describes the requirements of the deployed application. Rack applications automatically
|
44
|
+
# have an environment system property applied for RACK_ENV and RAILS_ENV
|
45
|
+
def requirements
|
46
|
+
res = super
|
47
|
+
|
48
|
+
res['system-properties'] ||= {}
|
49
|
+
res['system-properties']['RACK_ENV'] = 'production'
|
50
|
+
res['system-properties']['RAILS_ENV'] = 'production'
|
51
|
+
|
52
|
+
res
|
49
53
|
end
|
50
54
|
|
51
55
|
private
|
@@ -5,21 +5,30 @@ require 'bundler/circus_util'
|
|
5
5
|
module Circus
|
6
6
|
module Profiles
|
7
7
|
class RubyBase < Base
|
8
|
-
BUNDLER_TOOL=File.expand_path('../../../bundler/
|
8
|
+
BUNDLER_TOOL=File.expand_path('../../../bundler/gem_cacher.rb', __FILE__)
|
9
9
|
|
10
10
|
def initialize(name, dir, props)
|
11
11
|
super(name, dir, props)
|
12
12
|
end
|
13
13
|
|
14
|
-
#
|
14
|
+
# Do basic gemfile preparation for dev. Don't override dev_run_script_content, since it is the
|
15
15
|
# same as the deployment variant.
|
16
|
-
def prepare_for_dev(logger, run_dir)
|
16
|
+
def prepare_for_dev(logger, run_dir)
|
17
|
+
if has_gemfile?
|
18
|
+
# TODO: Correct behaviour if working in the presence of an existing bundler environment
|
19
|
+
run_external(logger, 'gem installation', "cd #{@dir}; bundle check || bundle install")
|
20
|
+
end
|
21
|
+
|
22
|
+
true
|
23
|
+
end
|
17
24
|
|
18
25
|
def prepare_for_deploy(logger, overlay_dir)
|
19
26
|
# Run the gem bundler if necessary
|
20
27
|
if has_gemfile?
|
21
28
|
logger.info("Bundling gems")
|
22
|
-
run_external(logger, 'gem
|
29
|
+
return false unless run_external(logger, 'gem installation', "cd #{@dir}; bundle install")
|
30
|
+
return false unless run_external(logger, 'gem caching',
|
31
|
+
"cd #{@dir}; ruby #{BUNDLER_TOOL} && rm Gemfile.lock && bundle install vendor/bundle")
|
23
32
|
end
|
24
33
|
|
25
34
|
true
|
data/lib/circus/repos/git.rb
CHANGED
data/lib/circus/version.rb
CHANGED
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: circus-deployment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
4
5
|
prerelease: false
|
5
6
|
segments:
|
6
7
|
- 0
|
7
|
-
-
|
8
|
-
|
9
|
-
version: 0.0.1
|
8
|
+
- 2
|
9
|
+
version: "0.2"
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Paul Jones
|
@@ -14,16 +14,18 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-11-06 00:00:00 -07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - ">="
|
26
27
|
- !ruby/object:Gem::Version
|
28
|
+
hash: 3
|
27
29
|
segments:
|
28
30
|
- 0
|
29
31
|
version: "0"
|
@@ -33,9 +35,11 @@ dependencies:
|
|
33
35
|
name: thor
|
34
36
|
prerelease: false
|
35
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
36
39
|
requirements:
|
37
40
|
- - ">="
|
38
41
|
- !ruby/object:Gem::Version
|
42
|
+
hash: 35
|
39
43
|
segments:
|
40
44
|
- 0
|
41
45
|
- 13
|
@@ -47,9 +51,11 @@ dependencies:
|
|
47
51
|
name: uuid
|
48
52
|
prerelease: false
|
49
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
50
55
|
requirements:
|
51
56
|
- - "="
|
52
57
|
- !ruby/object:Gem::Version
|
58
|
+
hash: 13
|
53
59
|
segments:
|
54
60
|
- 2
|
55
61
|
- 0
|
@@ -61,9 +67,11 @@ dependencies:
|
|
61
67
|
name: net-ssh
|
62
68
|
prerelease: false
|
63
69
|
requirement: &id004 !ruby/object:Gem::Requirement
|
70
|
+
none: false
|
64
71
|
requirements:
|
65
72
|
- - "="
|
66
73
|
- !ruby/object:Gem::Version
|
74
|
+
hash: 35
|
67
75
|
segments:
|
68
76
|
- 2
|
69
77
|
- 0
|
@@ -75,9 +83,11 @@ dependencies:
|
|
75
83
|
name: net-scp
|
76
84
|
prerelease: false
|
77
85
|
requirement: &id005 !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
78
87
|
requirements:
|
79
88
|
- - "="
|
80
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 19
|
81
91
|
segments:
|
82
92
|
- 1
|
83
93
|
- 0
|
@@ -85,6 +95,22 @@ dependencies:
|
|
85
95
|
version: 1.0.2
|
86
96
|
type: :runtime
|
87
97
|
version_requirements: *id005
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: json_pure
|
100
|
+
prerelease: false
|
101
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
102
|
+
none: false
|
103
|
+
requirements:
|
104
|
+
- - "="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
hash: 11
|
107
|
+
segments:
|
108
|
+
- 1
|
109
|
+
- 4
|
110
|
+
- 6
|
111
|
+
version: 1.4.6
|
112
|
+
type: :runtime
|
113
|
+
version_requirements: *id006
|
88
114
|
description: Circus provides the ability to deploy multi-component applications easily
|
89
115
|
email:
|
90
116
|
- pauljones23@gmail.com
|
@@ -96,96 +122,100 @@ extra_rdoc_files: []
|
|
96
122
|
|
97
123
|
files:
|
98
124
|
- bin/circus
|
99
|
-
- lib/
|
100
|
-
- lib/
|
101
|
-
- lib/
|
102
|
-
- lib/
|
103
|
-
- lib/circus/
|
104
|
-
- lib/circus/profiles/django.rb
|
105
|
-
- lib/circus/profiles/jekyll.rb
|
106
|
-
- lib/circus/profiles/make_base.rb
|
107
|
-
- lib/circus/profiles/rack.rb
|
108
|
-
- lib/circus/profiles/ruby_base.rb
|
109
|
-
- lib/circus/profiles/pure_py.rb
|
110
|
-
- lib/circus/profiles/python_base.rb
|
111
|
-
- lib/circus/profiles/pure_rb.rb
|
112
|
-
- lib/circus/profiles/base.rb
|
113
|
-
- lib/circus/local_config.rb
|
114
|
-
- lib/circus/connection_builder.rb
|
125
|
+
- lib/bundler/patches.rb
|
126
|
+
- lib/bundler/circus_util.rb
|
127
|
+
- lib/bundler/circus_bundler.rb
|
128
|
+
- lib/bundler/gem_cacher.rb
|
129
|
+
- lib/circus/application.rb
|
115
130
|
- lib/circus/stdout_logger.rb
|
116
|
-
- lib/circus/
|
117
|
-
- lib/circus/
|
118
|
-
- lib/circus/
|
119
|
-
- lib/circus/
|
131
|
+
- lib/circus/actstore_client.rb
|
132
|
+
- lib/circus/clown_client.rb
|
133
|
+
- lib/circus/processes/daemontools.rb
|
134
|
+
- lib/circus/act.rb
|
120
135
|
- lib/circus/agents/dbus_logger.rb
|
121
|
-
- lib/circus/agents/
|
122
|
-
- lib/circus/agents/
|
136
|
+
- lib/circus/agents/conversation.rb
|
137
|
+
- lib/circus/agents/dbus_connection.rb
|
123
138
|
- lib/circus/agents/encoding.rb
|
124
139
|
- lib/circus/agents/params.rb
|
125
140
|
- lib/circus/agents/connection.rb
|
141
|
+
- lib/circus/agents/client.rb
|
126
142
|
- lib/circus/agents/ssh_connection.rb
|
127
|
-
- lib/circus/
|
128
|
-
- lib/circus/
|
129
|
-
- lib/circus/cli.rb
|
130
|
-
- lib/circus/application.rb
|
143
|
+
- lib/circus/connection_builder.rb
|
144
|
+
- lib/circus/booth_client.rb
|
131
145
|
- lib/circus/profiles.rb
|
132
|
-
- lib/circus/repos.rb
|
133
146
|
- lib/circus/version.rb
|
134
|
-
- lib/circus/
|
147
|
+
- lib/circus/local_config.rb
|
135
148
|
- lib/circus/booth_tool.rb
|
149
|
+
- lib/circus/cli.rb
|
150
|
+
- lib/circus/resource_allocator_client.rb
|
151
|
+
- lib/circus/external_util.rb
|
152
|
+
- lib/circus/repos/git.rb
|
153
|
+
- lib/circus/repos/mercurial.rb
|
154
|
+
- lib/circus/repos.rb
|
155
|
+
- lib/circus/profiles/rack.rb
|
156
|
+
- lib/circus/profiles/ruby_base.rb
|
157
|
+
- lib/circus/profiles/maven_webapp.rb
|
158
|
+
- lib/circus/profiles/pure_py.rb
|
159
|
+
- lib/circus/profiles/chef_stack.rb
|
160
|
+
- lib/circus/profiles/maven_webapp_jetty.xml.erb
|
161
|
+
- lib/circus/profiles/jekyll.rb
|
162
|
+
- lib/circus/profiles/make_base.rb
|
163
|
+
- lib/circus/profiles/shell.rb
|
164
|
+
- lib/circus/profiles/pure_rb.rb
|
165
|
+
- lib/circus/profiles/maven_webapp_jetty_app.xml.erb
|
166
|
+
- lib/circus/profiles/python_base.rb
|
167
|
+
- lib/circus/profiles/django.rb
|
168
|
+
- lib/circus/profiles/base.rb
|
136
169
|
- lib/circus.rb
|
137
|
-
- lib/bundler/patches.rb
|
138
|
-
- lib/bundler/circus_bundler.rb
|
139
|
-
- lib/bundler/circus_util.rb
|
140
|
-
- vendor/ruby-dbus/doc/tutorial/src/default.template
|
141
|
-
- vendor/ruby-dbus/doc/tutorial/src/10.intro.page
|
142
|
-
- vendor/ruby-dbus/doc/tutorial/src/00.index.page
|
143
|
-
- vendor/ruby-dbus/doc/tutorial/src/30.service.page
|
144
|
-
- vendor/ruby-dbus/doc/tutorial/src/default.css
|
145
|
-
- vendor/ruby-dbus/doc/tutorial/src/20.basic_client.page
|
146
|
-
- vendor/ruby-dbus/setup.rb
|
147
|
-
- vendor/ruby-dbus/ChangeLog
|
148
|
-
- vendor/ruby-dbus/lib/dbus.rb
|
149
|
-
- vendor/ruby-dbus/lib/dbus/export.rb
|
150
|
-
- vendor/ruby-dbus/lib/dbus/type.rb
|
151
|
-
- vendor/ruby-dbus/lib/dbus/auth.rb
|
152
|
-
- vendor/ruby-dbus/lib/dbus/message.rb
|
153
|
-
- vendor/ruby-dbus/lib/dbus/bus.rb
|
154
|
-
- vendor/ruby-dbus/lib/dbus/marshall.rb
|
155
|
-
- vendor/ruby-dbus/lib/dbus/matchrule.rb
|
156
|
-
- vendor/ruby-dbus/lib/dbus/introspect.rb
|
157
|
-
- vendor/ruby-dbus/README
|
158
|
-
- vendor/ruby-dbus/HOWTO-RELEASE
|
159
|
-
- vendor/ruby-dbus/NEWS
|
160
170
|
- vendor/ruby-dbus/Rakefile
|
161
|
-
- vendor/ruby-dbus/
|
162
|
-
- vendor/ruby-dbus/
|
171
|
+
- vendor/ruby-dbus/HOWTO-RELEASE
|
172
|
+
- vendor/ruby-dbus/ChangeLog
|
173
|
+
- vendor/ruby-dbus/COPYING
|
174
|
+
- vendor/ruby-dbus/examples/utils/listnames.rb
|
175
|
+
- vendor/ruby-dbus/examples/utils/notify.rb
|
163
176
|
- vendor/ruby-dbus/examples/simple/call_introspect.rb
|
164
177
|
- vendor/ruby-dbus/examples/rhythmbox/playpause.rb
|
165
|
-
- vendor/ruby-dbus/examples/no-introspect/nm-test.rb
|
166
|
-
- vendor/ruby-dbus/examples/no-introspect/tracker-test.rb
|
167
178
|
- vendor/ruby-dbus/examples/gdbus/gdbus
|
168
|
-
- vendor/ruby-dbus/examples/gdbus/gdbus.glade
|
169
179
|
- vendor/ruby-dbus/examples/gdbus/launch.sh
|
170
|
-
- vendor/ruby-dbus/examples/
|
171
|
-
- vendor/ruby-dbus/examples/
|
172
|
-
- vendor/ruby-dbus/
|
180
|
+
- vendor/ruby-dbus/examples/gdbus/gdbus.glade
|
181
|
+
- vendor/ruby-dbus/examples/service/service_newapi.rb
|
182
|
+
- vendor/ruby-dbus/examples/service/call_service.rb
|
183
|
+
- vendor/ruby-dbus/examples/no-introspect/tracker-test.rb
|
184
|
+
- vendor/ruby-dbus/examples/no-introspect/nm-test.rb
|
185
|
+
- vendor/ruby-dbus/lib/dbus.rb
|
186
|
+
- vendor/ruby-dbus/lib/dbus/bus.rb
|
187
|
+
- vendor/ruby-dbus/lib/dbus/message.rb
|
188
|
+
- vendor/ruby-dbus/lib/dbus/introspect.rb
|
189
|
+
- vendor/ruby-dbus/lib/dbus/matchrule.rb
|
190
|
+
- vendor/ruby-dbus/lib/dbus/auth.rb
|
191
|
+
- vendor/ruby-dbus/lib/dbus/marshall.rb
|
192
|
+
- vendor/ruby-dbus/lib/dbus/export.rb
|
193
|
+
- vendor/ruby-dbus/lib/dbus/type.rb
|
194
|
+
- vendor/ruby-dbus/setup.rb
|
195
|
+
- vendor/ruby-dbus/NEWS
|
196
|
+
- vendor/ruby-dbus/README
|
197
|
+
- vendor/ruby-dbus/test/variant_test.rb
|
198
|
+
- vendor/ruby-dbus/test/t6-loop.rb
|
173
199
|
- vendor/ruby-dbus/test/server_test.rb
|
174
|
-
- vendor/ruby-dbus/test/test_server
|
175
|
-
- vendor/ruby-dbus/test/t1
|
176
200
|
- vendor/ruby-dbus/test/service_newapi.rb
|
177
|
-
- vendor/ruby-dbus/test/bus_driver_test.rb
|
178
|
-
- vendor/ruby-dbus/test/t6-loop.rb
|
179
201
|
- vendor/ruby-dbus/test/server_robustness_test.rb
|
180
202
|
- vendor/ruby-dbus/test/t3-ticket27.rb
|
181
203
|
- vendor/ruby-dbus/test/test_all
|
182
|
-
- vendor/ruby-dbus/test/
|
183
|
-
- vendor/ruby-dbus/test/
|
204
|
+
- vendor/ruby-dbus/test/test_server
|
205
|
+
- vendor/ruby-dbus/test/t1
|
206
|
+
- vendor/ruby-dbus/test/signal_test.rb
|
184
207
|
- vendor/ruby-dbus/test/t2.rb
|
208
|
+
- vendor/ruby-dbus/test/bus_driver_test.rb
|
185
209
|
- vendor/ruby-dbus/test/session_bus_test_manual.rb
|
186
|
-
- vendor/ruby-dbus/test/signal_test.rb
|
187
210
|
- vendor/ruby-dbus/test/Makefile
|
188
|
-
- vendor/ruby-dbus/
|
211
|
+
- vendor/ruby-dbus/test/t5-report-dbus-interface.rb
|
212
|
+
- vendor/ruby-dbus/doc/tutorial/src/30.service.page
|
213
|
+
- vendor/ruby-dbus/doc/tutorial/src/default.css
|
214
|
+
- vendor/ruby-dbus/doc/tutorial/src/00.index.page
|
215
|
+
- vendor/ruby-dbus/doc/tutorial/src/10.intro.page
|
216
|
+
- vendor/ruby-dbus/doc/tutorial/src/20.basic_client.page
|
217
|
+
- vendor/ruby-dbus/doc/tutorial/src/default.template
|
218
|
+
- vendor/ruby-dbus/ruby-dbus.gemspec
|
189
219
|
- LICENSE
|
190
220
|
- README.md
|
191
221
|
has_rdoc: true
|
@@ -199,16 +229,20 @@ require_paths:
|
|
199
229
|
- lib
|
200
230
|
- vendor/ruby-dbus/lib
|
201
231
|
required_ruby_version: !ruby/object:Gem::Requirement
|
232
|
+
none: false
|
202
233
|
requirements:
|
203
234
|
- - ">="
|
204
235
|
- !ruby/object:Gem::Version
|
236
|
+
hash: 3
|
205
237
|
segments:
|
206
238
|
- 0
|
207
239
|
version: "0"
|
208
240
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
241
|
+
none: false
|
209
242
|
requirements:
|
210
243
|
- - ">="
|
211
244
|
- !ruby/object:Gem::Version
|
245
|
+
hash: 31
|
212
246
|
segments:
|
213
247
|
- 1
|
214
248
|
- 3
|
@@ -217,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
217
251
|
requirements: []
|
218
252
|
|
219
253
|
rubyforge_project:
|
220
|
-
rubygems_version: 1.3.
|
254
|
+
rubygems_version: 1.3.7
|
221
255
|
signing_key:
|
222
256
|
specification_version: 3
|
223
257
|
summary: Deploying the circus that is your application
|