Skip to main content
Glama
deployment.yaml5.25 kB
apiVersion: apps/v1 kind: Deployment metadata: name: openaccess-mcp labels: app: openaccess-mcp version: v0.0.1 spec: replicas: 3 selector: matchLabels: app: openaccess-mcp template: metadata: labels: app: openaccess-mcp version: v0.0.1 spec: serviceAccountName: openaccess-mcp-sa containers: - name: openaccess-mcp image: openaccess-mcp:0.0.1 imagePullPolicy: IfNotPresent ports: - containerPort: 8000 name: mcp env: - name: PYTHONUNBUFFERED value: "1" - name: MCP_HOST value: "0.0.0.0" - name: MCP_PORT value: "8000" - name: PROFILES_DIR value: "/app/profiles" - name: SECRETS_DIR value: "/app/secrets" - name: AUDIT_LOG_PATH value: "/app/audit/audit.log" - name: AUDIT_KEY_PATH value: "/app/audit/audit.key" - name: REDIS_URL value: "redis://openaccess-redis:6379" - name: POSTGRES_URL value: "postgresql://openaccess:$(POSTGRES_PASSWORD)@openaccess-postgres:5432/openaccess" - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: openaccess-mcp-secrets key: postgres-password resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" volumeMounts: - name: profiles mountPath: /app/profiles readOnly: true - name: secrets mountPath: /app/secrets readOnly: true - name: audit mountPath: /app/audit - name: logs mountPath: /app/logs livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 5 periodSeconds: 5 volumes: - name: profiles configMap: name: openaccess-profiles - name: secrets secret: secretName: openaccess-secrets - name: audit persistentVolumeClaim: claimName: openaccess-audit-pvc - name: logs persistentVolumeClaim: claimName: openaccess-logs-pvc --- apiVersion: v1 kind: Service metadata: name: openaccess-mcp-service labels: app: openaccess-mcp spec: type: ClusterIP ports: - port: 8000 targetPort: 8000 protocol: TCP name: mcp selector: app: openaccess-mcp --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: openaccess-mcp-ingress annotations: kubernetes.io/ingress.class: "nginx" cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/ssl-redirect: "true" nginx.ingress.kubernetes.io/rate-limit: "100" nginx.ingress.kubernetes.io/rate-limit-window: "1m" spec: tls: - hosts: - openaccess-mcp.example.com secretName: openaccess-mcp-tls rules: - host: openaccess-mcp.example.com http: paths: - path: / pathType: Prefix backend: service: name: openaccess-mcp-service port: number: 8000 --- apiVersion: v1 kind: ConfigMap metadata: name: openaccess-profiles data: default-profile.json: | { "id": "default", "host": "localhost", "port": 22, "protocols": ["ssh", "sftp", "rsync", "tunnel"], "auth": { "type": "file_ref", "ref": "default-auth" }, "policy": { "roles": ["admin"], "command_allowlist": ["^ls$", "^pwd$", "^whoami$"], "command_denylist": ["^rm -rf", "^sudo"], "deny_sudo": true, "max_session_seconds": 900, "record_session": true, "require_change_ticket_for": ["delete", "sudo"], "max_concurrent_sessions": 1 }, "tags": ["default", "local"], "description": "Default local development profile" } --- apiVersion: v1 kind: Secret metadata: name: openaccess-mcp-secrets type: Opaque data: postgres-password: b3BlbmFjY2VzczEyMw== # base64 encoded --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: openaccess-audit-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: openaccess-logs-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi --- apiVersion: v1 kind: ServiceAccount metadata: name: openaccess-mcp-sa labels: app: openaccess-mcp --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: openaccess-mcp-role rules: - apiGroups: [""] resources: ["pods", "services", "endpoints"] verbs: ["get", "list", "watch"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: openaccess-mcp-role-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: openaccess-mcp-role subjects: - kind: ServiceAccount name: openaccess-mcp-sa namespace: default

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/keepithuman/openaccess-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server