- Config loader with env var expansion and validation - SQLite database with tasks and toolchain_versions tables - Gitea REST API client for repository and branch operations - K8s client for Job lifecycle management (with noop fallback for local dev) - REST API: tasks CRUD, retry, plugins, version management - Worker/scheduler with polling, concurrency control, and job tracking - Static frontend: generate, tasks, settings pages - Toolchain images: Go and Node.js Dockerfiles with entrypoint scripts - Helm chart with deployment, service, configmap, ingress, PVC - Multi-stage Dockerfile for service - Unit tests for config, database, gitclient, k8s, api, worker - E2E tests for idempotency, version switch, failure recovery
57 lines
1.8 KiB
HTML
57 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Proto-Gen Platform</title>
|
|
<link rel="stylesheet" href="/style.css">
|
|
</head>
|
|
<body>
|
|
<nav>
|
|
<a href="/" class="logo">Proto-Gen</a>
|
|
<div class="nav-links">
|
|
<a href="/" class="active">Generate</a>
|
|
<a href="/tasks.html">Tasks</a>
|
|
<a href="/settings.html">Settings</a>
|
|
</div>
|
|
</nav>
|
|
|
|
<main>
|
|
<h1>Generate Code</h1>
|
|
<form id="generateForm">
|
|
<div class="form-group">
|
|
<label for="protoRepo">Proto Repository</label>
|
|
<input type="text" id="protoRepo" placeholder="e.g., owner/yoresee_doc" required>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="protoBranch">Branch</label>
|
|
<input type="text" id="protoBranch" value="main" required>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="language">Target Language</label>
|
|
<select id="language" required>
|
|
<option value="">Select language...</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="targetRepo">Target Repository</label>
|
|
<input type="text" id="targetRepo" placeholder="Auto-generated if empty">
|
|
<small>Leave empty to auto-generate: {proto_repo}-gen-{lang}</small>
|
|
</div>
|
|
|
|
<button type="submit" class="btn-primary">Generate</button>
|
|
</form>
|
|
|
|
<div id="message" class="hidden"></div>
|
|
</main>
|
|
|
|
<script src="/app.js"></script>
|
|
<script>
|
|
initGeneratePage();
|
|
</script>
|
|
</body>
|
|
</html>
|