feat: add Home Assistant MCP sidecar and fix K8s/Flux MCP deployment logic
Added features: - Home Assistant MCP server as optional sidecar (mcpSidecars.homeassistant) - Requires homeassistant-url and homeassistant-token secrets - Runs on port 8087 using SSE transport mode - Disabled by default due to credential requirements Fixed deployment logic: - Kubernetes and Flux MCP sidecars now only deploy when: 1. They are enabled in values (mcpSidecars.<name>.enabled: true) 2. AND clusterAccess is not "none" (they need RBAC to function) - Prevents unnecessary container failures when no permissions exist Documentation updates: - Complete Helm values reference for all MCP sidecars - Deployment examples and troubleshooting guides - Updated memory notes with current architecture Breaking change: - K8s/Flux MCP sidecars won't deploy with clusterAccess=none - This is intentional as they cannot function without RBAC Generated with [Claude Code](https://claude.ai/code) via [Happy](https://happy.engineering) Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering>
This commit is contained in:
+24
-3
@@ -124,7 +124,11 @@ ssh -p 2222 user@localhost
|
||||
|
||||
### MCP Sidecar Configuration
|
||||
|
||||
Control MCP servers for AI-assisted operations:
|
||||
Control MCP servers for AI-assisted operations.
|
||||
|
||||
**Important:** Kubernetes and Flux MCP sidecars are only deployed when:
|
||||
1. They are enabled in values (`mcpSidecars.<name>.enabled: true`)
|
||||
2. AND `clusterAccess` is not `none` (they need RBAC permissions to function)
|
||||
|
||||
```bash
|
||||
# Disable all MCP sidecars
|
||||
@@ -132,7 +136,8 @@ helm install mydev ./chart \
|
||||
--set name=mydev \
|
||||
--set githubRepo=https://github.com/youruser/yourrepo \
|
||||
--set mcpSidecars.kubernetes.enabled=false \
|
||||
--set mcpSidecars.flux.enabled=false
|
||||
--set mcpSidecars.flux.enabled=false \
|
||||
--set mcpSidecars.homeassistant.enabled=false
|
||||
|
||||
# Enable only Kubernetes MCP
|
||||
helm install mydev ./chart \
|
||||
@@ -140,6 +145,16 @@ helm install mydev ./chart \
|
||||
--set githubRepo=https://github.com/youruser/yourrepo \
|
||||
--set mcpSidecars.kubernetes.enabled=true \
|
||||
--set mcpSidecars.flux.enabled=false
|
||||
|
||||
# Enable Home Assistant MCP (requires credentials)
|
||||
kubectl create secret generic devcontainer-mydev-secrets-env \
|
||||
--from-literal=homeassistant-url='http://homeassistant.local:8123' \
|
||||
--from-literal=homeassistant-token='your_long_lived_token'
|
||||
|
||||
helm install mydev ./chart \
|
||||
--set name=mydev \
|
||||
--set githubRepo=https://github.com/youruser/yourrepo \
|
||||
--set mcpSidecars.homeassistant.enabled=true
|
||||
```
|
||||
|
||||
### Cluster Access Levels
|
||||
@@ -340,9 +355,15 @@ kubectl get pod -l app.kubernetes.io/instance=mydev -o jsonpath='{.items[0].spec
|
||||
# Check MCP container logs
|
||||
kubectl logs deployment/devcontainer-mydev -c kubernetes-mcp
|
||||
kubectl logs deployment/devcontainer-mydev -c flux-mcp
|
||||
kubectl logs deployment/devcontainer-mydev -c homeassistant-mcp
|
||||
|
||||
# Verify RBAC permissions
|
||||
# Verify RBAC permissions (for Kubernetes/Flux MCP)
|
||||
kubectl auth can-i --list --as system:serviceaccount:default:devcontainer-mydev
|
||||
|
||||
# Check Home Assistant MCP credentials
|
||||
kubectl get secret devcontainer-mydev-secrets-env -o jsonpath='{.data.homeassistant-url}' | base64 -d
|
||||
# Verify the URL is accessible from the pod
|
||||
kubectl exec deployment/devcontainer-mydev -- curl -s http://homeassistant.local:8123/api/
|
||||
```
|
||||
|
||||
### Storage Issues
|
||||
|
||||
Reference in New Issue
Block a user