2026-04-27 15:51:01 +02:00
|
|
|
# cameleer-runtime-loader
|
|
|
|
|
|
|
|
|
|
Init container that fetches the deployable JAR into a shared volume before the
|
|
|
|
|
main runtime container starts. Pairs with `DockerRuntimeOrchestrator` /
|
|
|
|
|
(future) K8s init-container deploys.
|
|
|
|
|
|
|
|
|
|
## Build
|
|
|
|
|
|
2026-04-27 23:13:25 +02:00
|
|
|
CI (`.gitea/workflows/ci.yml`, `docker` job) builds and pushes this image
|
|
|
|
|
automatically on pushes that change anything under `cameleer-runtime-loader/`.
|
|
|
|
|
Manual build for local testing:
|
|
|
|
|
|
2026-04-27 15:51:01 +02:00
|
|
|
docker build -t gitea.siegeln.net/cameleer/cameleer-runtime-loader:<tag> .
|
|
|
|
|
docker push gitea.siegeln.net/cameleer/cameleer-runtime-loader:<tag>
|
|
|
|
|
|
|
|
|
|
## Contract
|
|
|
|
|
|
|
|
|
|
- Env: `ARTIFACT_URL` (signed download URL), `ARTIFACT_EXPECTED_SIZE` (bytes).
|
|
|
|
|
- Volume: writes `/app/jars/app.jar`.
|
|
|
|
|
- Exit 0 on success; non-zero on fetch/size failure.
|
|
|
|
|
- Runs as UID 1000 (loader user), drops all caps, read-only rootfs except `/app/jars`.
|
|
|
|
|
|
|
|
|
|
See `docs/superpowers/plans/2026-04-27-init-container-jar-fetch.md`.
|