mirror of https://github.com/statping/statping
139 lines
6.5 KiB
HTML
139 lines
6.5 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, maximum-scale=1.0, user-scalable=0">
|
|
{{if USE_CDN}}
|
|
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://assets.statup.io/base.css">
|
|
{{ else }}
|
|
<link rel="stylesheet" href="/css/bootstrap.min.css">
|
|
<link rel="stylesheet" href="/css/base.css">
|
|
{{end}}
|
|
<title>Statup | Services</title>
|
|
</head>
|
|
<body>
|
|
|
|
|
|
<div class="container col-md-7 col-sm-12 mt-md-5 bg-light">
|
|
|
|
{{template "nav"}}
|
|
|
|
<div class="col-12">
|
|
|
|
<h3>Services</h3>
|
|
|
|
<table class="table table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">Name</th>
|
|
<th scope="col">Status</th>
|
|
<th scope="col"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{range .}}
|
|
{{ $s := .ToService }}
|
|
<tr>
|
|
<td>{{$s.Name}}</td>
|
|
<td>{{if $s.Online}}<span class="badge badge-success">ONLINE</span>{{else}}<span class="badge badge-danger">OFFLINE</span>{{end}} </td>
|
|
<td class="text-right">
|
|
<div class="btn-group">
|
|
<a href="/service/{{$s.Id}}" class="btn btn-primary">View</a>
|
|
<a href="/service/{{$s.Id}}/delete" class="btn btn-danger confirm-btn">Delete</a>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{{end}}
|
|
</tbody>
|
|
</table>
|
|
|
|
<h3>Create Service</h3>
|
|
|
|
<form action="/services" method="POST">
|
|
<div class="form-group row">
|
|
<label for="service_name" class="col-sm-4 col-form-label">Service Name</label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="name" class="form-control" id="service_name" placeholder="Name" required>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_type" class="col-sm-4 col-form-label">Service Check Type</label>
|
|
<div class="col-sm-8">
|
|
<select name="check_type" class="form-control" id="service_type">
|
|
<option value="http" selected>HTTP Service</option>
|
|
<option value="tcp">TCP Service</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_url" class="col-sm-4 col-form-label">Application Endpoint (URL)</label>
|
|
<div class="col-sm-8">
|
|
<input type="text" name="domain" class="form-control" id="service_url" placeholder="https://google.com" required>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_check_type" class="col-sm-4 col-form-label">Service Check Type</label>
|
|
<div class="col-sm-8">
|
|
<select name="method" class="form-control" id="service_check_type">
|
|
<option value="GET" selected>GET</option>
|
|
<option value="POST">POST</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="post_data" class="col-sm-4 col-form-label">Post Data (JSON)</label>
|
|
<div class="col-sm-8">
|
|
<textarea name="post_data" class="form-control" id="post_data" rows="3"></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_response" class="col-sm-4 col-form-label">Expected Response (Regex)</label>
|
|
<div class="col-sm-8">
|
|
<textarea name="expected" class="form-control" id="service_response" rows="3"></textarea>
|
|
<small id="emailHelp" class="form-text text-muted">You can insert <a target="_blank" href="https://regex101.com/r/I5bbj9/1">Regex</a> to validate the response</small>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_response_code" class="col-sm-4 col-form-label">Expected Status Code</label>
|
|
<div class="col-sm-8">
|
|
<input type="number" name="expected_status" class="form-control" id="service_response_code" value="200">
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_port" class="col-sm-4 col-form-label">TCP Port</label>
|
|
<div class="col-sm-8">
|
|
<input type="number" name="port" class="form-control" id="service_port" placeholder="8080">
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="service_interval" class="col-sm-4 col-form-label">Check Interval (Seconds)</label>
|
|
<div class="col-sm-8">
|
|
<input type="number" name="interval" class="form-control" id="service_interval" value="60" required>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<div class="col-sm-12">
|
|
<button type="submit" class="btn btn-success btn-block">Create Service</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{template "footer"}}
|
|
|
|
{{if USE_CDN}}
|
|
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
|
|
<script src="https://assets.statup.io/main.js"></script>
|
|
{{ else }}
|
|
<script src="/js/jquery-3.3.1.slim.min.js"></script>
|
|
<script src="/js/bootstrap.min.js"></script>
|
|
<script src="/js/main.js"></script>
|
|
{{end}}
|
|
|
|
</body>
|
|
</html> |