You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CLAUDE.md
+13-3Lines changed: 13 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ ToolHive is a lightweight, secure manager for MCP (Model Context Protocol: https
10
10
-**Kubernetes Operator (`thv-operator`)**: Manages MCP servers in Kubernetes clusters
11
11
-**Proxy Runner (`thv-proxyrunner`)**: Handles proxy functionality for MCP server communication
12
12
13
-
The application acts as a thin client for Docker/Podman Unix socket API, providing container-based isolation for running MCP servers securely. It also builds on top of the MCP Specification: https://modelcontextprotocol.io/specification.
13
+
The application acts as a thin client for Docker/Podman/Colima Unix socket API, providing container-based isolation for running MCP servers securely. It also builds on top of the MCP Specification: https://modelcontextprotocol.io/specification.
14
14
15
15
## Build and Development Commands
16
16
@@ -90,7 +90,7 @@ The test framework uses Ginkgo and Gomega for BDD-style testing.
90
90
91
91
### Key Design Patterns
92
92
93
-
-**Factory Pattern**: Used extensively for creating runtime-specific implementations (Docker vs Kubernetes)
93
+
-**Factory Pattern**: Used extensively for creating runtime-specific implementations (Docker/Colima/Podman vs Kubernetes)
94
94
-**Interface Segregation**: Clean abstractions for container runtimes, transports, and storage
95
95
-**Middleware Pattern**: HTTP middleware for auth, authz, telemetry
96
96
-**Observer Pattern**: Event system for audit logging
@@ -131,6 +131,16 @@ The project uses `go.uber.org/mock` for generating mocks. Mock files are located
131
131
- Supports environment variable overrides
132
132
- Client configuration stored in `~/.toolhive/` or equivalent
133
133
134
+
### Container Runtime Configuration
135
+
136
+
ToolHive automatically detects available container runtimes in the following order: Podman, Colima, Docker. You can override the default socket paths using environment variables:
**Colima Support**: Colima is fully supported as a Docker-compatible runtime. ToolHive will automatically detect Colima installations on macOS and Linux systems.
143
+
134
144
## Development Guidelines
135
145
136
146
### Code Organization
@@ -176,7 +186,7 @@ When working on the Kubernetes operator:
176
186
177
187
### Working with Containers
178
188
179
-
The container abstraction supports both Docker and Kubernetes runtimes. When adding container functionality:
189
+
The container abstraction supports Docker, Colima, Podman, and Kubernetes runtimes. When adding container functionality:
180
190
- Implement the interface in `pkg/container/runtime/types.go`
181
191
- Add runtime-specific implementations in appropriate subdirectories
0 commit comments