This is a reliability proxy for the local agent and LLM fleet, with the reliability proxy as phase 1.
To run tests:
uv sync --extra dev
uv run pytestTo build the container:
docker build -t agent-proxy .To run the proxy server:
docker run -p 8080:8080 agent-proxy- Clone the repository
- Install dependencies:
uv sync --extra dev - Run tests to verify installation:
uv run pytest - Build container image:
docker build -t agent-proxy . - Run proxy in container mode:
docker run -p 8080:8080 agent-proxy
Every push and pull request is gated by .forgejo/workflows/ci.yml, which runs
the declared dev tooling off pyproject.toml. Run the same gate locally before
landing so CI is green on arrival:
ward exec test # syncs dev deps and runs pytest
uv run ruff check .
uv run black --check .
uv run mypy app
./boot_probe.sh # ward boot-probe (daemonless boot + endpoint probe)
./test-fixes.sh # ward smoke (daemonless import/build smoke)[tool.black], [tool.ruff], and [tool.mypy] in pyproject.toml are the
single source of truth these checks read, so local and CI runs behave
identically. The Docker-daemon acceptance test (ward test-container) and the
tower-dependent proof/reliability scripts are intentionally left out of CI - they
need a daemon or the tower and would break a daemonless runner.
The proxy runs on port 8080 by default. You can customize the port by setting environment variables:
PROXY_PORT=9000 docker run -p 9000:9000 agent-proxyAvailable environment variables:
PROXY_HOST(default: 127.0.0.1)PROXY_PORT(default: 8080)LOG_LEVEL(default: INFO)
The following files are provided to make local containerization reproducible:
Dockerfile- Standard container definitionREADME.md- Documentation for using the proxysetup.sh- Script to initialize developer environment
A build that succeeds is not proof the image runs. Two repeatable checks assert
the image actually boots and serves /healthz, /v1/models, and /metrics
(they share scripts/probe_endpoints.sh, so the endpoint assertions are
identical):
ward test-container(./test-container.sh) - with a Docker daemon. Builds the image, runs it detached, waits forpython -m app.mainto bind, probes the three endpoints from outside the container, and confirms it stays up (no crash / restart loop). Fails loudly with container logs on any error.ward boot-probe(./boot_probe.sh) - daemonless. Reproduces the exact Dockerfile install path (uv sync --frozen --no-dev) and CMD (.venv/bin/python -m app.main), then probes the same endpoints. This is the check that runs in a ward feature container or a daemonless CI leg, where no Docker daemon is reachable.
All tests must pass before building or deploying:
- Run:
uv run pytest
The testing suite validates:
- API endpoint functionality
- Configuration handling
- Resilience behavior