Files
gps-denied-onboard/docker/operator-orchestrator.Dockerfile
T
Oleksandr Bezdieniezhnykh a7b3e60716
ci/woodpecker/push/02-build-push Pipeline failed
[autodev] Update Jetson test environment and satellite-provider integration
- Added `.env.test` to `.gitignore` to exclude test environment variables.
- Enhanced `docker-compose.test.jetson.yml` to include the real satellite-provider .NET service and its PostgreSQL database, replacing the mock service.
- Updated test execution policy to mandate all tests run exclusively on Jetson hardware, deprecating the previous two-tier model.
- Revised documentation in `_docs/LESSONS.md`, `_docs/02_document/tests/environment.md`, and `_docs/04_deploy/ci_cd_pipeline.md` to reflect the new testing strategy and environment setup.
- Improved `run-tests-jetson.sh` script to ensure proper environment variable handling and satellite-provider integration.

This commit aligns the testing framework with production environments, enhancing reliability and coverage.
2026-05-20 13:22:51 +03:00

30 lines
1.0 KiB
Docker

# Operator-orchestrator image — installs C11 + C12 + healthcheck.
# Per `_docs/02_document/deployment/containerization.md`.
FROM python:3.10-slim AS runtime
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
libpq5 \
libgl1 \
libglib2.0-0 \
curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /opt/gps-denied
COPY pyproject.toml ./
COPY src ./src
# Base image ships pip 23.0.1, which refuses pre-release versions for
# `gtsam<5.0,>=4.2` even though `4.3a0` is the only wheel PyPI publishes
# for aarch64. Upgrade pip first so its pre-release fallback kicks in.
# Same rationale as tests/e2e/Dockerfile.jetson lines 99-104.
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir -e ".[dev]"
ENV PYTHONPATH="/opt/gps-denied/src"
HEALTHCHECK --interval=10s --timeout=3s --start-period=10s --retries=3 \
CMD python3 -m gps_denied_onboard.healthcheck || exit 1
ENTRYPOINT ["python3", "-m", "gps_denied_onboard.runtime_root"]