mirror of
https://github.com/azaion/admin.git
synced 2026-06-21 10:41:09 +00:00
5ca9ccab2c
AZ-513: POST/PATCH/DELETE /classes for detection-class CRUD; new DetectionClass entity, schema, DTOs, IDetectionClassService. Unblocks ui/AZ-512. AZ-196: POST /devices auto-assigns sequential azj-NNNN serial+email +password and inserts a CompanionPC user. Returns plaintext credentials for the provisioning script. AZ-183: Resources table + POST /get-update + POST /resources/publish for fleet OTA. Per-resource encryption_key column AES-256-CBC encrypted at rest with ResourcesConfig.EncryptionMasterKey; ICache wraps the per-(arch,stage) latest-versions lookup and is invalidated on publish. Adds IDbFactory.RunAdmin<T> overload for write-and-return. Backfills _docs/02_document/module-layout.md to satisfy the implement skill's File Ownership prerequisite (the _docs/ artifact set predates the Step 1.5 module-layout addition). Code review: PASS_WITH_WARNINGS — see _docs/03_implementation/reviews/batch_05_review.md. Co-authored-by: Cursor <cursoragent@cursor.com>
73 lines
2.0 KiB
YAML
73 lines
2.0 KiB
YAML
services:
|
|
test-db:
|
|
image: postgres:16-alpine
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: test_password
|
|
POSTGRES_DB: postgres
|
|
volumes:
|
|
- ./e2e/db-init/00_run_all.sh:/docker-entrypoint-initdb.d/00_run_all.sh:ro
|
|
- ./env/db:/docker-entrypoint-initdb.d/sql:ro
|
|
- ./e2e/db-init/99_test_seed.sql:/opt/test-seed.sql:ro
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 10s
|
|
networks:
|
|
- e2e-net
|
|
|
|
system-under-test:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
depends_on:
|
|
test-db:
|
|
condition: service_healthy
|
|
environment:
|
|
ASPNETCORE_URLS: http://+:8080
|
|
ASPNETCORE_ENVIRONMENT: Development
|
|
ConnectionStrings__AzaionDb: "Host=test-db;Port=5432;Database=azaion;Username=azaion_reader;Password=test_password"
|
|
ConnectionStrings__AzaionDbAdmin: "Host=test-db;Port=5432;Database=azaion;Username=azaion_admin;Password=test_password"
|
|
JwtConfig__Secret: "TestSecretKeyThatIsAtLeast32CharactersLong123!"
|
|
ResourcesConfig__ResourcesFolder: "Content"
|
|
ResourcesConfig__SuiteInstallerFolder: "suite"
|
|
ResourcesConfig__SuiteStageInstallerFolder: "suite-stage"
|
|
ResourcesConfig__EncryptionMasterKey: "test-master-key-for-resources-table-do-not-use-in-prod"
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- test-resources:/app/Content
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"/bin/bash -c 'exec 3<>/dev/tcp/127.0.0.1/8080'",
|
|
]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 8
|
|
start_period: 45s
|
|
networks:
|
|
- e2e-net
|
|
|
|
e2e-consumer:
|
|
build:
|
|
context: ./e2e
|
|
dockerfile: Dockerfile
|
|
depends_on:
|
|
system-under-test:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./e2e/test-results:/test-results
|
|
networks:
|
|
- e2e-net
|
|
|
|
networks:
|
|
e2e-net:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
test-resources:
|