e30c3b632a
Forges (multi-host) + tokens, project directories, and git identity now live in a private SQLite config store (internal/store, modernc.org/sqlite) on a /data named volume that is not bind-mounted or exposed, so credentials aren't reachable outside the container. New Settings page (/settings) + <settings-panel> with /api/config CRUD. Scanner reads roots fresh from the store each cycle; service resolves forges per-repo from the store and reapplies per-forge git auth on change. First run seeds the store from .env. Overturns the old no-datastore/.env-config laws (AGENT.md updated). Verified live end-to-end. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
986 B
HTML
33 lines
986 B
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>GitManager — Settings</title>
|
|
<link rel="stylesheet" href="/static/app.css">
|
|
<script type="module" src="/components/settings-panel/settings-panel.js"></script>
|
|
<script type="module" src="/components/toast-host/toast-host.js"></script>
|
|
<style>
|
|
header {
|
|
display: flex; align-items: baseline; gap: 16px;
|
|
padding: 12px 20px; background: var(--surface-1);
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
header h1 { margin: 0; font-size: 16px; }
|
|
header nav { margin-left: auto; }
|
|
main { max-width: 820px; padding: 20px; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>GitManager</h1>
|
|
<span style="color: var(--color-fg-muted)">settings</span>
|
|
<nav><a href="/">← Dashboard</a></nav>
|
|
</header>
|
|
<main>
|
|
<settings-panel></settings-panel>
|
|
</main>
|
|
<toast-host></toast-host>
|
|
</body>
|
|
</html>
|