trinidad_sandbox_extension 0.4.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -0
- data/Gemfile.lock +56 -0
- data/History.txt +6 -0
- data/README +27 -0
- data/git-hooks/post-commit +7 -0
- data/lib/trinidad_sandbox_extension.rb +24 -3
- data/lib/trinidad_sandbox_extension/app/helpers/{sandbox.rb → auth.rb} +20 -19
- data/lib/trinidad_sandbox_extension/app/helpers/context.rb +72 -0
- data/lib/trinidad_sandbox_extension/app/helpers/deploy.rb +106 -0
- data/lib/trinidad_sandbox_extension/app/helpers/view.rb +39 -0
- data/lib/trinidad_sandbox_extension/app/model/application_context.rb +48 -4
- data/lib/trinidad_sandbox_extension/app/public/css/sandbox.css +187 -0
- data/lib/trinidad_sandbox_extension/app/sandbox.rb +56 -39
- data/lib/trinidad_sandbox_extension/app/views/actions.html.haml +2 -2
- data/lib/trinidad_sandbox_extension/app/views/applications.html.haml +17 -0
- data/lib/trinidad_sandbox_extension/app/views/applications.xml.haml +13 -0
- data/lib/trinidad_sandbox_extension/app/views/deploy.html.haml +16 -0
- data/lib/trinidad_sandbox_extension/app/views/layout.html.haml +10 -6
- data/lib/trinidad_sandbox_extension/app/views/navigation.html.haml +10 -0
- data/spec/trinidad_sandbox_extension_spec.rb +12 -2
- data/trinidad-libs/trinidad-sandbox-extension.jar +0 -0
- data/trinidad_sandbox_extension.gemspec +16 -9
- metadata +52 -41
- data/lib/trinidad_sandbox_extension/app/public/css/main.css +0 -137
- data/lib/trinidad_sandbox_extension/app/views/app.html.haml +0 -8
- data/lib/trinidad_sandbox_extension/app/views/app.xml.haml +0 -11
- data/lib/trinidad_sandbox_extension/app/views/index.html.haml +0 -6
- data/lib/trinidad_sandbox_extension/app/views/index.xml.haml +0 -3
@@ -0,0 +1,13 @@
|
|
1
|
+
%applications
|
2
|
+
- @applications.each do |app|
|
3
|
+
%application
|
4
|
+
%name= app.name
|
5
|
+
%path= app.path
|
6
|
+
%available= app.available
|
7
|
+
- unless readonly?
|
8
|
+
- app.actions.each do |action|
|
9
|
+
%link(rel = "#{action[:rel]}" href = "#{action[:href]}.xml")
|
10
|
+
- if app.parameters
|
11
|
+
%context-parameters
|
12
|
+
- app.parameters.each do |param_name|
|
13
|
+
%parameter(name = "#{param_name}" value = "#{app.find_parameter(param_name)}")
|
@@ -0,0 +1,16 @@
|
|
1
|
+
%div(id="deploy" class="container")
|
2
|
+
%form(action="#{sandbox_context.path}/deploy" method="post")
|
3
|
+
%input(type="hidden" name="deploy_token" value="#{render_deploy_token}")
|
4
|
+
%div
|
5
|
+
%label(for = "repo") Repository url
|
6
|
+
%input(type="text" name="repo" id="repo" size="38")
|
7
|
+
%div
|
8
|
+
%label(for = "branch") Branch
|
9
|
+
%input(type="text" name="branch" id="branch" size="38")
|
10
|
+
%div
|
11
|
+
%label(for = "path") Application path
|
12
|
+
%input(type="text" name="path" id="path" size="38")
|
13
|
+
%div
|
14
|
+
%button(type="submit" data-disable-with="Please wait...") Deploy
|
15
|
+
#git-hook
|
16
|
+
%p Use <span>http://#{render_host_name}/sandbox/deploy?deploy_token=#{render_deploy_token}</span> as a Post-Receive URL on Github.
|
@@ -1,12 +1,16 @@
|
|
1
1
|
%html
|
2
2
|
%head
|
3
3
|
%title Trinidad's sandbox
|
4
|
-
%link(rel="stylesheet" href="#{sandbox_context.path}/css/
|
4
|
+
%link(rel="stylesheet" href="#{sandbox_context.path}/css/sandbox.css" type="text/css")
|
5
5
|
%body
|
6
|
+
#ribbon
|
7
|
+
%a(href="http://github.com/calavera/trinidad_sandbox_extension")
|
8
|
+
%img(style="position: absolute; top: 0; right: 0; border: 0;" src="https://assets2.github.com/img/71eeaab9d563c2b3c590319b398dd35683265e85?repo=&url=http%3A%2F%2Fs3.amazonaws.com%2Fgithub%2Fribbons%2Fforkme_right_gray_6d6d6d.png&path=" alt="Fork me on GitHub")
|
6
9
|
.site
|
7
|
-
|
8
|
-
%h1 Trinidad's sandbox
|
9
|
-
#content
|
10
|
+
%nav
|
10
11
|
%div
|
11
|
-
|
12
|
-
=
|
12
|
+
%h1 Trinidad
|
13
|
+
= haml :navigation, :layout => false
|
14
|
+
= styled_flash
|
15
|
+
%div
|
16
|
+
= yield
|
@@ -51,7 +51,17 @@ describe Trinidad::Extensions::SandboxServerExtension do
|
|
51
51
|
|
52
52
|
app_ctx = ext.create_application_context(@tomcat, opts)
|
53
53
|
|
54
|
-
app_ctx.servlet_context.
|
55
|
-
app_ctx.servlet_context.
|
54
|
+
app_ctx.servlet_context.get_attribute('sandbox_username').should == 'foo'
|
55
|
+
app_ctx.servlet_context.get_attribute('sandbox_password').should == 'bar'
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'stores the deploy token to use it for git deployment' do
|
59
|
+
opts = subject.prepare_options
|
60
|
+
opts[:deploy_token] = 'foobar'
|
61
|
+
|
62
|
+
ext = Trinidad::Extensions::SandboxServerExtension.new(opts)
|
63
|
+
|
64
|
+
app_ctx = ext.create_application_context(@tomcat, opts)
|
65
|
+
app_ctx.servlet_context.get_attribute('deploy_token').should == 'foobar'
|
56
66
|
end
|
57
67
|
end
|
Binary file
|
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'trinidad_sandbox_extension'
|
16
|
-
s.version = '0.
|
17
|
-
s.date = '
|
16
|
+
s.version = '1.0.0'
|
17
|
+
s.date = '2011-03-17'
|
18
18
|
s.rubyforge_project = 'trinidad_sandbox_extension'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
@@ -41,7 +41,8 @@ Gem::Specification.new do |s|
|
|
41
41
|
## List your runtime dependencies here. Runtime dependencies are those
|
42
42
|
## that are needed for an end user to actually USE your code.
|
43
43
|
s.add_dependency('trinidad', '>=1.0.1')
|
44
|
-
['sinatra', 'sinatra-authorization', 'sinatra-respond_to',
|
44
|
+
['sinatra', 'sinatra-authorization', 'sinatra-respond_to',
|
45
|
+
'sinatra-flash', 'haml', 'grit', 'json'].each do |dep|
|
45
46
|
s.add_dependency(dep)
|
46
47
|
end
|
47
48
|
|
@@ -55,21 +56,27 @@ Gem::Specification.new do |s|
|
|
55
56
|
## THE MANIFEST COMMENTS, they are used as delimiters by the task.
|
56
57
|
# = MANIFEST =
|
57
58
|
s.files = %w[
|
59
|
+
Gemfile
|
60
|
+
Gemfile.lock
|
58
61
|
History.txt
|
59
62
|
LICENSE
|
60
63
|
README
|
61
64
|
Rakefile
|
65
|
+
git-hooks/post-commit
|
62
66
|
lib/trinidad_sandbox_extension.rb
|
63
|
-
lib/trinidad_sandbox_extension/app/helpers/
|
67
|
+
lib/trinidad_sandbox_extension/app/helpers/auth.rb
|
68
|
+
lib/trinidad_sandbox_extension/app/helpers/context.rb
|
69
|
+
lib/trinidad_sandbox_extension/app/helpers/deploy.rb
|
70
|
+
lib/trinidad_sandbox_extension/app/helpers/view.rb
|
64
71
|
lib/trinidad_sandbox_extension/app/model/application_context.rb
|
65
|
-
lib/trinidad_sandbox_extension/app/public/css/
|
72
|
+
lib/trinidad_sandbox_extension/app/public/css/sandbox.css
|
66
73
|
lib/trinidad_sandbox_extension/app/sandbox.rb
|
67
74
|
lib/trinidad_sandbox_extension/app/views/actions.html.haml
|
68
|
-
lib/trinidad_sandbox_extension/app/views/
|
69
|
-
lib/trinidad_sandbox_extension/app/views/
|
70
|
-
lib/trinidad_sandbox_extension/app/views/
|
71
|
-
lib/trinidad_sandbox_extension/app/views/index.xml.haml
|
75
|
+
lib/trinidad_sandbox_extension/app/views/applications.html.haml
|
76
|
+
lib/trinidad_sandbox_extension/app/views/applications.xml.haml
|
77
|
+
lib/trinidad_sandbox_extension/app/views/deploy.html.haml
|
72
78
|
lib/trinidad_sandbox_extension/app/views/layout.html.haml
|
79
|
+
lib/trinidad_sandbox_extension/app/views/navigation.html.haml
|
73
80
|
lib/trinidad_sandbox_extension/config.ru
|
74
81
|
spec/spec.opts
|
75
82
|
spec/spec_helper.rb
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trinidad_sandbox_extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 4
|
8
|
-
- 2
|
9
|
-
version: 0.4.2
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- David Calavera
|
@@ -14,20 +10,17 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-03-17 00:00:00 -07:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
16
|
- !ruby/object:Gem::Dependency
|
21
17
|
name: trinidad
|
22
18
|
prerelease: false
|
23
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
24
21
|
requirements:
|
25
22
|
- - ">="
|
26
23
|
- !ruby/object:Gem::Version
|
27
|
-
segments:
|
28
|
-
- 1
|
29
|
-
- 0
|
30
|
-
- 1
|
31
24
|
version: 1.0.1
|
32
25
|
type: :runtime
|
33
26
|
version_requirements: *id001
|
@@ -35,11 +28,10 @@ dependencies:
|
|
35
28
|
name: sinatra
|
36
29
|
prerelease: false
|
37
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
38
32
|
requirements:
|
39
33
|
- - ">="
|
40
34
|
- !ruby/object:Gem::Version
|
41
|
-
segments:
|
42
|
-
- 0
|
43
35
|
version: "0"
|
44
36
|
type: :runtime
|
45
37
|
version_requirements: *id002
|
@@ -47,11 +39,10 @@ dependencies:
|
|
47
39
|
name: sinatra-authorization
|
48
40
|
prerelease: false
|
49
41
|
requirement: &id003 !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
50
43
|
requirements:
|
51
44
|
- - ">="
|
52
45
|
- !ruby/object:Gem::Version
|
53
|
-
segments:
|
54
|
-
- 0
|
55
46
|
version: "0"
|
56
47
|
type: :runtime
|
57
48
|
version_requirements: *id003
|
@@ -59,11 +50,10 @@ dependencies:
|
|
59
50
|
name: sinatra-respond_to
|
60
51
|
prerelease: false
|
61
52
|
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
62
54
|
requirements:
|
63
55
|
- - ">="
|
64
56
|
- !ruby/object:Gem::Version
|
65
|
-
segments:
|
66
|
-
- 0
|
67
57
|
version: "0"
|
68
58
|
type: :runtime
|
69
59
|
version_requirements: *id004
|
@@ -71,11 +61,10 @@ dependencies:
|
|
71
61
|
name: sinatra-flash
|
72
62
|
prerelease: false
|
73
63
|
requirement: &id005 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
74
65
|
requirements:
|
75
66
|
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
segments:
|
78
|
-
- 0
|
79
68
|
version: "0"
|
80
69
|
type: :runtime
|
81
70
|
version_requirements: *id005
|
@@ -83,39 +72,57 @@ dependencies:
|
|
83
72
|
name: haml
|
84
73
|
prerelease: false
|
85
74
|
requirement: &id006 !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
86
76
|
requirements:
|
87
77
|
- - ">="
|
88
78
|
- !ruby/object:Gem::Version
|
89
|
-
segments:
|
90
|
-
- 0
|
91
79
|
version: "0"
|
92
80
|
type: :runtime
|
93
81
|
version_requirements: *id006
|
94
82
|
- !ruby/object:Gem::Dependency
|
95
|
-
name:
|
83
|
+
name: grit
|
96
84
|
prerelease: false
|
97
85
|
requirement: &id007 !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: "0"
|
91
|
+
type: :runtime
|
92
|
+
version_requirements: *id007
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: json
|
95
|
+
prerelease: false
|
96
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: "0"
|
102
|
+
type: :runtime
|
103
|
+
version_requirements: *id008
|
104
|
+
- !ruby/object:Gem::Dependency
|
105
|
+
name: rspec
|
106
|
+
prerelease: false
|
107
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
108
|
+
none: false
|
98
109
|
requirements:
|
99
110
|
- - ">="
|
100
111
|
- !ruby/object:Gem::Version
|
101
|
-
segments:
|
102
|
-
- 2
|
103
|
-
- 2
|
104
112
|
version: "2.2"
|
105
113
|
type: :development
|
106
|
-
version_requirements: *
|
114
|
+
version_requirements: *id009
|
107
115
|
- !ruby/object:Gem::Dependency
|
108
116
|
name: mocha
|
109
117
|
prerelease: false
|
110
|
-
requirement: &
|
118
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
119
|
+
none: false
|
111
120
|
requirements:
|
112
121
|
- - ">="
|
113
122
|
- !ruby/object:Gem::Version
|
114
|
-
segments:
|
115
|
-
- 0
|
116
123
|
version: "0"
|
117
124
|
type: :development
|
118
|
-
version_requirements: *
|
125
|
+
version_requirements: *id010
|
119
126
|
description: Sandox console for Trinidad. It allows to manage the applications deployed on Trinidad.
|
120
127
|
email: calavera@apache.org
|
121
128
|
executables: []
|
@@ -126,21 +133,27 @@ extra_rdoc_files:
|
|
126
133
|
- README
|
127
134
|
- LICENSE
|
128
135
|
files:
|
136
|
+
- Gemfile
|
137
|
+
- Gemfile.lock
|
129
138
|
- History.txt
|
130
139
|
- LICENSE
|
131
140
|
- README
|
132
141
|
- Rakefile
|
142
|
+
- git-hooks/post-commit
|
133
143
|
- lib/trinidad_sandbox_extension.rb
|
134
|
-
- lib/trinidad_sandbox_extension/app/helpers/
|
144
|
+
- lib/trinidad_sandbox_extension/app/helpers/auth.rb
|
145
|
+
- lib/trinidad_sandbox_extension/app/helpers/context.rb
|
146
|
+
- lib/trinidad_sandbox_extension/app/helpers/deploy.rb
|
147
|
+
- lib/trinidad_sandbox_extension/app/helpers/view.rb
|
135
148
|
- lib/trinidad_sandbox_extension/app/model/application_context.rb
|
136
|
-
- lib/trinidad_sandbox_extension/app/public/css/
|
149
|
+
- lib/trinidad_sandbox_extension/app/public/css/sandbox.css
|
137
150
|
- lib/trinidad_sandbox_extension/app/sandbox.rb
|
138
151
|
- lib/trinidad_sandbox_extension/app/views/actions.html.haml
|
139
|
-
- lib/trinidad_sandbox_extension/app/views/
|
140
|
-
- lib/trinidad_sandbox_extension/app/views/
|
141
|
-
- lib/trinidad_sandbox_extension/app/views/
|
142
|
-
- lib/trinidad_sandbox_extension/app/views/index.xml.haml
|
152
|
+
- lib/trinidad_sandbox_extension/app/views/applications.html.haml
|
153
|
+
- lib/trinidad_sandbox_extension/app/views/applications.xml.haml
|
154
|
+
- lib/trinidad_sandbox_extension/app/views/deploy.html.haml
|
143
155
|
- lib/trinidad_sandbox_extension/app/views/layout.html.haml
|
156
|
+
- lib/trinidad_sandbox_extension/app/views/navigation.html.haml
|
144
157
|
- lib/trinidad_sandbox_extension/config.ru
|
145
158
|
- spec/spec.opts
|
146
159
|
- spec/spec_helper.rb
|
@@ -157,23 +170,21 @@ rdoc_options:
|
|
157
170
|
require_paths:
|
158
171
|
- lib
|
159
172
|
required_ruby_version: !ruby/object:Gem::Requirement
|
173
|
+
none: false
|
160
174
|
requirements:
|
161
175
|
- - ">="
|
162
176
|
- !ruby/object:Gem::Version
|
163
|
-
segments:
|
164
|
-
- 0
|
165
177
|
version: "0"
|
166
178
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
179
|
+
none: false
|
167
180
|
requirements:
|
168
181
|
- - ">="
|
169
182
|
- !ruby/object:Gem::Version
|
170
|
-
segments:
|
171
|
-
- 0
|
172
183
|
version: "0"
|
173
184
|
requirements: []
|
174
185
|
|
175
186
|
rubyforge_project: trinidad_sandbox_extension
|
176
|
-
rubygems_version: 1.
|
187
|
+
rubygems_version: 1.5.1
|
177
188
|
signing_key:
|
178
189
|
specification_version: 2
|
179
190
|
summary: Sandbox console for Trinidad
|
@@ -1,137 +0,0 @@
|
|
1
|
-
/* Reset */
|
2
|
-
|
3
|
-
ul {
|
4
|
-
padding: 0px;
|
5
|
-
}
|
6
|
-
|
7
|
-
li {
|
8
|
-
list-style: none;
|
9
|
-
margin: 0px;
|
10
|
-
padding: 0px;
|
11
|
-
display: list-item;
|
12
|
-
}
|
13
|
-
|
14
|
-
/* End: Reset */
|
15
|
-
|
16
|
-
|
17
|
-
body {
|
18
|
-
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
|
19
|
-
font-size:10.5pt;
|
20
|
-
color:#222222;
|
21
|
-
background: #333333;
|
22
|
-
margin: 0;
|
23
|
-
}
|
24
|
-
|
25
|
-
a {
|
26
|
-
color: #617fc3;
|
27
|
-
font-weight: bold;
|
28
|
-
text-decoration: none;
|
29
|
-
}
|
30
|
-
|
31
|
-
a:hover {
|
32
|
-
color: #395490;
|
33
|
-
}
|
34
|
-
|
35
|
-
h1 {
|
36
|
-
font-family: Helvetica, Arial, Sans-Serif;
|
37
|
-
letter-spacing: -0.03em;
|
38
|
-
color:#CCCCCC;
|
39
|
-
font-size:3em;
|
40
|
-
margin-top:2em;
|
41
|
-
margin-bottom:0;
|
42
|
-
}
|
43
|
-
|
44
|
-
h2 {
|
45
|
-
color:#CCCCCC;
|
46
|
-
font-size: 3em;
|
47
|
-
}
|
48
|
-
|
49
|
-
#title {
|
50
|
-
font-family: Helvetica, Arial, Sans-Serif;
|
51
|
-
letter-spacing:-0.07em;
|
52
|
-
text-align: left;
|
53
|
-
font-size:1.7em;
|
54
|
-
margin-left: .7em;
|
55
|
-
margin-bottom: 1.5em;
|
56
|
-
color:#666666;
|
57
|
-
}
|
58
|
-
|
59
|
-
#title h1 {
|
60
|
-
font-size:3em;
|
61
|
-
line-height:0.5em;
|
62
|
-
margin: 0;
|
63
|
-
margin-bottom: -0.05em;
|
64
|
-
}
|
65
|
-
|
66
|
-
#content {
|
67
|
-
line-height: 1.5em;
|
68
|
-
margin-bottom: 1em;
|
69
|
-
margin-right:-0.5em;
|
70
|
-
}
|
71
|
-
|
72
|
-
.site {
|
73
|
-
width:45em;
|
74
|
-
margin: 0 auto;
|
75
|
-
padding: 5em 5em;
|
76
|
-
background: #F5F5F5;
|
77
|
-
}
|
78
|
-
|
79
|
-
#parameters {
|
80
|
-
background: black;
|
81
|
-
color: white;
|
82
|
-
font-size: 0.9em;
|
83
|
-
max-height: 50em;
|
84
|
-
overflow: auto;
|
85
|
-
margin: 0.5em;
|
86
|
-
padding: 0.5em;
|
87
|
-
line-height: 2em;
|
88
|
-
}
|
89
|
-
|
90
|
-
.ack {
|
91
|
-
padding-top: 1em;
|
92
|
-
float: right;
|
93
|
-
font-size: 9pt;
|
94
|
-
}
|
95
|
-
|
96
|
-
.note {
|
97
|
-
background-color: #ffffcc;
|
98
|
-
border: solid 1px #ffff76;
|
99
|
-
|
100
|
-
padding: 1em;
|
101
|
-
}
|
102
|
-
|
103
|
-
#content #applications {
|
104
|
-
margin: 1em 0px 2em;
|
105
|
-
border-top: 1px solid silver;
|
106
|
-
}
|
107
|
-
|
108
|
-
#content #applications li {
|
109
|
-
border-bottom: 1px solid silver;
|
110
|
-
position: relative;
|
111
|
-
}
|
112
|
-
|
113
|
-
.app_name {
|
114
|
-
display: block;
|
115
|
-
font-size: 2em;
|
116
|
-
font-weight: bold;
|
117
|
-
line-height: 1.2;
|
118
|
-
padding: 0.25em;
|
119
|
-
}
|
120
|
-
|
121
|
-
.actions {
|
122
|
-
font-size: 0.8em;
|
123
|
-
position: absolute;
|
124
|
-
right: 0.6em;
|
125
|
-
text-align: right;
|
126
|
-
top: 1.5em;
|
127
|
-
}
|
128
|
-
|
129
|
-
.actions form {
|
130
|
-
display: inline;
|
131
|
-
}
|
132
|
-
|
133
|
-
.application {
|
134
|
-
border-top: 1px solid silver;
|
135
|
-
border-bottom: 1px solid silver;
|
136
|
-
position: relative;
|
137
|
-
}
|