Skip to main content
Glama
deployment.yaml4.64 kB
apiVersion: apps/v1 kind: Deployment metadata: name: aerospace-mcp namespace: default labels: app: aerospace-mcp version: "0.1.0" component: api spec: replicas: 2 selector: matchLabels: app: aerospace-mcp template: metadata: labels: app: aerospace-mcp version: "0.1.0" component: api annotations: prometheus.io/scrape: "false" # Enable if you add metrics prometheus.io/port: "8080" prometheus.io/path: "/metrics" spec: # Security context for the pod securityContext: runAsNonRoot: true runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 seccompProfile: type: RuntimeDefault containers: - name: aerospace-mcp image: aerospace-mcp:latest imagePullPolicy: IfNotPresent # Container security context securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 capabilities: drop: - ALL ports: - name: http containerPort: 8080 protocol: TCP # Environment variables from ConfigMap and direct values env: - name: AEROSPACE_MCP_HOST value: "0.0.0.0" - name: AEROSPACE_MCP_PORT value: "8080" - name: AEROSPACE_MCP_MODE valueFrom: configMapKeyRef: name: aerospace-mcp-config key: mode - name: AEROSPACE_MCP_LOG_LEVEL valueFrom: configMapKeyRef: name: aerospace-mcp-config key: log_level # Resource limits and requests resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" # Health checks livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 successThreshold: 1 readinessProbe: httpGet: path: /health port: http initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 successThreshold: 1 # Volume mounts for writable directories volumeMounts: - name: tmp-volume mountPath: /tmp - name: var-tmp-volume mountPath: /var/tmp - name: logs-volume mountPath: /app/logs # Volumes for tmpfs and logs volumes: - name: tmp-volume emptyDir: medium: Memory sizeLimit: 32Mi - name: var-tmp-volume emptyDir: medium: Memory sizeLimit: 32Mi - name: logs-volume emptyDir: sizeLimit: 100Mi # Pod disruption and scheduling terminationGracePeriodSeconds: 30 restartPolicy: Always # Node selection (optional - for home lab use) # nodeSelector: # kubernetes.io/arch: amd64 # Tolerations for specific nodes (optional) # tolerations: # - key: "node-role.kubernetes.io/master" # operator: "Equal" # effect: "NoSchedule" # Affinity rules for better distribution affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - aerospace-mcp topologyKey: kubernetes.io/hostname --- # HorizontalPodAutoscaler for automatic scaling apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: aerospace-mcp-hpa namespace: default spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: aerospace-mcp minReplicas: 1 maxReplicas: 5 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 - type: Resource resource: name: memory target: type: Utilization averageUtilization: 80 behavior: scaleDown: stabilizationWindowSeconds: 300 policies: - type: Percent value: 10 periodSeconds: 60 scaleUp: stabilizationWindowSeconds: 60 policies: - type: Percent value: 50 periodSeconds: 60

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/cheesejaguar/aerospace-mcp'

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