mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-10-15 10:04:44 +00:00
1.4 KiB
1.4 KiB
Docker Deployment Architecture
--8<-- "web/diagrams/deployment.mmd"
Notes
- Dev network (
biergarten-dev, bridge): internal DNS resolvessql-serverandapi. Volumes:biergarten-dev-data. Startup order: SQL Server (health check) → migrations (run-once) → seed (run-once) → API (long-running). - Test network (
biergarten-test, bridge): all test components isolated; fresh DB instance each run (CLEAR_DATABASE=true, ephemeralbiergarten-test-datavolume). All tests run in parallel, results aggregated. - Prod network (
prodnet, bridge): isolated from dev/test networks. Volumes:sqlserverdata-prod,nuget-cache-prod. No seed step in production. - Database-only environment: same devnet volumes/images as
docker-compose.dev.yaml, minusapi.coreandmailpit— for working against the database without running the API. - Minimal environment: database + mailpit only, no API container — for frontend development against an
API.Coreprocess run outside Docker. unit.testsbuildsDockerfile.tests, which restores/builds againstCore.slnxthen runsdotnet testfor everyFeatures/*.Testsproject in turn (Features.Users.Tests,Features.Breweries.Tests,Features.Emails.Tests), mocking each handler's repository/service dependencies with Moq — no real database needed..trxresults are readable by Visual Studio, Azure DevOps, and GitHub Actions.