mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-24 11:48:04 +00:00
* Don't offer rollback for the first revision * Fix the rollback bug * Cosmetics * Errors shown as alerts
212 lines
11 KiB
HTML
212 lines
11 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<link rel="icon" href="static/logo.png"/>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Helm Dashboard</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet"
|
|
integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.9.1/font/bootstrap-icons.css">
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.13.1/styles/lightfair.min.css"/>
|
|
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/diff2html/bundles/css/diff2html.min.css"/>
|
|
<link href="static/styles.css" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
|
|
<div class="container">
|
|
<nav class="navbar navbar-expand-lg bg-light rounded mb-2 mt-2">
|
|
<div class="container-fluid">
|
|
<div style="line-height: 90%; font-size: 1.5rem" class="navbar-brand">
|
|
<img src="static/logo.png" style="height: 3rem; float: left" alt="Logo">
|
|
<a class="navbar-brand" href="#"><b>Helm Dashboard</b></a><br/>
|
|
<span style="font-size: 0.8rem;">by <a href="https://komodor.io">komodor.io</a></span>
|
|
</div>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#mainNav"
|
|
aria-controls="mainNav" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
|
|
<div class="collapse navbar-collapse" id="mainNav">
|
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" aria-current="page" href="/">Installed Charts</a>
|
|
</li>
|
|
<!-- TODO
|
|
<li class="nav-item">
|
|
<a class="nav-link disabled">Provisional Charts</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link disabled">Repositories</a>
|
|
</li>
|
|
-->
|
|
</ul>
|
|
<form class="d-flex flex-nowrap text-nowrap">
|
|
<label for="cluster" style="margin-top: 0.5rem">K8s Context:</label>
|
|
<select id="cluster" class="form-control"></select>
|
|
</form>
|
|
<i class="btn bi-power text-muted" title="Shut down the Helm Dashboard application"></i>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div class="bg-light p-5 pt-0 rounded display-none" id="sectionDetails">
|
|
<span class="text-muted"
|
|
style="transform: rotate(270deg); z-index: 100; display: inline-block; position: relative; left:-4rem; top: 4rem; color: #BBB!important; text-transform: uppercase">Revisions</span>
|
|
<div class="row mb-3">
|
|
|
|
</div>
|
|
<h1><span class="name"></span>, revision <span class="rev"></span>
|
|
<span class="float-end" id="actionButtons">
|
|
<button id="btnUpgrade" class="opacity-10 btn btn-sm bg-secondary text-light bg-opacity-50 rounded-0 me-0 rounded-start ">Checking...</button><button id="btnUpgradeCheck" class="btn btn-sm text-muted btn-light border-secondary rounded-0 rounded-end ms-0" title="Check for newer chart version from repo"><i class="bi-repeat"></i><span class="spinner-border spinner-border-sm" style="display: none" role="status" aria-hidden="true"></span></button>
|
|
|
|
<button id="btnRollback" class="btn btn-sm bg-primary border border-secondary text-light" title="Rollback to this revision"><i class="bi-rewind-fill"></i> <span>Rollback</span></button>
|
|
<button id="btnUninstall" class="btn btn-sm bg-danger border border-secondary text-light" title="Uninstall the chart"><i class="bi-trash-fill"></i> Uninstall</button>
|
|
</span>
|
|
</h1>
|
|
Chart <b id="chartName"></b>: <i id="revDescr"></i>
|
|
|
|
<nav class="mt-2">
|
|
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#nav-resources" data-tab="resources"
|
|
type="button" role="tab" aria-controls="nav-resources" aria-selected="false">Resources
|
|
</button>
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#nav-manifest" data-tab="manifests"
|
|
type="button" role="tab" aria-controls="nav-manifest-diff" aria-selected="false">Manifests
|
|
</button>
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#nav-manifest" data-tab="values"
|
|
type="button" role="tab" aria-controls="nav-disabled" aria-selected="false">
|
|
Parameterized Values
|
|
</button>
|
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#nav-manifest" data-tab="notes"
|
|
type="button" role="tab" aria-controls="nav-disabled" aria-selected="false">Notes
|
|
</button>
|
|
</div>
|
|
</nav>
|
|
<div class="tab-content">
|
|
<div class="tab-pane p-3" id="nav-resources" role="tabpanel">
|
|
|
|
</div>
|
|
<div class="tab-pane" id="nav-manifest" role="tabpanel">
|
|
<nav class="navbar bg-light">
|
|
<form class="container-fluid" id="modePanel">
|
|
<label class="form-check-label" for="diffModeNone">
|
|
<input class="form-check-input" type="radio" name="diffMode" id="diffModeNone"
|
|
data-mode="view">
|
|
View Current
|
|
</label>
|
|
<label class="form-check-label" for="diffModePrev">
|
|
<input class="form-check-input" type="radio" name="diffMode" id="diffModePrev"
|
|
data-mode="diff-prev">
|
|
Diff with previous
|
|
</label>
|
|
<label class="form-check-label" for="diffModeRev">
|
|
<input class="form-check-input" type="radio" name="diffMode" id="diffModeRev"
|
|
data-mode="diff-rev">
|
|
Diff with specific revision: <input class="form-input" size="3" id="specRev">
|
|
</label>
|
|
<label class="form-check-label" for="userDefinedVals">
|
|
<input class="form-check-input" type="checkbox" id="userDefinedVals"> User-defined only
|
|
</label>
|
|
</form>
|
|
</nav>
|
|
|
|
<div id="manifestText" class="mt-2 bg-white"></div>
|
|
</div>
|
|
<div class="tab-pane" id="nav-disabled" role="tabpanel" aria-labelledby="nav-disabled-tab"
|
|
tabindex="0">...
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="bg-light p-5 rounded display-none" id="sectionList">
|
|
<h1>Charts List</h1>
|
|
<div id="charts" class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div id="errorAlert" class="display-none alert alert-sm alert-danger alert-dismissible position-absolute position-absolute top-0 start-50 translate-middle-x mt-3 border-danger" role="alert">
|
|
<h4 class="alert-heading"><i class="bi-exclamation-triangle-fill"></i> <span></span></h4>
|
|
<hr>
|
|
<p style="white-space: pre-wrap"></p>
|
|
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal" id="describeModal"
|
|
tabindex="-1" aria-labelledby="describeModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog modal-dialog-scrollable modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="describeModalLabel"></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body" id="describeModalBody">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal" id="confirmModal"
|
|
tabindex="-1" aria-labelledby="describeModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog modal-dialog-scrollable modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="confirmModalLabel"></h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body" id="confirmModalBody">
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-primary">Confirm</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="modal" id="upgradeModal"
|
|
tabindex="-1" aria-labelledby="describeModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog modal-dialog-scrollable modal-xl">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="upgradeModalLabel">
|
|
Upgrade <b class='text-success name'></b> from version <b class='text-success ver-old'></b> to <select class='fw-bold text-success ver-new'></select>
|
|
</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
</div>
|
|
<div class="modal-body" id="upgradeModalBody">
|
|
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-success">Confirm Upgrade</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<footer class="text-center small mt-3">
|
|
Brought to you by <img src="https://komodor.com/wp-content/uploads/2021/05/favicon.png" style="height: 1rem"> <a href="https://komodor.io">Komodor.io</a> |
|
|
<i class="bi-github"></i>
|
|
<a href="https://github.com/komodorio/helm-dashboard">Project page on GitHub</a>
|
|
</footer>
|
|
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js"
|
|
integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa"
|
|
crossorigin="anonymous"></script>
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/diff2html/bundles/js/diff2html-ui.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js"
|
|
integrity="sha512-gU7kztaQEl7SHJyraPfZLQCNnrKdaQi5ndOyt4L4UPL/FHDd/uB9Je6KDARIqwnNNE27hnqoWLBq+Kpe4iHfeQ=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/js-cookie@3.0.1/dist/js.cookie.min.js"
|
|
integrity="sha256-0H3Nuz3aug3afVbUlsu12Puxva3CP4EhJtPExqs54Vg=" crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/luxon@3.0.3/build/global/luxon.min.js"
|
|
integrity="sha256-RH4TKnKcKyde0s2jc5BW3pXZl/5annY3fcZI9VrV5WQ=" crossorigin="anonymous"></script>
|
|
<script src="static/scripts.js"></script>
|
|
</body>
|
|
</html> |