strelka-admin 0.0.1.pre7
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.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: []
|