Development Guide (Quick)
Prerequisites
- Go 1.24+
- Docker (optional, for image build)
- Access to a Kubernetes cluster with BatchSandbox CRD installed.
Install deps
bash
cd components/ingress
go mod tidy && go mod vendorBuild & Run
bash
make build # binary at bin/ingress with ldflags version info
./bin/ingress \
--namespace <target-namespace> \
--port 28888 \
--log-level infoTests & Lint
bash
make test # go test ./...
go vet ./... # included in make buildDocker (with build args)
bash
docker build \
--build-arg VERSION=$(git describe --tags --always --dirty) \
--build-arg GIT_COMMIT=$(git rev-parse HEAD) \
--build-arg BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
-t opensandbox/ingress:dev .Key Paths
main.go— entrypoint, HTTP routes, provider initialization.pkg/proxy/— HTTP/WebSocket reverse proxy logic.pkg/sandbox/— Sandbox provider abstraction and BatchSandbox implementation.version/— build metadata (ldflags).
Tips
- Health check:
/status.ok - Proxy endpoint:
/(routes based onOpenSandbox-Ingress-Toheader or Host) - Env overrides:
VERSION/GIT_COMMIT/BUILD_TIMEusable via Makefile and build.sh. - BatchSandbox must have
sandbox.opensandbox.io/endpointsannotation with JSON array of IPs.
此页内容来自仓库源文件:
components/ingress/DEVELOPMENT.md