@@ -749,6 +749,34 @@ RUN set -eux; \
749749 sudo chmod 4755 /usr/local/bin/opencode-broker; \
750750 sudo rm -rf /tmp/opencode-dist /tmp/opencode-broker-bin
751751
752+ # -----------------------------------------------------------------------------
753+ # Stage 3: Runtime Config Check
754+ # -----------------------------------------------------------------------------
755+ # Lightweight validation stage for local pre-commit Docker checks.
756+ # Verifies runtime config assets and COPY paths without rebuilding heavy Rust
757+ # and JS artifacts in later stages.
758+ FROM base AS runtime-config-check
759+
760+ USER root
761+ COPY --chown=root:root --chmod=0644 packages/core/src/docker/files/pam/opencode /etc/pam.d/opencode
762+ COPY --chown=root:root --chmod=0644 packages/core/src/docker/files/opencode-broker.service /etc/systemd/system/opencode-broker.service
763+ COPY --chown=root:root --chmod=0644 packages/core/src/docker/files/opencode.service /etc/systemd/system/opencode.service
764+ RUN install -d -o opencoder -g opencoder -m 0750 /home/opencoder/.config/opencode
765+ COPY --chown=opencoder:opencoder --chmod=0640 packages/core/src/docker/files/opencode.jsonc /home/opencoder/.config/opencode/opencode.jsonc
766+ RUN install -d -m 0755 /etc/opencode-cloud
767+ COPY --chown=root:root --chmod=0644 packages/core/src/docker/files/opencode.jsonc /etc/opencode-cloud/opencode.jsonc.default
768+ COPY --chown=root:root --chmod=0755 packages/core/src/docker/files/entrypoint.sh /usr/local/bin/entrypoint.sh
769+ COPY --chown=root:root --chmod=0700 packages/core/src/docker/files/opencode-cloud-bootstrap.sh /usr/local/bin/opencode-cloud-bootstrap
770+ COPY --chown=root:root --chmod=0755 packages/core/src/docker/files/healthcheck.sh /usr/local/bin/healthcheck.sh
771+ RUN test -f /etc/pam.d/opencode \
772+ && test -f /etc/systemd/system/opencode-broker.service \
773+ && test -f /etc/systemd/system/opencode.service \
774+ && test -f /home/opencoder/.config/opencode/opencode.jsonc \
775+ && test -f /etc/opencode-cloud/opencode.jsonc.default \
776+ && test -x /usr/local/bin/entrypoint.sh \
777+ && test -x /usr/local/bin/opencode-cloud-bootstrap \
778+ && test -x /usr/local/bin/healthcheck.sh
779+
752780# -----------------------------------------------------------------------------
753781# Stage 3: Runtime
754782# -----------------------------------------------------------------------------
0 commit comments