- config.yaml: prod config with cluster-internal DNS (LLM, OpenSearch, Authentik, Temporal, API-GW)
- config.local.yaml: dev config with external URLs via ingress
- deployment.yaml: remove hardcoded URIs, read all from ConfigMap envFrom
- All downstream service URIs now configurable per environment
- Production config encrypted with SOPS (Age-based)
- Application code reads LLM_ENDPOINT, OPENSEARCH_HOST, AUTHENTIK_ISSUER, etc. from ENV
- Simplifies prod/dev switching: just swap ConfigMap, no code changes
- .env.example: template with all service URIs for local development
- LOCAL_DEV.md: guide for running poimen locally
- Production: config.yaml (SOPS-encrypted K8s ConfigMap)
- Local: .env file (gitignored, never committed)
- Application reads from ENV in both cases (K8s ConfigMap + local dotenv)
- Simplifies prod/dev: same code, different config sources
- .dockerignore: exclude build/cache/docs to reduce build context (59 lines)
- Dockerfile: add aggressive cleanup (cache, registry, git) after cargo build
- Dockerfile: use --locked flag for reproducible builds
- build.yaml: add pre-build disk cleanup (docker + cargo cache)
- build.yaml: clean cargo before Docker build to free space
- build.yaml: show disk usage before/after for debugging
Fixes 'No space left on device' error during Docker build in runner
- Runs daily at 2 AM to clean Docker, Cargo cache, /tmp
- Prevents 'no space left on device' errors in CI builds
- Deploy to homelab: kubectl apply -f k8s/infra/runner-cleanup-cronjob.yaml
- Adjust namespace and node selectors for your environment
rock
merged commit d7a36ce9e8 into main2026-09-13 05:42:04 +00:00
rock
deleted branch ci/optimize-workflows2026-09-13 05:42:14 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Optimize CI/CD Workflows
Changes
build.yaml
cargo build,cargo test,cargo clippynow run in single invocation, reusing compiled artifactscargo clean: Eliminated wasteful step that deleted artifacts before Docker builddeploy.yaml
FORGEJO_REGISTRY_TOKENfor Gitea API auth (already has privileges)migrate.yaml
|| true)Benefits
Testing
ci/optimize-workflowsmainafter review