Files
ever-gauzy/.deploy/k8s/k8s-manifest.mcp.stage.yaml
T
samuel mbabhazi 8fe77c6c88 Feat/redis flexible configuration (#9187)
* feat(config): add individual Redis connection environment variables

- Add REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD to all env files
- Support flexible Redis configuration alongside REDIS_URL
- Allow connection via individual parameters or single URL

* feat(docker): add Redis env vars to Dockerfiles

- Add REDIS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD as build args and env vars
- Update API, MCP, and MCP-Auth Dockerfiles
- Enable flexible Redis configuration in containerized deployments

* feat(k8s): add Redis env vars to Kubernetes manifests

- Add REDIS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD to all k8s deployments
- Update manifests for prod, stage, and demo environments
- Support flexible Redis configuration in Kubernetes (Civo, CW, DO)
- Apply to API, MCP, and MCP-Auth deployments

* feat(deploy): add Redis env vars to Docker Compose templates

- Add REDIS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD to compose templates
- Update templates for Cloudflare and Let's Encrypt deployments
- Apply to prod, stage, and demo environments
- Enable flexible Redis configuration in SSH-based deployments

* feat(ci): add Redis env vars to GitHub workflows

- Add REDIS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD to deployment workflows
- Update workflows for Civo, CW, and DigitalOcean deployments
- Apply to API, MCP, and MCP-Auth deployment pipelines
- Support flexible Redis configuration in CI/CD

* feat(do): add Redis env vars to DigitalOcean App Platform config

- Add REDIS_ENABLED, REDIS_HOST, REDIS_PORT, REDIS_USER, REDIS_PASSWORD to app.yaml
- Enable flexible Redis configuration for DO App Platform deployments

* add redis_tls
2025-11-03 16:36:56 +01:00

154 lines
5.3 KiB
YAML

---
kind: Service
apiVersion: v1
metadata:
name: gauzy-mcp-stage-svc
spec:
type: ClusterIP
selector:
app: gauzy-mcp-stage
ports:
- name: http
protocol: TCP
port: 80
targetPort: 3001
- name: websocket
protocol: TCP
port: 3002
targetPort: 3002
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gauzy-mcp-stage
spec:
replicas: 1
selector:
matchLabels:
app: gauzy-mcp-stage
template:
metadata:
labels:
app: gauzy-mcp-stage
spec:
containers:
- name: gauzy-stage-mcp
image: registry.digitalocean.com/ever/gauzy-mcp-stage:latest
env:
# MCP Server Configuration
- name: MCP_TRANSPORT
value: $MCP_TRANSPORT
- name: MCP_SERVER_MODE
value: $MCP_SERVER_MODE
- name: MCP_HTTP_PORT
value: $MCP_HTTP_PORT
- name: MCP_HTTP_HOST
value: $MCP_HTTP_HOST
- name: MCP_WS_PORT
value: $MCP_WS_PORT
- name: MCP_WS_HOST
value: $MCP_WS_HOST
# Security and CORS
- name: MCP_CORS_ORIGIN
value: $MCP_CORS_ORIGIN
- name: MCP_CORS_CREDENTIALS
value: $MCP_CORS_CREDENTIALS
# OAuth 2.0 Authorization
- name: MCP_AUTH_ENABLED
value: $MCP_AUTH_ENABLED
- name: MCP_AUTH_RESOURCE_URI
value: $MCP_AUTH_RESOURCE_URI
- name: MCP_AUTH_REQUIRED_SCOPES
value: $MCP_AUTH_REQUIRED_SCOPES
- name: MCP_AUTH_SERVERS
value: '$MCP_AUTH_SERVERS'
- name: MCP_AUTH_JWT_AUDIENCE
value: $MCP_AUTH_JWT_AUDIENCE
- name: MCP_AUTH_JWT_ISSUER
value: $MCP_AUTH_JWT_ISSUER
- name: MCP_AUTH_JWT_ALGORITHMS
value: $MCP_AUTH_JWT_ALGORITHMS
- name: MCP_AUTH_JWT_JWKS_URI
value: $MCP_AUTH_JWT_JWKS_URI
- name: MCP_AUTH_TOKEN_CACHE_TTL
value: $MCP_AUTH_TOKEN_CACHE_TTL
- name: MCP_AUTH_METADATA_CACHE_TTL
value: $MCP_AUTH_METADATA_CACHE_TTL
# Session Management
- name: MCP_SESSION_ENABLED
value: $MCP_SESSION_ENABLED
- name: MCP_SESSION_COOKIE_NAME
value: $MCP_SESSION_COOKIE_NAME
- name: MCP_SESSION_TTL
value: $MCP_SESSION_TTL
- name: MCP_AUTH_SESSION_SECRET
value: $MCP_AUTH_SESSION_SECRET
# Rate Limiting
- name: THROTTLE_ENABLED
value: $THROTTLE_ENABLED
- name: THROTTLE_TTL
value: $THROTTLE_TTL
- name: THROTTLE_LIMIT
value: $THROTTLE_LIMIT
# Gauzy API Integration
- name: API_BASE_URL
value: $API_BASE_URL
- name: GAUZY_AUTO_LOGIN
value: $GAUZY_AUTO_LOGIN
- name: REDIS_ENABLED
value: '$REDIS_ENABLED'
- name: REDIS_URL
value: '$REDIS_URL'
- name: REDIS_HOST
value: '$REDIS_HOST'
- name: REDIS_PASSWORD
value: '$REDIS_PASSWORD'
- name: REDIS_PORT
value: '$REDIS_PORT'
- name: REDIS_USER
value: '$REDIS_USER'
- name: REDIS_TLS
value: '$REDIS_TLS'
ports:
- containerPort: 3001
protocol: TCP
name: http
- containerPort: 3002
protocol: TCP
name: websocket
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: gauzy-mcp-stage-ing
namespace: default
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
nginx.ingress.kubernetes.io/proxy-send-timeout: '3600'
nginx.ingress.kubernetes.io/proxy-read-timeout: '3600'
spec:
ingressClassName: nginx
rules:
- host: mcpstage.gauzy.co
http:
paths:
- backend:
service:
name: gauzy-mcp-stage-svc
port:
number: 80
path: /
pathType: Prefix
tls:
- hosts:
- mcpstage.gauzy.co
secretName: mcp.gauzy.co-tls