feat: implement proto-gen platform
- 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
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ .Release.Name }}-config
|
||||
data:
|
||||
config.yaml: |
|
||||
server:
|
||||
addr: ":8080"
|
||||
git:
|
||||
type: gitea
|
||||
base_url: "{{ .Values.git.baseUrl }}"
|
||||
token: "${GIT_TOKEN}"
|
||||
cluster:
|
||||
kubeconfig: /etc/proto-gen/kubeconfig
|
||||
namespace: {{ .Values.cluster.namespace }}
|
||||
job_timeout: {{ .Values.cluster.jobTimeout }}
|
||||
max_concurrent: {{ .Values.cluster.maxConcurrent }}
|
||||
toolchain_registry: "{{ .Values.toolchainRegistry }}"
|
||||
target_repo_template: "{{ .Values.targetRepoTemplate }}"
|
||||
plugins:
|
||||
{{- range .Values.plugins }}
|
||||
- language: {{ .language }}
|
||||
image: "{{ .image }}"
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user