Files
Jiří Stachandaider 77febb993e feat: add backend caching and pagination for resources
Co-authored-by: aider (openrouter/thinkingmachines/inkling-small:free) <aider@aider.chat>
2026-10-09 18:01:48 +02:00

72 lines
2.5 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kubectl Web GUI</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Kubectl Web GUI</h1>
</header>
<main>
<section id="selectors">
<label for="context">Context:</label>
<select id="context"><option>Loading...</option></select>
<label for="namespace">Namespace:</label>
<select id="namespace"><option>default</option></select>
<label for="resource-type">Resource:</label>
<select id="resource-type">
<option value="pods">Pods</option>
<option value="nodes">Nodes</option>
<option value="pvcs">PVCs</option>
<option value="configmaps">ConfigMaps</option>
</select>
<button id="set-default">Set as default</button>
</section>
<section id="search">
<input type="text" id="search-input" placeholder="Search by name..." />
<button id="search-btn">Search</button>
<button id="refresh-btn">Refresh</button>
</section>
<section id="resources">
<h2 id="resource-title">Pods</h2>
<ul id="resource-list"><li>Loading...</li></ul>
<div id="pagination" style="margin-top:1rem; display:flex; gap:0.5rem; align-items:center;">
<button id="prev-page">Prev</button>
<span id="page-info">Page 1</span>
<button id="next-page">Next</button>
</div>
</section>
<section id="actions">
<h2>Actions</h2>
<div>
<label>Resource name:</label>
<input type="text" id="action-name" placeholder="name" />
<button id="btn-describe">Describe</button>
<button id="btn-logs">Logs</button>
<button id="btn-delete" class="danger">Delete</button>
<button id="btn-cordon" style="display:none;">Cordon</button>
<button id="btn-uncordon" style="display:none;">Uncordon</button>
</div>
<div style="margin-top:0.75rem;">
<label>Exec (non-interactive):</label>
<input type="text" id="exec-pod" placeholder="pod name" style="min-width:120px;" />
<input type="text" id="exec-container" placeholder="container (optional)" style="min-width:120px;" />
<input type="text" id="exec-cmd" placeholder="command (default: ls)" style="min-width:160px;" />
<button id="btn-exec">Exec</button>
</div>
<pre id="action-output"></pre>
</section>
</main>
<script src="app.js"></script>
</body>
</html>