Skip to content

Commit 76a0e99

Browse files
tiwilliaclaude
andcommitted
Update documentation for containerization and OpenShift deployment
- Add container build/run/clean commands to build instructions - Document OpenShift deployment with template parameters - Add new CLI flags (--host, --ocm-client-id) to configuration - Document UBI9 containerization with security features - Add TLS and resource configuration details for production deployment 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent b6cc8ea commit 76a0e99

File tree

2 files changed

+57
-2
lines changed

2 files changed

+57
-2
lines changed

CLAUDE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,15 @@ make run
1919
# Clean build artifacts
2020
make clean
2121

22+
# Container operations
23+
make container-build # Build container image with podman
24+
make container-run # Build and run container with SSE transport on port 8080
25+
make container-clean # Remove container image
26+
27+
# OpenShift deployment
28+
make deploy # Deploy to OpenShift using template
29+
make undeploy # Remove deployed resources from OpenShift
30+
2231
# Run all tests
2332
go test ./...
2433

@@ -88,6 +97,16 @@ All responses are human-readable formatted strings (not JSON) designed for AI as
8897
- Only the `pkg/ocm` package currently has test coverage focusing on authentication logic
8998
- The server binary is built to `rosa-mcp-server` in the project root
9099

100+
## Container and OpenShift Deployment
101+
102+
The project includes containerization support using Red Hat UBI9 images:
103+
104+
- **Containerfile**: Multi-stage build with UBI9 Go toolset for building and UBI9 minimal for runtime
105+
- **Security**: Runs as non-root user `rosa` with minimal base image
106+
- **OpenShift Template**: Complete deployment with Deployment, Service, and Route resources
107+
- **TLS Support**: Automatic certificate management via cert-manager integration
108+
- **Resource Limits**: Pre-configured CPU/memory limits for production deployment
109+
91110
## OCM Authentication Setup
92111

93112
For development and testing, you need an OCM offline token:

README.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,29 @@ A Model Context Protocol (MCP) server for ROSA HCP (Red Hat OpenShift Service on
2222
```bash
2323
git clone https://github.com/tiwillia/rosa-mcp-go
2424
cd rosa-mcp-go
25-
go build -o rosa-mcp-server cmd/rosa-mcp-server/main.go
25+
make build
26+
```
27+
28+
### Container Installation
29+
30+
```bash
31+
# Build container image
32+
make container-build
33+
34+
# Run with SSE transport
35+
make container-run
36+
```
37+
38+
### OpenShift Deployment
39+
40+
```bash
41+
# Deploy to OpenShift
42+
make deploy
43+
44+
# Configure template parameters as needed:
45+
# - IMAGE: Container image (default: quay.io/redhat-ai-tools/rosa-mcp-server)
46+
# - MCP_HOST: Hostname for the route
47+
# - CERT_MANAGER_ISSUER_NAME: TLS certificate issuer
2648
```
2749

2850
## Configuration
@@ -34,7 +56,9 @@ rosa-mcp-server [flags]
3456

3557
Flags:
3658
--config string path to configuration file
59+
--host string host for SSE transport (default "0.0.0.0")
3760
--ocm-base-url string OCM API base URL (default "https://api.openshift.com")
61+
--ocm-client-id string OCM client ID (default "cloud-services")
3862
--port int port for SSE transport (default 8080)
3963
--sse-base-url string SSE base URL for public endpoints
4064
--transport string transport mode (stdio/sse) (default "stdio")
@@ -212,9 +236,12 @@ Before creating clusters, ensure you have:
212236
└── README.md # This file
213237
```
214238

215-
### Testing
239+
### Building and Testing
216240

217241
```bash
242+
# Build binary
243+
make build
244+
218245
# Run all tests
219246
go test ./...
220247

@@ -224,6 +251,15 @@ go build ./...
224251
# Test server startup
225252
./rosa-mcp-server --help
226253
./rosa-mcp-server version
254+
255+
# Container operations
256+
make container-build # Build container image
257+
make container-run # Run containerized server
258+
make container-clean # Remove container image
259+
260+
# OpenShift deployment
261+
make deploy # Deploy to OpenShift
262+
make undeploy # Remove from OpenShift
227263
```
228264

229265
## Integration with AI Assistants

0 commit comments

Comments
 (0)