Skip to content

Commit 0ee705d

Browse files
committed
Updating documentation with colima references
1 parent c704a07 commit 0ee705d

File tree

3 files changed

+16
-5
lines changed

3 files changed

+16
-5
lines changed

CLAUDE.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ToolHive is a lightweight, secure manager for MCP (Model Context Protocol: https
1010
- **Kubernetes Operator (`thv-operator`)**: Manages MCP servers in Kubernetes clusters
1111
- **Proxy Runner (`thv-proxyrunner`)**: Handles proxy functionality for MCP server communication
1212

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.
1414

1515
## Build and Development Commands
1616

@@ -90,7 +90,7 @@ The test framework uses Ginkgo and Gomega for BDD-style testing.
9090

9191
### Key Design Patterns
9292

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)
9494
- **Interface Segregation**: Clean abstractions for container runtimes, transports, and storage
9595
- **Middleware Pattern**: HTTP middleware for auth, authz, telemetry
9696
- **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
131131
- Supports environment variable overrides
132132
- Client configuration stored in `~/.toolhive/` or equivalent
133133

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:
137+
138+
- `TOOLHIVE_PODMAN_SOCKET`: Custom Podman socket path
139+
- `TOOLHIVE_COLIMA_SOCKET`: Custom Colima socket path (default: `~/.colima/default/docker.sock`)
140+
- `TOOLHIVE_DOCKER_SOCKET`: Custom Docker socket path
141+
142+
**Colima Support**: Colima is fully supported as a Docker-compatible runtime. ToolHive will automatically detect Colima installations on macOS and Linux systems.
143+
134144
## Development Guidelines
135145

136146
### Code Organization
@@ -176,7 +186,7 @@ When working on the Kubernetes operator:
176186

177187
### Working with Containers
178188

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:
180190
- Implement the interface in `pkg/container/runtime/types.go`
181191
- Add runtime-specific implementations in appropriate subdirectories
182192
- Use factory pattern for runtime selection

docs/cli/thv.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/proposals/thvignore.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ func convertMounts(mounts []runtime.Mount) []mount.Mount {
169169
| ----- | ----- | ----- |
170170
| Docker |`mount.TypeBind` |`mount.TypeTmpfs` |
171171
| Podman |`--mount type=bind` |`--mount type=tmpfs` |
172+
| Colima |`mount.TypeBind` |`mount.TypeTmpfs` |
172173

173174
---
174175

@@ -341,6 +342,6 @@ docker run \
341342
| Real-time file access | ✅ via full bind mount |
342343
| Hidden files (e.g. `.ssh`, `.env`) | ✅ overlaid with tmpfs |
343344
| Config flexibility | ✅ per-folder \+ global `.thvignore` |
344-
| Runtime compatibility | ✅ Docker, Podman |
345+
| Runtime compatibility | ✅ Docker, Podman, Colima |
345346
| Integration | ✅ Works with existing permission profiles |
346347

0 commit comments

Comments
 (0)