-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathconfig-docker-multiple.yaml
More file actions
88 lines (81 loc) · 2.47 KB
/
config-docker-multiple.yaml
File metadata and controls
88 lines (81 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Docker Compose configuration for testing multiple registry sources
#
# This configuration demonstrates how to aggregate data from multiple
# registry sources (file-based, API, Git) into a single registry server.
# It's useful for testing the server's ability to merge and serve data
# from different providers.
#
# Usage:
# CONFIG_FILE=config-docker-multiple.yaml docker-compose up
#
# This config is Docker Compose-specific with:
# - Database host set to 'postgres' (Docker service name)
# - Volume paths matching Docker Compose mounts
# - Shorter sync intervals for testing
# Multiple sources from different origins
sources:
# File-based source from ToolHive catalog
- name: toolhive-file
file:
# Path to mounted file in Docker container
path: /examples/toolhive-registry.json
syncPolicy:
interval: "30s" # Short interval for testing
# File-based source from upstream registry
- name: upstream-file
file:
path: /examples/upstream-registry.json
syncPolicy:
interval: "30s"
# API-based source from MCP official registry with filtering
- name: mcp-api
api:
endpoint: https://registry.modelcontextprotocol.io
syncPolicy:
interval: "5m" # Slightly longer to be respectful of rate limits
# Optional: Per-registry filter to curate servers from upstream
# filter:
# names:
# include:
# - "@modelcontextprotocol/*"
# - "anthropic/*"
# exclude:
# - "*/experimental"
# tags:
# include:
# - "official"
# - "stable"
# Git-based source from ToolHive catalog
- name: toolhive-git
git:
repository: https://github.com/stacklok/toolhive-catalog.git
branch: main
path: pkg/catalog/toolhive/data/registry-upstream.json
syncPolicy:
interval: "5m" # Longer interval for Git operations
# Optional: Per-registry filter for ToolHive servers
# filter:
# names:
# include:
# - "stacklok/*"
# exclude:
# - "*/deprecated"
# tags:
# include:
# - "production"
registries:
- name: default
sources: ["toolhive-file", "upstream-file", "mcp-api", "toolhive-git"]
auth:
mode: anonymous
# PostgreSQL database configuration for Docker Compose
database:
host: postgres # Docker service name
port: 5432
user: db_app
migrationUser: db_migrator
database: registry
sslMode: disable
maxOpenConns: 10
maxIdleConns: 2
connMaxLifetime: "30m"