e071084ebe
govulncheck / govulncheck (push) Waiting to run
Harness (E2E) / Harnesses (mock LLM) (push) Waiting to run
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Run Tests / Unit Tests (push) Waiting to run
Run Tests / Etcd Integration Tests (push) Waiting to run
66 lines
1.5 KiB
YAML
66 lines
1.5 KiB
YAML
# Go Micro + MCP Gateway deployment with Docker Compose
|
|
#
|
|
# This runs:
|
|
# 1. Consul — service registry (discovery)
|
|
# 2. App — your go-micro service(s)
|
|
# 3. MCP Gateway — standalone MCP gateway connected to Consul
|
|
# 4. Jaeger — distributed tracing UI
|
|
#
|
|
# Usage:
|
|
# docker-compose up
|
|
#
|
|
# Endpoints:
|
|
# MCP Tools: http://localhost:3001/mcp/tools
|
|
# Consul UI: http://localhost:8500
|
|
# Jaeger UI: http://localhost:16686
|
|
# Service: http://localhost:9090 (RPC)
|
|
|
|
services:
|
|
# --- Service Registry ---
|
|
consul:
|
|
image: consul:1.15
|
|
ports:
|
|
- "8500:8500"
|
|
command: agent -server -bootstrap-expect=1 -ui -client=0.0.0.0
|
|
|
|
# --- Your Go Micro Service ---
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
ports:
|
|
- "9090:9090"
|
|
environment:
|
|
MICRO_REGISTRY: consul
|
|
MICRO_REGISTRY_ADDRESS: consul:8500
|
|
MICRO_SERVER_ADDRESS: :9090
|
|
depends_on:
|
|
- consul
|
|
restart: unless-stopped
|
|
|
|
# --- MCP Gateway (standalone) ---
|
|
mcp-gateway:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.gateway
|
|
ports:
|
|
- "3001:3001"
|
|
environment:
|
|
MICRO_REGISTRY: consul
|
|
MICRO_REGISTRY_ADDRESS: consul:8500
|
|
MCP_ADDRESS: :3001
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: http://jaeger:4318
|
|
depends_on:
|
|
- consul
|
|
- app
|
|
restart: unless-stopped
|
|
|
|
# --- Tracing ---
|
|
jaeger:
|
|
image: jaegertracing/all-in-one:1.53
|
|
ports:
|
|
- "16686:16686" # UI
|
|
- "4318:4318" # OTLP HTTP
|
|
environment:
|
|
COLLECTOR_OTLP_ENABLED: "true"
|