FROM oven/bun:1.2.15-alpine WORKDIR /opt/agentrun ARG HTTP_PROXY ARG HTTPS_PROXY ARG NO_PROXY ENV NODE_ENV=production ENV PORT=8080 ENV AGENTRUN_CODEX_COMMAND=/opt/agentrun/node_modules/.bin/codex ENV AGENTRUN_APP_ROOT=/workspace/agentrun ENV AGENTRUN_BOOT_REPO_URL=http://git-mirror-http.devops-infra.svc.cluster.local/pikasTech/agentrun.git RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \ apk add --no-cache ca-certificates curl git github-cli kubectl nodejs npm openssh-client ripgrep COPY package.json bun.lock tsconfig.json ./ RUN HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" http_proxy="$HTTP_PROXY" https_proxy="$HTTPS_PROXY" no_proxy="$NO_PROXY" \ bun install --production RUN /opt/agentrun/node_modules/.bin/codex --version && /opt/agentrun/node_modules/.bin/codex app-server --help >/dev/null RUN set -eu; \ for tool in bun node npm git ssh gh rg curl kubectl; do command -v "$tool" >/dev/null; done; \ bun --version >/tmp/agentrun-work-ready-smoke.txt; \ node --version >>/tmp/agentrun-work-ready-smoke.txt; \ npm --version >>/tmp/agentrun-work-ready-smoke.txt; \ git --version >>/tmp/agentrun-work-ready-smoke.txt; \ ssh -V 2>>/tmp/agentrun-work-ready-smoke.txt || true; \ gh --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \ rg --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \ curl --version | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt; \ kubectl version --client 2>/dev/null | head -n 1 >>/tmp/agentrun-work-ready-smoke.txt COPY deploy/runtime/boot ./deploy/runtime/boot RUN chmod +x /opt/agentrun/deploy/runtime/boot/*.sh EXPOSE 8080 CMD ["/opt/agentrun/deploy/runtime/boot/agentrun-mgr.sh"]