Initial scaffold: API service, K8s operator, and CRDs

Forgebot is a K8s operator + API service for dispatching AI agent
jobs from git forge commands. Includes:

- CRDs: AgentPool, AgentTask, ProviderQueue, RepositoryBinding
- API server with webhook handler, task queue, and comment proxy
- Operator controllers for task scheduling and job management
- Gitea provider with webhook parsing and signature verification
- PostgreSQL database with auto-migration
- Woodpecker CI pipelines and multi-stage Dockerfiles
This commit is contained in:
2026-06-08 22:49:18 +10:00
parent fd1a4956ed
commit 49d514c050
46 changed files with 3139 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
when:
- event: pull_request
steps:
- name: docker-build-api
image: woodpeckerci/plugin-docker-buildx
settings:
repo: git.unkin.net/unkin/forgebot-api
dockerfile: Dockerfile.api
dry_run: true
- name: docker-build-operator
image: woodpeckerci/plugin-docker-buildx
settings:
repo: git.unkin.net/unkin/forgebot-operator
dockerfile: Dockerfile.operator
dry_run: true
+30
View File
@@ -0,0 +1,30 @@
when:
- event: tag
ref: refs/tags/v*
steps:
- name: docker-api
image: woodpeckerci/plugin-docker-buildx
settings:
registry: git.unkin.net
repo: git.unkin.net/unkin/forgebot-api
dockerfile: Dockerfile.api
username: droneci
password:
from_secret: DRONECI_PASSWORD
tags:
- ${CI_COMMIT_TAG}
- latest
- name: docker-operator
image: woodpeckerci/plugin-docker-buildx
settings:
registry: git.unkin.net
repo: git.unkin.net/unkin/forgebot-operator
dockerfile: Dockerfile.operator
username: droneci
password:
from_secret: DRONECI_PASSWORD
tags:
- ${CI_COMMIT_TAG}
- latest
+9
View File
@@ -0,0 +1,9 @@
when:
- event: pull_request
steps:
- name: pre-commit
image: golang:1.25
commands:
- test -z "$(gofmt -l .)"
- go vet ./...
+8
View File
@@ -0,0 +1,8 @@
when:
- event: pull_request
steps:
- name: test
image: golang:1.25
commands:
- go test -race -count=1 ./pkg/... ./internal/... ./api/...