57a036ba5e77419f320701b6f25c05cc2c3aa280
build-and-push / build (push) Failing after 2m45s
Move workload out of infra with cursor-devbox-style GitRepository + run_number-sha image automation.
cursor-agent-api-proxy
OpenAI-compatible HTTP API wrapping cursor-agent via ACP (agent acp). Deployed on node4-k3s.
- Image:
dcr.trinitysan.by/infra/cursor-agent-api-proxy - Deploy:
deploy/(PVC, Deployment, Service, ServiceExport) - Flux image automation:
flux/(ImageRepository / ImagePolicy / ImageUpdateAutomation)
Infra on node4 keeps thin Flux glue (Namespace, SecretAdapters, GitRepository, Kustomizations) in infrastructure/node4-k3s/131-cursor-agent-api.yaml. Public HTTPS + Authentik live on node2 (245-authentik-cursor-agent-api).
Access
| Endpoint | Detail |
|---|---|
| Public | https://cursor-api.trinitysan.by (Authentik outpost on node2) |
| In-cluster / MCS | cursor-agent-api.cursor-agent-api.svc.clusterset.local:4646 |
| Health | GET /health |
CI
Gitea Actions (.gitea/workflows/build-and-push.yaml) on master and workflow_dispatch pushes:
| Tag | Purpose |
|---|---|
:latest |
Convenience |
:<git-sha> |
Immutable full SHA |
:<run_number>-<git-sha> |
Sortable; elected by Flux ImagePolicy |
Org secrets: DCR_USERNAME, DCR_PASSWORD (infra org).
Local build / E2E
docker build -t cursor-agent-api-proxy:latest .
# Requires CURSOR_API_KEY in env or .env
./scripts/e2e-docker.sh
Flux update flow
- CI pushes
run_number-shato DCR - ImageRepository scans; ImagePolicy picks highest
run_number - ImageUpdateAutomation commits the new tag into
deploy/010-cursor-agent-api.yaml - Kustomization applies; Deployment rolls
Requires a Gitea PAT with read+write on this repo (GITEA_CURSOR_AGENT_API_GITOPS_TOKEN on node4, see infra 060-external-secrets.yaml.template).
Languages
JavaScript
89%
Shell
8.2%
Dockerfile
2.8%