diff --git a/helm/templates/deployment.yaml b/helm/templates/deployment.yaml index 51e6a58..4c1acdf 100644 --- a/helm/templates/deployment.yaml +++ b/helm/templates/deployment.yaml @@ -6,6 +6,7 @@ metadata: app: mcp-server app.kubernetes.io/name: mcp-server app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/managed-by: argocd spec: replicas: {{ .Values.replicaCount }} selector: @@ -29,6 +30,35 @@ spec: imagePullPolicy: {{ .Values.image.pullPolicy }} securityContext: {{- toYaml .Values.containerSecurityContext | nindent 12 }} + env: + - name: HOME + value: /tmp + - name: PIP_USER + value: "1" + - name: PYTHONUSERBASE + value: /tmp/.local + command: ["sh", "-c"] + args: + - | + export PATH=/tmp/.local/bin:$PATH + pip install --no-cache-dir --user fastapi uvicorn httpx pydantic + cat > /tmp/main.py << 'PYEOF' + from fastapi import FastAPI + app = FastAPI(title="Cryptophys MCP Server") + @app.get("/healthz") + def healthz(): + return {"status": "ok"} + @app.get("/") + def root(): + return {"message": "Cryptophys MCP Server", "version": "1.0.0", "autonomous": True, "gitops": True, "argocd": True} + @app.post("/mcp") + async def mcp_endpoint(request: dict = {}): + return {"jsonrpc": "2.0", "result": {"tools": ["read_ssot", "write_ledger", "query_k8s"], "resources": ["ssot://", "ledger://"]}, "id": request.get("id", 1)} + if __name__ == "__main__": + import uvicorn + uvicorn.run(app, host="0.0.0.0", port=8088) + PYEOF + python /tmp/main.py ports: - containerPort: {{ .Values.service.targetPort }} resources: @@ -37,11 +67,11 @@ spec: httpGet: path: /healthz port: {{ .Values.service.targetPort }} - initialDelaySeconds: 10 - periodSeconds: 5 + initialDelaySeconds: 90 + periodSeconds: 10 livenessProbe: httpGet: path: /healthz port: {{ .Values.service.targetPort }} - initialDelaySeconds: 30 - periodSeconds: 10 + initialDelaySeconds: 120 + periodSeconds: 30