66 lines
2.3 KiB
HTML
66 lines
2.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Nomad Job Manager</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>Nomad Job Manager</h1>
|
|
<div class="controls">
|
|
<select id="namespace-selector">
|
|
<option value="development">development</option>
|
|
<option value="default">default</option>
|
|
<option value="system">system</option>
|
|
</select>
|
|
<button id="refresh-btn" class="btn btn-primary">Refresh</button>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
<div class="job-list-container">
|
|
<h2>Jobs</h2>
|
|
<div id="loading" class="loading">Loading jobs...</div>
|
|
<div id="error-message" class="error-message"></div>
|
|
<table id="job-table" class="job-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Job ID</th>
|
|
<th>Type</th>
|
|
<th>Status</th>
|
|
<th>Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="job-list">
|
|
<!-- Jobs will be populated here -->
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="job-details-container">
|
|
<h2>Job Details</h2>
|
|
<div id="job-details">
|
|
<p class="select-job-message">Select a job to view details</p>
|
|
</div>
|
|
<div id="job-logs" class="job-logs">
|
|
<h3>Logs</h3>
|
|
<div class="log-tabs">
|
|
<button class="log-tab active" data-log-type="stdout">stdout</button>
|
|
<button class="log-tab" data-log-type="stderr">stderr</button>
|
|
</div>
|
|
<pre id="log-content" class="log-content">Select a job to view logs</pre>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<footer>
|
|
<p>Nomad MCP Service - Claude Integration</p>
|
|
</footer>
|
|
</div>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html> |