Files
RoleForge/app/templates/cluster-access.xhtml
Sergey Antropoff 1d2301fb09 first commit
2026-04-30 08:59:31 +03:00

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 %}