236 lines
7.2 KiB
HTML
236 lines
7.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Consul</title>
|
|
<link rel="stylesheet" href="static/bootstrap.min.css">
|
|
<link rel="stylesheet" href="static/base.css">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<div class="col-md-12">
|
|
<div id="app">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/x-handlebars">
|
|
{{outlet}}
|
|
</script>
|
|
|
|
|
|
<script type="text/x-handlebars" data-template-name="default_layout">
|
|
<div class="row">
|
|
<div class="col-md-12 col-sm-12 topbar">
|
|
|
|
<div class="col-md-1 col-sm-2">
|
|
<a href="#"><div class="top-brand"></div></a>
|
|
</div>
|
|
|
|
<div class="col-md-2 col-sm-3">
|
|
{{#link-to 'services' controllers.application.getDc class='btn btn-default'}}Services{{/link-to}}
|
|
</div>
|
|
|
|
<div class="col-md-2 col-sm-3">
|
|
{{#link-to 'nodes' controllers.application.getDc class='btn btn-default'}}Nodes{{/link-to}}
|
|
</div>
|
|
|
|
<div class="col-md-2 col-sm-3">
|
|
<a class="btn btn-default" href="#">Key/Value</a>
|
|
</div>
|
|
|
|
<div class="col-md-2 col-md-offset-1 col-sm-3 col-sm-offset-0">
|
|
<a class="btn btn-warning" href="#">5 checks failing</a>
|
|
</div>
|
|
|
|
<div class="col-md-2 col-sm-3">
|
|
<a class="btn btn-dropdown btn-default" href="#">
|
|
us-east-1
|
|
<span class="caret"></span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{yield}}
|
|
</script>
|
|
|
|
<script type="text/x-handlebars" id="services">
|
|
<div class="col-md-5">
|
|
|
|
{{#each service in services}}
|
|
<div class="row">
|
|
<div class="list-group-item">
|
|
<div {{bind-attr class="service.hasFailingChecks:bg-orange:bg-green :list-bar"}}></div>
|
|
<h4 class="list-group-item-heading">
|
|
{{#link-to 'service' controllers.application.getDc service.Name class='subtle'}}{{service.Name}}{{/link-to}}
|
|
<small>{{service.Name}}</small>
|
|
<div class="heading-helper">
|
|
<a class="subtle" href="#">{{service.checkMessage}}</a>
|
|
</div>
|
|
</h4>
|
|
<ul class="list-inline">
|
|
{{#each node in service.Nodes }}
|
|
<li>{{#link-to 'node' controllers.application.getDc node class='subtle'}}{{node}}{{/link-to}}</li>
|
|
{{/each}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</div>
|
|
|
|
<div class="col-md-6 col-md-offset-1">
|
|
<div class="row">
|
|
{{#if model}}
|
|
<h2 class="no-margin">{{ model.1.ServiceName }}</h2>
|
|
<hr>
|
|
<h5>Tags</h5>
|
|
<p>Pending...</p>
|
|
|
|
<h5>Nodes</h5>
|
|
|
|
{{#each node in model }}
|
|
|
|
<div {{bind-attr class=":panel node.hasFailingChecks:panel-warning:panel-success"}}>
|
|
<div class="panel-bar"></div>
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">
|
|
{{#link-to 'node' controllers.application.getDc node.Node class='subtle'}}{{node.Node}}{{/link-to}}
|
|
<small>{{node.Address}}</small>
|
|
<span class="panel-note">{{node.checkMessage}}</span>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<ul class="list-unstyled list-broken">
|
|
{{#each check in node.Checks }}
|
|
<li>
|
|
<h4>{{ check.Name }} <small>{{ check.CheckID }}</small> <span class="pull-right"><small>{{check.Status}}</small></h4>
|
|
</li>
|
|
{{/each}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{{/each}}
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</script>
|
|
|
|
|
|
<script type="text/x-handlebars" id="nodes">
|
|
<div class="col-md-5">
|
|
|
|
{{#each node in nodes}}
|
|
<div class="row">
|
|
<div {{action 'linkTo' 'node' controllers.application.getDc node.Name}} class="list-group-item list-link">
|
|
<div {{bind-attr class="node.hasFailingChecks:bg-orange:bg-green :list-bar"}}></div>
|
|
<h4 class="list-group-item-heading">
|
|
{{#link-to 'node' controllers.application.getDc node.Name class='subtle'}}{{node.Name}}{{/link-to}}
|
|
<small>{{node.Name}}</small>
|
|
<div class="heading-helper">
|
|
<a class="subtle" href="#">{{node.checkMessage}}</a>
|
|
</div>
|
|
</h4>
|
|
<ul class="list-inline">
|
|
{{#each service in node.Services }}
|
|
<li>{{#link-to 'service' controllers.application.getDc service class='subtle'}}{{service}}{{/link-to}}</li>
|
|
{{/each}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
</div>
|
|
|
|
<div class="col-md-6 col-md-offset-1">
|
|
<div class="row">
|
|
{{#if model}}
|
|
<h2 class="no-margin">{{ model.Node.Node }}</h2>
|
|
<hr>
|
|
|
|
<h5>Checks</h5>
|
|
|
|
{{#each check in model.Checks }}
|
|
|
|
<div {{bind-attr class=":panel model.hasFailingChecks:panel-warning:panel-success"}}>
|
|
<div class="panel-bar"></div>
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">
|
|
{{check.Name}}
|
|
<small>{{check.CheckID}}</small>
|
|
<span class="panel-note">{{check.Status}}</span>
|
|
</h3>
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
<h5>Notes</h5>
|
|
<p>{{ check.Notes }}</p>
|
|
<h5>Output</h5>
|
|
<pre>
|
|
{{check.Output}}
|
|
</pre>
|
|
</div>
|
|
</div>
|
|
|
|
{{/each}}
|
|
|
|
|
|
<h5>Services</h5>
|
|
|
|
{{#each service in model.Services }}
|
|
|
|
{{#link-to 'service' controllers.application.getDc service.Service }}
|
|
<div class="panel panel-default panel-link">
|
|
<div class="panel-bar"></div>
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">
|
|
{{service.Service}}
|
|
<small>{{sevice.ID}}</small>
|
|
<span class="panel-note">:{{service.Port}}</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
{{/link-to}}
|
|
{{/each}}
|
|
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</script>
|
|
|
|
<script type="text/x-handlebars" id="index">
|
|
<div class="col-md-8 col-md-offset-2 vertical-center">
|
|
{{#each item in model}}
|
|
<a {{action 'selectDc' item}}>
|
|
<div class="panel panel-success panel-link">
|
|
<div class="panel-bar"></div>
|
|
<div class="panel-heading">
|
|
<h3 class="panel-title">
|
|
{{item}}
|
|
<small>{{item}}</small>
|
|
<span class="panel-note">all checks passing</span>
|
|
</h3>
|
|
</div>
|
|
</div>
|
|
</a>
|
|
{{/each}}
|
|
</div>
|
|
</script>
|
|
|
|
<script src="javascripts/libs/jquery-1.10.2.js"></script>
|
|
<script src="javascripts/libs/handlebars-1.1.2.js"></script>
|
|
<script src="javascripts/libs/ember-1.5.0.js"></script>
|
|
<script src="javascripts/fixtures.js"></script>
|
|
<script src="javascripts/app.js"></script>
|
|
|
|
<!-- to activate the test runner, add the "?test" query string parameter -->
|
|
<script src="tests/runner.js"></script>
|
|
</body>
|
|
</html>
|