Files
gps-denied-onboard/.cursor/skills/deploy/templates/containerization.md
T
Oleksandr Bezdieniezhnykh 1f634c2604
ci/woodpecker/push/02-build-push Pipeline failed
Update demo replay validation and testing documentation
- Modified the autodev state to reflect the current testing phase and details of the new `jetson-e2e` tests.
- Enhanced the "How to Test" documentation to provide clearer instructions on the demo replay validation process, including video and tlog alignment steps.
- Updated architectural documentation to include the new demo replay operator flow and its dependencies.
- Documented the removal of deprecated auto-sync features and clarified the operator-facing UI for replay validation.
- Added new entries in the dependencies table for upcoming tasks related to the demo replay flow.

These changes improve clarity and usability for operators and developers working with the demo replay system.
2026-06-20 11:24:43 +03:00

2.0 KiB

Containerization Plan Template

Save as _docs/04_deploy/containerization.md.


# [System Name] — Containerization

## Component Dockerfiles

### [Component Name]

| Property | Value |
|----------|-------|
| Base image | [e.g., mcr.microsoft.com/dotnet/aspnet:8.0-alpine] |
| Build image | [e.g., mcr.microsoft.com/dotnet/sdk:8.0-alpine] |
| Stages | [dependency install → build → production] |
| User | [non-root user name] |
| Health check | [endpoint and command] |
| Exposed ports | [port list] |
| Key build args | [if any] |

### [Repeat for each component]

## Docker Compose — Local Development

```yaml
# docker-compose.yml structure
services:
  [component]:
    build: ./[path]
    ports: ["host:container"]
    environment: [reference .env.dev]
    depends_on: [dependencies with health condition]
    healthcheck: [command, interval, timeout, retries]

  db:
    image: [postgres:version-alpine]
    volumes: [named volume]
    environment: [credentials from .env.dev]
    healthcheck: [pg_isready]

volumes:
  [named volumes]

networks:
  [shared network]

Docker Compose — Blackbox Tests

# docker-compose.test.yml structure
services:
  [app components under test]

  test-runner:
    build: ./tests/integration
    depends_on: [app components with health condition]
    environment: [test configuration]
    # Exit code determines test pass/fail

  db:
    image: [postgres:version-alpine]
    volumes: [seed data mount]

Run: docker compose -f docker-compose.test.yml up --abort-on-container-exit

Image Tagging Strategy

Context Tag Format Example
CI build <registry>/<project>/<component>:<git-sha> ghcr.io/org/api:a1b2c3d
Release <registry>/<project>/<component>:<semver> ghcr.io/org/api:1.2.0
Local dev <component>:latest api:latest

.dockerignore

.git
.cursor
_docs
_standalone
node_modules
**/bin
**/obj
**/__pycache__
*.md
.env*
docker-compose*.yml