strelka-admin 0.0.1.pre7
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/History.rdoc +4 -0
- data/Manifest.txt +58 -0
- data/README.rdoc +65 -0
- data/Rakefile +42 -0
- data/data/strelka-admin/app.conf +7 -0
- data/data/strelka-admin/apps/config-service +72 -0
- data/data/strelka-admin/apps/strelka-admin +102 -0
- data/data/strelka-admin/apps/strelka-setup +32 -0
- data/data/strelka-admin/host-config.rb +44 -0
- data/data/strelka-admin/static/css/bootstrap-responsive.css +581 -0
- data/data/strelka-admin/static/css/bootstrap-responsive.min.css +4 -0
- data/data/strelka-admin/static/css/bootstrap.css +3496 -0
- data/data/strelka-admin/static/css/bootstrap.min.css +632 -0
- data/data/strelka-admin/static/css/master.css +337 -0
- data/data/strelka-admin/static/css/reset.css +112 -0
- data/data/strelka-admin/static/fonts/IstokWeb-Bold.ttf +0 -0
- data/data/strelka-admin/static/fonts/IstokWeb-BoldItalic.ttf +0 -0
- data/data/strelka-admin/static/fonts/IstokWeb-Italic.ttf +0 -0
- data/data/strelka-admin/static/fonts/IstokWeb-Regular.ttf +0 -0
- data/data/strelka-admin/static/fonts/OFL.txt +94 -0
- data/data/strelka-admin/static/images/21d1-16.png +0 -0
- data/data/strelka-admin/static/images/21d1.png +0 -0
- data/data/strelka-admin/static/images/glyphicons-halflings-white.png +0 -0
- data/data/strelka-admin/static/images/glyphicons-halflings.png +0 -0
- data/data/strelka-admin/static/images/icons/blank.png +0 -0
- data/data/strelka-admin/static/images/icons/cross-button.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-button.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-circle-frame.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-circle.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-octagon-frame.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-octagon.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-red.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-shield.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-small-circle.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-small-red.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-small-white.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-small.png +0 -0
- data/data/strelka-admin/static/images/icons/tick-white.png +0 -0
- data/data/strelka-admin/static/images/icons/tick.png +0 -0
- data/data/strelka-admin/static/images/noise.jpg +0 -0
- data/data/strelka-admin/static/images/noise.png +0 -0
- data/data/strelka-admin/static/js/admin/app.js +60 -0
- data/data/strelka-admin/static/js/vendor/backbone.js +1290 -0
- data/data/strelka-admin/static/js/vendor/bootstrap.js +1720 -0
- data/data/strelka-admin/static/js/vendor/bootstrap.min.js +1 -0
- data/data/strelka-admin/static/js/vendor/jquery-1.7.1.js +9266 -0
- data/data/strelka-admin/static/js/vendor/jquery.jeditable.mini.js +38 -0
- data/data/strelka-admin/static/js/vendor/jquery.tmpl.min.js +10 -0
- data/data/strelka-admin/static/js/vendor/jquery.tmplPlus.min.js +11 -0
- data/data/strelka-admin/static/js/vendor/jquery.tools.min.js +20 -0
- data/data/strelka-admin/static/js/vendor/json2.js +487 -0
- data/data/strelka-admin/static/js/vendor/underscore.js +999 -0
- data/data/strelka-admin/templates/admin/console.tmpl +80 -0
- data/data/strelka-admin/templates/admin/host.tmpl +75 -0
- data/data/strelka-admin/templates/admin/message.tmpl +14 -0
- data/data/strelka-admin/templates/admin/server.tmpl +75 -0
- data/data/strelka-admin/templates/layout.tmpl +85 -0
- data/lib/strelka/admin.rb +63 -0
- metadata +210 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,80 @@
|
|
1
|
+
<?import request ?>
|
2
|
+
<?publish title ?>Admin Console<?end publish ?>
|
3
|
+
|
4
|
+
<section id="servers">
|
5
|
+
<header>
|
6
|
+
<h1>Servers</h1>
|
7
|
+
</header>
|
8
|
+
|
9
|
+
<table>
|
10
|
+
<caption>
|
11
|
+
<p class="instructions">Double-click to edit a server.</p>
|
12
|
+
</caption>
|
13
|
+
|
14
|
+
<colgroup class="attributes">
|
15
|
+
<col class="id" />
|
16
|
+
<col class="uuid" />
|
17
|
+
<col class="name" />
|
18
|
+
<col class="default-host" />
|
19
|
+
<col class="bind-addr" />
|
20
|
+
<col class="ssl-enabled" />
|
21
|
+
</colgroup>
|
22
|
+
<colgroup class="controls"><col /></colgroup>
|
23
|
+
|
24
|
+
<thead>
|
25
|
+
<tr>
|
26
|
+
<th>ID</th>
|
27
|
+
<th>UUID</th>
|
28
|
+
<th>Name</th>
|
29
|
+
<th>Default Host</th>
|
30
|
+
<th>Address</th>
|
31
|
+
<th>Port</th>
|
32
|
+
<th>SSL?</th>
|
33
|
+
<th class="controls"> </th>
|
34
|
+
</tr>
|
35
|
+
</thead>
|
36
|
+
<tbody class="data">
|
37
|
+
|
38
|
+
<script id="server-template" type="text/x-jquery-tmpl">
|
39
|
+
<tr class="server">
|
40
|
+
<%= if ( uri ) { %>
|
41
|
+
<td data-binding="id"><a href="<%= uri %>"><%- id %></a></td>
|
42
|
+
<td class="editable" data-binding="uuid"><a href="<%= uri %>"><%- uuid %></a></td>
|
43
|
+
<% } else { %>
|
44
|
+
<td data-binding="id"> </td>
|
45
|
+
<td class="editable" data-binding="uuid"><%- uuid %></td>
|
46
|
+
<% }
|
47
|
+
<td class="editable" data-binding="name"><%- name %></td>
|
48
|
+
<td class="editable" data-binding="default_host">${default_host}</td>
|
49
|
+
<td class="editable" data-binding="bind_addr">${bind_addr}</td>
|
50
|
+
<td class="editable" data-binding="port">${port}</td>
|
51
|
+
<td class="toggle icon {{if use_ssl}} enabled{{/if}}" data-binding="use_ssl">
|
52
|
+
<span class="target"><img
|
53
|
+
src="/images/icons/tick-white.png" width="16" height="16" alt="" /></span>
|
54
|
+
</td>
|
55
|
+
<td class="controls">
|
56
|
+
<button class="save"><img src="/images/icons/tick-button.png" width="16" height="16"
|
57
|
+
title="Save Changes" alt="Save" /></button>
|
58
|
+
<button class="cancel"><img src="/images/icons/cross-button.png" width="16" height="16"
|
59
|
+
title="Discard Changes" alt="Cancel" /></button>
|
60
|
+
</td>
|
61
|
+
</tr>
|
62
|
+
</script>
|
63
|
+
|
64
|
+
</tbody>
|
65
|
+
|
66
|
+
<tbody class="actions">
|
67
|
+
<tr>
|
68
|
+
<td colspan="7">
|
69
|
+
<nav>
|
70
|
+
<button class="create">Add a Server</button>
|
71
|
+
</nav>
|
72
|
+
</td>
|
73
|
+
<td class="controls"> </td>
|
74
|
+
</tr>
|
75
|
+
</tbody>
|
76
|
+
|
77
|
+
</table>
|
78
|
+
|
79
|
+
</section>
|
80
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
<!-- $Id$ -->
|
2
|
+
<?publish title ?>Admin Console<?end publish ?>
|
3
|
+
<?publish breadcrumbs ?>
|
4
|
+
<ol>
|
5
|
+
<li><a href="[?call request.pattern ?]">Console</a></li>
|
6
|
+
<li><a href="[?call request.pattern ?]server/[?call host.server.uuid
|
7
|
+
?]"><?escape host.server.uuid ?></a></li>
|
8
|
+
<li><?escape host.name ?></li>
|
9
|
+
</ol>
|
10
|
+
<?end publish ?>
|
11
|
+
|
12
|
+
<section id="host">
|
13
|
+
<header>
|
14
|
+
<hgroup>
|
15
|
+
<h1>Host: <?escape host.name ?> <?if host.name != matching ?>
|
16
|
+
(<?escape host.matching ?>)<?end if ?></h1>
|
17
|
+
</hgroup>
|
18
|
+
</header>
|
19
|
+
|
20
|
+
<section id="routes">
|
21
|
+
|
22
|
+
<header>
|
23
|
+
<h1>Routes</h1>
|
24
|
+
</header>
|
25
|
+
|
26
|
+
<?if host.routes.empty? ?>
|
27
|
+
<p>No routes configured.</p>
|
28
|
+
<?else?>
|
29
|
+
<table>
|
30
|
+
<thead>
|
31
|
+
<tr>
|
32
|
+
<th>Path</th>
|
33
|
+
<th>Reversed?</th>
|
34
|
+
<th>Target</th>
|
35
|
+
</tr>
|
36
|
+
</thead>
|
37
|
+
<tbody>
|
38
|
+
<?for route in host.routes.sort_by {|r| r.path.length } ?>
|
39
|
+
<tr class="[?call route.target_type ?]">
|
40
|
+
<td class="path"><?escape route.path ?></td>
|
41
|
+
<td class="reversed"><?if route.reversed.nonzero? ?>•<?end if ?></td>
|
42
|
+
<td class="target">
|
43
|
+
|
44
|
+
<?if route.target_type == 'dir' ?>
|
45
|
+
<span class="base"><?escape route.target.base ?></span><span
|
46
|
+
class="index-file"><?escape route.target.index_file ?></span>
|
47
|
+
<span class="default-ctype">(<?escape route.target.default_ctype ?>)</span>
|
48
|
+
<?elsif route.target_type == 'handler' ?>
|
49
|
+
<span class="send-ident"><?escape route.target.send_ident ?></span>
|
50
|
+
<span class="send-spec"><?escape route.target.send_spec ?></span>
|
51
|
+
⇔
|
52
|
+
<span class="recv-spec"><?escape route.target.recv_spec ?></span>
|
53
|
+
<?unless route.target.recv_ident.empty? ?><span
|
54
|
+
class="recv-ident"><?escape route.target.recv_ident ?></span><?end unless ?>
|
55
|
+
<?elsif route.target_type == 'proxy' ?>
|
56
|
+
(proxy)
|
57
|
+
<?else ?>
|
58
|
+
(dunno)
|
59
|
+
<?end if ?>
|
60
|
+
|
61
|
+
</td>
|
62
|
+
</tr>
|
63
|
+
<?end for ?>
|
64
|
+
</tbody>
|
65
|
+
</table>
|
66
|
+
<?end if ?>
|
67
|
+
</section>
|
68
|
+
|
69
|
+
</section>
|
70
|
+
|
71
|
+
<!-- #<Mongrel2::Config::Route @values={:id=>1, :path=>"/", :reversed=>0, :host_id=>1, :target_id=>1, :target_type=>"handler"}>
|
72
|
+
|
73
|
+
#<Mongrel2::Config::Handler @values={:id=>2, :send_spec=>"tcp://127.0.0.1:19995", :send_ident=>"hello-world", :recv_spec=>"tcp://127.0.0.1:19994", :recv_ident=>"", :raw_payload=>0, :protocol=>"json"}>
|
74
|
+
#<Mongrel2::Config::Directory @values={:id=>1, :base=>"static/css/", :index_file=>"base.css", :default_ctype=>"text/css", :cache_ttl=>0}>
|
75
|
+
-->
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<section>
|
2
|
+
<?if heading ?>
|
3
|
+
<?publish title ?><?attr heading ?><?end publish ?>
|
4
|
+
<header>
|
5
|
+
<h1><?attr heading ?></h1>
|
6
|
+
</header>
|
7
|
+
<?else?>
|
8
|
+
<?publish title ?>Message<?end publish ?>
|
9
|
+
<?end if ?>
|
10
|
+
|
11
|
+
<p><?attr message ?></p>
|
12
|
+
|
13
|
+
</section>
|
14
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
<!-- $Id$ -->
|
2
|
+
<?publish title ?>Admin Console<?end publish ?>
|
3
|
+
<?publish breadcrumbs ?>
|
4
|
+
<ol>
|
5
|
+
<li><a href="[?call request.pattern ?]">Console</a></li>
|
6
|
+
<li><?escape server.uuid ?></li>
|
7
|
+
</ol>
|
8
|
+
<?end publish ?>
|
9
|
+
|
10
|
+
<section id="server">
|
11
|
+
<header>
|
12
|
+
<hgroup>
|
13
|
+
<h1><?escape server.name ?></h1>
|
14
|
+
</hgroup>
|
15
|
+
</header>
|
16
|
+
|
17
|
+
<table class="horizontal">
|
18
|
+
<tbody>
|
19
|
+
<tr class="uuid"><th>UUID</th><td><?escape server.uuid ?></td></tr>
|
20
|
+
<tr class="default-host"><th>Default Host</th><td><?escape server.default_host ?></td></tr>
|
21
|
+
<tr class="bind-address"><th>Bind Address</th><td><?escape server.bind_addr ?></td></tr>
|
22
|
+
<tr class="port"><th>Port</th><td><?escape server.port ?></td></tr>
|
23
|
+
<tr class="chroot"><th>Chroot</th><td><?escape server.chroot ?></td></tr>
|
24
|
+
<tr class="pid-file"><th>PID File</th><td><?escape server.pid_file ?></td></tr>
|
25
|
+
<tr class="use-ssl"><th>SSL?</th><td><?if server.use_ssl.nonzero? ?>•<?end if ?></td></tr>
|
26
|
+
</tbody>
|
27
|
+
</table>
|
28
|
+
|
29
|
+
<section class="log-viewer">
|
30
|
+
<header>
|
31
|
+
<h2>Logs</h2>
|
32
|
+
</header>
|
33
|
+
|
34
|
+
<div id="access-log">Will read: <?escape server.access_log ?></div>
|
35
|
+
<div id="error-log">Will read: <?escape server.error_log ?></div>
|
36
|
+
</section>
|
37
|
+
|
38
|
+
<section id="hosts">
|
39
|
+
<header>
|
40
|
+
<h1>Hosts</h1>
|
41
|
+
</header>
|
42
|
+
|
43
|
+
<nav class="actions">
|
44
|
+
<button>Add a Host</button>
|
45
|
+
</nav>
|
46
|
+
|
47
|
+
<?if server.hosts.empty? ?>
|
48
|
+
<p>No hosts configured.</p>
|
49
|
+
<?else?>
|
50
|
+
<table>
|
51
|
+
<thead>
|
52
|
+
<tr>
|
53
|
+
<th>Name</th>
|
54
|
+
<th>Matching</th>
|
55
|
+
<th>Maintenance Mode?</th>
|
56
|
+
</tr>
|
57
|
+
</thead>
|
58
|
+
<tbody>
|
59
|
+
<?for host in server.hosts ?>
|
60
|
+
<tr class="host">
|
61
|
+
<td class="name"><a href="[?call request.route
|
62
|
+
?]/host/[?uriencode host.id ?]"><?call host.name ?></a></td>
|
63
|
+
<td class="matching"><?call host.matching ?></td>
|
64
|
+
<td class="maintenance-mode"><?if
|
65
|
+
server.maintenance.nonzero? ?>•<?end if ?></td>
|
66
|
+
</tr>
|
67
|
+
<?end for ?>
|
68
|
+
</tbody>
|
69
|
+
</table>
|
70
|
+
<?end if ?>
|
71
|
+
</section>
|
72
|
+
|
73
|
+
</section>
|
74
|
+
|
75
|
+
|
@@ -0,0 +1,85 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
+
|
8
|
+
<meta name="description" content="The Strelka Admin Panel">
|
9
|
+
<meta name="author" content="Michael Granger">
|
10
|
+
|
11
|
+
<title>Strelka: <?subscribe title ?></title>
|
12
|
+
|
13
|
+
<link rel="shortcut icon" type="image/png" href="/images/21d1-16.png" />
|
14
|
+
<link rel="stylesheet" href="/css/master.css" type="text/css" media="screen"
|
15
|
+
title="no title" charset="utf-8" />
|
16
|
+
|
17
|
+
<link href="/css/bootstrap.css" rel="stylesheet" type="text/css" charset="utf-8" />
|
18
|
+
<style type="text/css">
|
19
|
+
body {
|
20
|
+
padding-top: 60px;
|
21
|
+
padding-bottom: 40px;
|
22
|
+
}
|
23
|
+
.sidebar-nav {
|
24
|
+
padding: 9px 0;
|
25
|
+
}
|
26
|
+
</style>
|
27
|
+
<link href="/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" charset="utf-8" />
|
28
|
+
|
29
|
+
<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
|
30
|
+
<!--[if lt IE 9]>
|
31
|
+
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
32
|
+
<![endif]-->
|
33
|
+
|
34
|
+
<script src="/js/vendor/json.js" type="text/javascript" charset="utf-8" defer="defer"></script>
|
35
|
+
<script src="/js/vendor/jquery-1.7.1.js" type="text/javascript" charset="utf-8" defer="defer"></script>
|
36
|
+
<script src="/js/vendor/underscore.js" type="text/javascript" charset="utf-8" defer="defer"></script>
|
37
|
+
<script src="/js/vendor/backbone.js" type="text/javascript" charset="utf-8" defer="defer"></script>
|
38
|
+
<script src="/js/vendor/bootstrap.js" type="text/javascript" charset="utf-8"></script>
|
39
|
+
<script src="/js/admin/app.js" type="text/javascript" charset="utf-8" defer="defer"></script>
|
40
|
+
|
41
|
+
</head>
|
42
|
+
<body>
|
43
|
+
<nav id="global-navbar" class="navbar navbar-fixed-top">
|
44
|
+
<div class="navbar-inner">
|
45
|
+
<div class="container-fluid">
|
46
|
+
<h1><a class="brand" href="#">Стрелке</a></h1>
|
47
|
+
<div class="nav-collapse">
|
48
|
+
<ul class="nav">
|
49
|
+
<li class="active"><a href="#">Overview</a></li>
|
50
|
+
<li><a href="#about">Config</a></li>
|
51
|
+
<li><a href="#contact">Cluster</a></li>
|
52
|
+
</ul>
|
53
|
+
<p class="navbar-text pull-right">Logged in as <a href="#">username</a></p>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
</nav>
|
58
|
+
|
59
|
+
<div class="container-fluid">
|
60
|
+
<div class="row-fluid">
|
61
|
+
<header id="herobar" class="span12">
|
62
|
+
<h2>Servers</h2>
|
63
|
+
</header>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<div class="row-fluid">
|
67
|
+
<section id="content" class="span12">
|
68
|
+
<?attr body ?>
|
69
|
+
</section>
|
70
|
+
</div>
|
71
|
+
|
72
|
+
<hr>
|
73
|
+
|
74
|
+
<footer>
|
75
|
+
<p>
|
76
|
+
<span class="vcs-id">$Id$</span>
|
77
|
+
<span class="copyright">Copyright © 2011, Michael Granger</span>
|
78
|
+
</p>
|
79
|
+
</footer>
|
80
|
+
</div>
|
81
|
+
|
82
|
+
|
83
|
+
</body>
|
84
|
+
</html>
|
85
|
+
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'strelka'
|
4
|
+
|
5
|
+
# A web adminstration front end to a Strelka+Mongrel2 webserver.
|
6
|
+
#
|
7
|
+
# == Author/s
|
8
|
+
#
|
9
|
+
# * Michael Granger <ged@FaerieMUD.org>
|
10
|
+
#
|
11
|
+
module Strelka::Admin
|
12
|
+
|
13
|
+
# Library version constant
|
14
|
+
VERSION = '0.0.1'
|
15
|
+
|
16
|
+
# Version-control revision constant
|
17
|
+
REVISION = %q$Revision: 650a62ddd8a2 $
|
18
|
+
|
19
|
+
|
20
|
+
# The data directory in the project if that exists, otherwise the gem datadir
|
21
|
+
DATADIR = if File.directory?( 'data/strelka' )
|
22
|
+
Pathname( 'data/strelka' )
|
23
|
+
elsif path = Gem.datadir('strelka')
|
24
|
+
Pathname( path )
|
25
|
+
else
|
26
|
+
raise ScriptError, "can't find the data directory!"
|
27
|
+
end
|
28
|
+
|
29
|
+
# The default path to the Mongrel2 server config database
|
30
|
+
DEFAULT_MONGREL2_DB = DATADIR + '.sqlite'
|
31
|
+
|
32
|
+
# The default path to the admin app's templates
|
33
|
+
DEFAULT_TEMPLATE_PATH = [ DATADIR + 'templates' ]
|
34
|
+
|
35
|
+
# Default admin config values
|
36
|
+
ADMIN_CONFIG_DEFAULTS = {
|
37
|
+
mongrel2: { configdb: DEFAULT_MONGREL2_DB.to_s },
|
38
|
+
templates: {
|
39
|
+
template_paths: DEFAULT_TEMPLATE_PATH,
|
40
|
+
},
|
41
|
+
}
|
42
|
+
|
43
|
+
# Unified config for the admin application
|
44
|
+
DEFAULT_ADMIN_CONFIG = DATADIR + 'admin.conf'
|
45
|
+
|
46
|
+
# The ID of the adminserver in the mongrel2 config
|
47
|
+
ADMINSERVER_ID = 'strelka-admin'
|
48
|
+
|
49
|
+
# The ID of the Mongrel2 configuration REST service
|
50
|
+
CONFIGSERVICE_ID = 'config-service'
|
51
|
+
|
52
|
+
|
53
|
+
### Get the library version. If +include_buildnum+ is true, the version string will
|
54
|
+
### include the VCS rev ID.
|
55
|
+
def self::version_string( include_buildnum=false )
|
56
|
+
vstring = "%s %s" % [ self.name, VERSION ]
|
57
|
+
vstring << " (build %s)" % [ REVISION[/: ([[:xdigit:]]+)/, 1] || '0' ] if include_buildnum
|
58
|
+
return vstring
|
59
|
+
end
|
60
|
+
|
61
|
+
|
62
|
+
end # module Strelka::Admin
|
63
|
+
|
metadata
ADDED
@@ -0,0 +1,210 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: strelka-admin
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1.pre7
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Michael Granger
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMRENDQWhTZ0F3SUJB
|
14
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE4TVF3d0NnWURWUVFEREFOblpX
|
15
|
+
UXgKRnpBVkJnb0praWFKay9Jc1pBRVpGZ2RmWVdWeWFXVmZNUk13RVFZS0Na
|
16
|
+
SW1pWlB5TEdRQkdSWURiM0puTUI0WApEVEV3TURreE5qRTBORGcxTVZvWERU
|
17
|
+
RXhNRGt4TmpFME5EZzFNVm93UERFTU1Bb0dBMVVFQXd3RFoyVmtNUmN3CkZR
|
18
|
+
WUtDWkltaVpQeUxHUUJHUllIWDJGbGNtbGxYekVUTUJFR0NnbVNKb21UOGl4
|
19
|
+
a0FSa1dBMjl5WnpDQ0FTSXcKRFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURD
|
20
|
+
Q0FRb0NnZ0VCQUx5Ly9CRnhDMWYvY1BTbnd0SkJXb0ZpRnJpcgpoN1JpY0kr
|
21
|
+
am9xL29jVlhRcUk0VERXUHlGLzh0cWt2dCtyRDk5WDlxczJZZVI4Q1UvWWlJ
|
22
|
+
cExXclFPWVNUNzBKCnZEbjdVdmhiMm11RlZxcTYrdm9iZVRrSUxCRU82cGlv
|
23
|
+
bldERzhqU2JvM3FLbTFSaktKRHdnOXA0d05LaFB1dTgKS0d1ZS9CRmI2N0tm
|
24
|
+
bHF5QXBQbVBlYjNWZGQ5Y2xzcHpxZUZxcDdjVUJNRXBGUzZMV3h5NEdrK3F2
|
25
|
+
RkZKQkpMQgpCVUhFL0xaVkpNVnpmcEM1VXErUW1ZN0IrRkgvUXFObmRuM3RP
|
26
|
+
SGdzUGFkTFROaW11QjFzQ3VMMWE0ejNQZXBkClRlTEJFRm1FYW81RGszSy9R
|
27
|
+
OG84dmxiSUIvakJEVFV4NkRqYmd4dzc3OTA5eDZnSTlkb1U0TEQ1WE1jQ0F3
|
28
|
+
RUEKQWFNNU1EY3dDUVlEVlIwVEJBSXdBREFMQmdOVkhROEVCQU1DQkxBd0hR
|
29
|
+
WURWUjBPQkJZRUZKZW9Ha09yOWw0Qgorc2FNa1cvWlhUNFVlU3ZWTUEwR0NT
|
30
|
+
cUdTSWIzRFFFQkJRVUFBNElCQVFCRzJLT2J2WUkyZUh5eUJVSlNKM2pOCnZF
|
31
|
+
blUzZDYwem5BWGJyU2QycWIzcjFsWTFFUEREM2JjeTBNZ2dDZkdkZzNYdTU0
|
32
|
+
ejIxb3F5SWRrOHVHdFdCUEwKSElhOUVnZkZHU1VFZ3ZjSXZhWXFpTjRqVFV0
|
33
|
+
aWRmRUZ3K0x0anM4QVA5Z1dnU0lZUzZHcjM4VjBXR0ZGTnpJSAphT0Qyd211
|
34
|
+
OW9vL1JmZlc0aFMvOEd1dmZNemN3N0NRMzU1d0ZSNEtCL255emUrRXNaMVk1
|
35
|
+
RGVyQ0FhZ01WdURRClUwQkxtV0RGelBHR1dsUGVRQ3JZSENyK0FjSnorTlJu
|
36
|
+
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
37
|
+
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
38
|
+
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
+
date: 2012-03-02 00:00:00.000000000 Z
|
40
|
+
dependencies:
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: strelka
|
43
|
+
requirement: &70118098424980 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0.0'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: *70118098424980
|
52
|
+
- !ruby/object:Gem::Dependency
|
53
|
+
name: hoe-mercurial
|
54
|
+
requirement: &70118098424460 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - ~>
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 1.3.1
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: *70118098424460
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: hoe-highline
|
65
|
+
requirement: &70118098423760 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ~>
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 0.0.1
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: *70118098423760
|
74
|
+
- !ruby/object:Gem::Dependency
|
75
|
+
name: rspec
|
76
|
+
requirement: &70118098422960 !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - ~>
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '2.8'
|
82
|
+
type: :development
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: *70118098422960
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: rdoc
|
87
|
+
requirement: &70118098421940 !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - ~>
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '3.10'
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
version_requirements: *70118098421940
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: hoe
|
98
|
+
requirement: &70118098420060 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.14'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: *70118098420060
|
107
|
+
description: ! 'Strelka is a framework for creating and deploying Mongrel2 web applications
|
108
|
+
|
109
|
+
in Ruby, and for managing a Mongrel2 cluster.
|
110
|
+
|
111
|
+
|
112
|
+
It''s named after the Russian dog who was one of the first space travelers
|
113
|
+
|
114
|
+
to orbit the Earth and return alive.'
|
115
|
+
email:
|
116
|
+
- ged@FaerieMUD.org
|
117
|
+
executables: []
|
118
|
+
extensions: []
|
119
|
+
extra_rdoc_files:
|
120
|
+
- History.rdoc
|
121
|
+
- Manifest.txt
|
122
|
+
- README.rdoc
|
123
|
+
files:
|
124
|
+
- History.rdoc
|
125
|
+
- Manifest.txt
|
126
|
+
- README.rdoc
|
127
|
+
- Rakefile
|
128
|
+
- data/strelka-admin/app.conf
|
129
|
+
- data/strelka-admin/apps/config-service
|
130
|
+
- data/strelka-admin/apps/strelka-admin
|
131
|
+
- data/strelka-admin/apps/strelka-setup
|
132
|
+
- data/strelka-admin/host-config.rb
|
133
|
+
- data/strelka-admin/static/css/bootstrap-responsive.css
|
134
|
+
- data/strelka-admin/static/css/bootstrap-responsive.min.css
|
135
|
+
- data/strelka-admin/static/css/bootstrap.css
|
136
|
+
- data/strelka-admin/static/css/bootstrap.min.css
|
137
|
+
- data/strelka-admin/static/css/master.css
|
138
|
+
- data/strelka-admin/static/css/reset.css
|
139
|
+
- data/strelka-admin/static/fonts/IstokWeb-Bold.ttf
|
140
|
+
- data/strelka-admin/static/fonts/IstokWeb-BoldItalic.ttf
|
141
|
+
- data/strelka-admin/static/fonts/IstokWeb-Italic.ttf
|
142
|
+
- data/strelka-admin/static/fonts/IstokWeb-Regular.ttf
|
143
|
+
- data/strelka-admin/static/fonts/OFL.txt
|
144
|
+
- data/strelka-admin/static/images/21d1-16.png
|
145
|
+
- data/strelka-admin/static/images/21d1.png
|
146
|
+
- data/strelka-admin/static/images/glyphicons-halflings-white.png
|
147
|
+
- data/strelka-admin/static/images/glyphicons-halflings.png
|
148
|
+
- data/strelka-admin/static/images/icons/blank.png
|
149
|
+
- data/strelka-admin/static/images/icons/cross-button.png
|
150
|
+
- data/strelka-admin/static/images/icons/tick-button.png
|
151
|
+
- data/strelka-admin/static/images/icons/tick-circle-frame.png
|
152
|
+
- data/strelka-admin/static/images/icons/tick-circle.png
|
153
|
+
- data/strelka-admin/static/images/icons/tick-octagon-frame.png
|
154
|
+
- data/strelka-admin/static/images/icons/tick-octagon.png
|
155
|
+
- data/strelka-admin/static/images/icons/tick-red.png
|
156
|
+
- data/strelka-admin/static/images/icons/tick-shield.png
|
157
|
+
- data/strelka-admin/static/images/icons/tick-small-circle.png
|
158
|
+
- data/strelka-admin/static/images/icons/tick-small-red.png
|
159
|
+
- data/strelka-admin/static/images/icons/tick-small-white.png
|
160
|
+
- data/strelka-admin/static/images/icons/tick-small.png
|
161
|
+
- data/strelka-admin/static/images/icons/tick-white.png
|
162
|
+
- data/strelka-admin/static/images/icons/tick.png
|
163
|
+
- data/strelka-admin/static/images/noise.jpg
|
164
|
+
- data/strelka-admin/static/images/noise.png
|
165
|
+
- data/strelka-admin/static/js/admin/app.js
|
166
|
+
- data/strelka-admin/static/js/vendor/backbone.js
|
167
|
+
- data/strelka-admin/static/js/vendor/bootstrap.js
|
168
|
+
- data/strelka-admin/static/js/vendor/bootstrap.min.js
|
169
|
+
- data/strelka-admin/static/js/vendor/jquery-1.7.1.js
|
170
|
+
- data/strelka-admin/static/js/vendor/jquery.jeditable.mini.js
|
171
|
+
- data/strelka-admin/static/js/vendor/jquery.tmpl.min.js
|
172
|
+
- data/strelka-admin/static/js/vendor/jquery.tmplPlus.min.js
|
173
|
+
- data/strelka-admin/static/js/vendor/jquery.tools.min.js
|
174
|
+
- data/strelka-admin/static/js/vendor/json2.js
|
175
|
+
- data/strelka-admin/static/js/vendor/underscore.js
|
176
|
+
- data/strelka-admin/templates/admin/console.tmpl
|
177
|
+
- data/strelka-admin/templates/admin/host.tmpl
|
178
|
+
- data/strelka-admin/templates/admin/message.tmpl
|
179
|
+
- data/strelka-admin/templates/admin/server.tmpl
|
180
|
+
- data/strelka-admin/templates/layout.tmpl
|
181
|
+
- lib/strelka/admin.rb
|
182
|
+
homepage: http://deveiate.org/projects/Strelka/wiki/AdminConsole
|
183
|
+
licenses:
|
184
|
+
- BSD
|
185
|
+
post_install_message:
|
186
|
+
rdoc_options:
|
187
|
+
- --main
|
188
|
+
- README.rdoc
|
189
|
+
require_paths:
|
190
|
+
- lib
|
191
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
192
|
+
none: false
|
193
|
+
requirements:
|
194
|
+
- - ! '>='
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: 1.9.3
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
|
+
none: false
|
199
|
+
requirements:
|
200
|
+
- - ! '>='
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '0'
|
203
|
+
requirements: []
|
204
|
+
rubyforge_project: strelka-admin
|
205
|
+
rubygems_version: 1.8.16
|
206
|
+
signing_key:
|
207
|
+
specification_version: 3
|
208
|
+
summary: Strelka is a framework for creating and deploying Mongrel2 web applications
|
209
|
+
in Ruby, and for managing a Mongrel2 cluster
|
210
|
+
test_files: []
|