[package]
name = "microservices-architecture-template"
version = "1.0.0"
description = "Production-grade microservices architecture with distributed tracing, circuit breakers, and comprehensive observability"
authors = ["GGEN Team"]
license = "MIT"
keywords = ["microservices", "architecture", "distributed-systems", "docker", "kubernetes", "observability"]
categories = ["backend", "infrastructure", "distributed-systems"]

[dependencies]
# RDF processing
rdf = "0.1"
sparql = "0.2"

# Testing frameworks
testcontainers = "0.15"
tokio = { version = "1.35", features = ["full"] }
reqwest = { version = "0.11", features = ["json"] }
serde_json = "1.0"

[features]
default = ["docker-compose", "kubernetes", "tracing"]
docker-compose = []
kubernetes = []
tracing = []
message-queues = []
service-mesh = []

[templates]
api-gateway = { language = "Rust", framework = "Axum", port = 8000 }
user-service = { language = "TypeScript", framework = "Express", port = 8001 }
product-service = { language = "Python", framework = "FastAPI", port = 8002 }
order-service = { language = "Rust", framework = "Axum", port = 8003 }

[infrastructure]
postgres = { version = "15", image = "postgres:15-alpine" }
mongodb = { version = "7", image = "mongo:7-alpine" }
rabbitmq = { version = "3.12", image = "rabbitmq:3.12-management-alpine" }
jaeger = { version = "1.52", image = "jaegertracing/all-in-one:1.52" }

[ontology]
file = "ontology/microservices.ttl"
triples = 300
classes = 45
properties = 80

[sparql]
queries = "sparql/queries.rq"
templates = 15
complexity = "advanced"

[testing]
framework = "chicago-tdd"
integration_tests = 28
coverage_target = 90
test_containers = true

[documentation]
readme = "README.md"
architecture = "docs/ARCHITECTURE.md"
deployment = "docs/DEPLOYMENT.md"
monitoring = "docs/MONITORING.md"
patterns = "docs/PATTERNS.md"

[quality]
line_count = 1500
test_count = 28
documentation_pages = 5
complexity_score = "advanced"

[deployment]
docker_compose = true
kubernetes = true
helm_chart = true
service_mesh_ready = true

[observability]
distributed_tracing = "OpenTelemetry + Jaeger"
metrics = "Prometheus"
logging = "Structured JSON"
health_checks = "Kubernetes probes"

[resilience]
circuit_breaker = true
retry_policy = true
bulkhead = true
timeout_policy = true

[communication]
rest_api = true
grpc = true
message_queue = true
event_streaming = true
