Files
git.stella-ops.org/examples/router/docker-compose.yaml
StellaOps Bot 6a299d231f
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Add unit tests for Router configuration and transport layers
- Implemented tests for RouterConfig, RoutingOptions, StaticInstanceConfig, and RouterConfigOptions to ensure default values are set correctly.
- Added tests for RouterConfigProvider to validate configurations and ensure defaults are returned when no file is specified.
- Created tests for ConfigValidationResult to check success and error scenarios.
- Developed tests for ServiceCollectionExtensions to verify service registration for RouterConfig.
- Introduced UdpTransportTests to validate serialization, connection, request-response, and error handling in UDP transport.
- Added scripts for signing authority gaps and hashing DevPortal SDK snippets.
2025-12-05 08:01:47 +02:00

76 lines
1.9 KiB
YAML

version: '3.8'
services:
gateway:
build:
context: .
dockerfile: src/Examples.Gateway/Dockerfile
ports:
- "8080:8080" # HTTP ingress
- "5100:5100" # TCP transport
- "5101:5101" # TLS transport
environment:
- ASPNETCORE_URLS=http://+:8080
- GatewayNode__Region=demo
- GatewayNode__NodeId=gw-01
- GatewayNode__ListenPort=5100
volumes:
- ./src/Examples.Gateway/router.yaml:/app/router.yaml:ro
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
interval: 10s
timeout: 5s
retries: 3
billing:
build:
context: .
dockerfile: src/Examples.Billing.Microservice/Dockerfile
environment:
- Stella__ServiceName=billing
- Stella__Region=demo
- Stella__Routers__0__Host=gateway
- Stella__Routers__0__Port=5100
- Stella__Routers__0__TransportType=InMemory
volumes:
- ./src/Examples.Billing.Microservice/microservice.yaml:/app/microservice.yaml:ro
depends_on:
gateway:
condition: service_healthy
inventory:
build:
context: .
dockerfile: src/Examples.Inventory.Microservice/Dockerfile
environment:
- Stella__ServiceName=inventory
- Stella__Region=demo
- Stella__Routers__0__Host=gateway
- Stella__Routers__0__Port=5100
- Stella__Routers__0__TransportType=InMemory
depends_on:
gateway:
condition: service_healthy
# Optional: RabbitMQ for message-based transport
rabbitmq:
image: rabbitmq:3-management-alpine
ports:
- "5672:5672" # AMQP
- "15672:15672" # Management UI
environment:
- RABBITMQ_DEFAULT_USER=stellaops
- RABBITMQ_DEFAULT_PASS=stellaops
healthcheck:
test: ["CMD", "rabbitmq-diagnostics", "check_running"]
interval: 10s
timeout: 5s
retries: 3
networks:
default:
name: stellaops-router-example
volumes:
rabbitmq-data: