Skip to main content
Glama
deployment.yaml4.74 kB
{{- if eq .Values.deployment.method "standard" }} apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "dot-ai.fullname" . }} labels: {{- include "dot-ai.labels" . | nindent 4 }} spec: replicas: 1 selector: matchLabels: {{- include "dot-ai.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "dot-ai.selectorLabels" . | nindent 8 }} spec: serviceAccountName: {{ include "dot-ai.serviceAccountName" . }} containers: - name: mcp-server image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy | default "IfNotPresent" }} ports: - containerPort: 3456 name: http protocol: TCP env: - name: TRANSPORT_TYPE value: "http" - name: PORT value: "3456" - name: HOST value: "0.0.0.0" - name: SESSION_MODE value: "stateless" # AI Provider configuration - name: AI_PROVIDER value: {{ .Values.ai.provider | default "anthropic" | quote }} {{- if .Values.ai.model }} - name: AI_MODEL value: {{ .Values.ai.model | quote }} {{- end }} {{- if .Values.ai.customEndpoint.enabled }} - name: CUSTOM_LLM_BASE_URL value: {{ .Values.ai.customEndpoint.baseURL | quote }} - name: CUSTOM_EMBEDDINGS_BASE_URL value: {{ .Values.ai.customEndpoint.embeddingsBaseURL | default .Values.ai.customEndpoint.baseURL | quote }} {{- if .Values.ai.customEndpoint.embeddingsModel }} - name: EMBEDDINGS_MODEL value: {{ .Values.ai.customEndpoint.embeddingsModel | quote }} {{- end }} {{- if .Values.ai.customEndpoint.embeddingsDimensions }} - name: EMBEDDINGS_DIMENSIONS value: {{ .Values.ai.customEndpoint.embeddingsDimensions | quote }} {{- end }} {{- end }} # AI Provider API Keys - name: ANTHROPIC_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.anthropic.keyName }} optional: true - name: OPENAI_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.openai.keyName }} optional: true - name: GOOGLE_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.google.keyName }} optional: true - name: XAI_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.xai.keyName }} optional: true - name: MOONSHOT_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.moonshot.keyName }} optional: true - name: CUSTOM_LLM_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.customLlm.keyName | default "custom-llm-api-key" }} optional: true - name: CUSTOM_EMBEDDINGS_API_KEY valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.customEmbeddings.keyName | default "custom-embeddings-api-key" }} optional: true - name: QDRANT_URL value: {{ if .Values.qdrant.enabled }}"http://{{ .Release.Name }}-qdrant.{{ .Release.Namespace }}.svc.cluster.local:6333"{{ else }}{{ .Values.qdrant.external.url | quote }}{{ end }} # Bearer token authentication (optional) - name: DOT_AI_AUTH_TOKEN valueFrom: secretKeyRef: name: {{ .Values.secrets.name }} key: {{ .Values.secrets.auth.keyName }} optional: true # Note: KUBERNETES_SERVICE_HOST is automatically set by k8s and triggers in-cluster config {{- with .Values.extraEnv }} # Additional environment variables {{- toYaml . | nindent 8 }} {{- end }} resources: {{- toYaml .Values.resources | nindent 10 }} # Health checks will be added once /health endpoint is implemented # livenessProbe: # httpGet: # path: /health # port: 3456 # initialDelaySeconds: 30 # periodSeconds: 10 # readinessProbe: # httpGet: # path: /ready # port: 3456 # initialDelaySeconds: 15 # periodSeconds: 5 terminationGracePeriodSeconds: 30 {{- end }}

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/vfarcic/dot-ai'

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