61 lines
2.9 KiB
HTML
61 lines
2.9 KiB
HTML
{% extends "base.xhtml" %}
|
|
{% from "macros/page-hero.xhtml" import page_hero %}
|
|
{% block content %}
|
|
{% set access_titles = {
|
|
"request": "Access Request",
|
|
"queue": "Access Requests Queue",
|
|
"impersonation": "Impersonation (Admin)",
|
|
"permissions": "Effective Permissions"
|
|
} %}
|
|
{% set access_desc = {
|
|
"request": "Request access to this cluster for a role and optional namespace.",
|
|
"queue": "Review and process pending/approved/rejected access requests.",
|
|
"impersonation": "Temporarily impersonate a user for access troubleshooting.",
|
|
"permissions": "Inspect effective permissions for a user in this cluster."
|
|
} %}
|
|
{% set access_title = access_titles.get(access_sub, "Cluster access") %}
|
|
{{ page_hero("Access", access_title, access_desc.get(access_sub, "Cluster access management.")) }}
|
|
<pre id="cluster-detail-output" class="form-output hidden" data-cluster-id="{{ cluster_id }}"></pre>
|
|
<section class="card cacc-sec" data-cacc="request">
|
|
<h2>Access Request</h2>
|
|
<form id="access-request-form" class="toolbar-row form-modern toolbar-form">
|
|
<input id="access-request-role" type="text" placeholder="role (e.g. namespace_viewer)" required="required" />
|
|
<input id="access-request-namespace" type="text" placeholder="namespace (optional)" />
|
|
<input id="access-request-reason" type="text" placeholder="reason" />
|
|
<button type="submit">Request Access</button>
|
|
</form>
|
|
<pre id="access-request-output" class="form-output"></pre>
|
|
</section>
|
|
<section class="card cacc-sec" data-cacc="queue">
|
|
<h2>Access Requests Queue</h2>
|
|
<form id="access-requests-filter-form" class="toolbar-row form-modern toolbar-form">
|
|
<select id="access-requests-status">
|
|
<option value="">all statuses</option>
|
|
<option value="pending">pending</option>
|
|
<option value="approved">approved</option>
|
|
<option value="rejected">rejected</option>
|
|
</select>
|
|
<button type="submit">Refresh Requests</button>
|
|
</form>
|
|
<div id="access-requests-table"></div>
|
|
<pre id="access-requests-output" class="form-output"></pre>
|
|
</section>
|
|
<section class="card cacc-sec" data-cacc="impersonation">
|
|
<h2>Impersonation (Admin)</h2>
|
|
<form id="impersonate-form" class="toolbar-row form-modern toolbar-form">
|
|
<input id="impersonate-user-id" type="number" min="1" placeholder="user id" required="required" />
|
|
<button type="submit">Login As User</button>
|
|
</form>
|
|
<pre id="impersonate-output" class="form-output"></pre>
|
|
</section>
|
|
<section class="card cacc-sec" data-cacc="permissions">
|
|
<h2>Effective Permissions</h2>
|
|
<form id="permissions-form" class="toolbar-row form-modern toolbar-form">
|
|
<input id="permissions-user-id" type="number" min="1" placeholder="user id" required="required" />
|
|
<input id="permissions-namespace" type="text" placeholder="namespace (optional)" />
|
|
<button type="submit">Load Permissions</button>
|
|
</form>
|
|
<pre id="permissions-output" class="form-output"></pre>
|
|
</section>
|
|
{% endblock %}
|