Docker-Images/CLAUDE.md

39 lines
1.4 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Purpose
This repo holds CI Docker images for KollectAI infrastructure. Each subdirectory under `ci/` is a self-contained image with its own Dockerfile and README.
## Architecture
- **`ci/<image-name>/`** — One directory per Docker image (e.g. `ci/java-builder/`). Each contains a Dockerfile and a README with build args and usage.
- **`.gitea/workflows/build-and-push.yaml`** — Gitea Actions workflow that auto-detects which images changed and builds/pushes only those. On schedule or manual dispatch, it builds all images.
## Registries
- **Harbor**: `kcr.kollect.biz/kollect-tools/<image-name>` — production image store (project: `kollect-tools`)
- Images are tagged three ways: `latest`, short commit SHA, and `YYYYMMDD` date
## CI Workflow
The workflow triggers on:
- Push to `main` affecting `ci/**` (builds only changed images)
- Weekly schedule (Sunday 10:00 UTC = Monday 00:00 UTC+14)
- Manual dispatch (builds all images)
Required Gitea secrets: `HARBOR_USERNAME`, `HARBOR_PASSWORD`
## Adding a New Image
1. Create `ci/<image-name>/Dockerfile`
2. Add a `ci/<image-name>/README.md` documenting build args and usage
3. Push to `main` — the CI workflow auto-discovers it via `find ci -mindepth 1 -maxdepth 1 -type d`
## Building Locally
```bash
docker build -t kcr.kollect.biz/kollect-tools/<image-name>:latest ci/<image-name>/
```