feat(ansible): cross-link inventory/schedules/browse for discoverability
CI / lint (push) Successful in 2s
CI / unit (push) Successful in 7s
CI / integration (push) Successful in 2m21s
CI / publish (push) Successful in 56s

The inventory CRUD UI (/ansible/inventory/targets + /groups) existed but was
unreachable from the main Ansible pages — only a buried text hint pointed to
it. Add an "Inventory" button to the Runs, Browse, and Schedules headers, and
"← Ansible" back-links on the inventory target/group pages, so the targeting
features (manual runs, schedules, Deploy-via-Ansible) are findable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-16 14:09:58 -04:00
parent c10eae1c74
commit 71e4724286
5 changed files with 16 additions and 3 deletions
+2
View File
@@ -7,6 +7,8 @@
{% if session.user_role == 'admin' %}
<a href="/ansible/playbooks/new" class="btn btn-sm">New playbook</a>
{% endif %}
<a href="/ansible/inventory/targets" class="btn btn-ghost btn-sm">Inventory</a>
<a href="/ansible/schedules" class="btn btn-ghost btn-sm">Schedules</a>
<a href="/ansible/" class="btn btn-ghost btn-sm">← Run History</a>
</div>
</div>
+1
View File
@@ -4,6 +4,7 @@
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;">
<h1 class="page-title" style="margin-bottom:0;">Ansible Runs</h1>
<div style="display:flex;gap:0.5rem;">
<a href="/ansible/inventory/targets" class="btn btn-ghost">Inventory</a>
<a href="/ansible/schedules" class="btn btn-ghost">Schedules</a>
<a href="/ansible/browse" class="btn">Browse Playbooks</a>
</div>
@@ -3,7 +3,10 @@
{% block content %}
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;">
<h1 class="page-title" style="margin-bottom:0;">Inventory Groups</h1>
<a href="/ansible/inventory/targets" class="btn btn-ghost btn-sm">Targets →</a>
<div style="display:flex;gap:0.5rem;">
<a href="/ansible/inventory/targets" class="btn btn-ghost btn-sm">Targets</a>
<a href="/ansible/" class="btn btn-ghost btn-sm">← Ansible</a>
</div>
</div>
<div class="card" style="margin-bottom:1.5rem;">
@@ -3,7 +3,10 @@
{% block content %}
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;">
<h1 class="page-title" style="margin-bottom:0;">Inventory Targets</h1>
<a href="/ansible/inventory/groups" class="btn btn-ghost btn-sm">← Groups</a>
<div style="display:flex;gap:0.5rem;">
<a href="/ansible/inventory/groups" class="btn btn-ghost btn-sm">Groups</a>
<a href="/ansible/" class="btn btn-ghost btn-sm">← Ansible</a>
</div>
</div>
<div class="card" style="margin-bottom:1.5rem;">
+5 -1
View File
@@ -9,7 +9,11 @@
{% block content %}
<div style="display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;gap:1rem;flex-wrap:wrap;">
<h1 class="page-title" style="margin-bottom:0;">Ansible Schedules</h1>
<a href="/ansible/" class="btn btn-ghost">← Runs</a>
<div style="display:flex;gap:0.5rem;">
<a href="/ansible/inventory/targets" class="btn btn-ghost">Inventory</a>
<a href="/ansible/browse" class="btn btn-ghost">Browse</a>
<a href="/ansible/" class="btn btn-ghost">← Runs</a>
</div>
</div>
{# ── Existing schedules ───────────────────────────────────────────────────── #}