--- # Source: elasticsearch-mcp/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount metadata: name: elasticsearch-mcp namespace: default labels: app: elasticsearch-mcp bu: central env: prd service: elasticsearch-mcp team: devops automountServiceAccountToken: false --- # Source: elasticsearch-mcp/templates/service.yaml apiVersion: v1 kind: Service metadata: name: elasticsearch-mcp namespace: default labels: app: elasticsearch-mcp bu: central env: prd service: elasticsearch-mcp team: devops spec: type: ClusterIP ports: - name: http port: 8080 targetPort: 8080 selector: app: elasticsearch-mcp --- # Source: elasticsearch-mcp/templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch-mcp namespace: default labels: app: elasticsearch-mcp bu: central env: prd service: elasticsearch-mcp team: devops spec: replicas: 1 selector: matchLabels: app: elasticsearch-mcp template: metadata: labels: app: elasticsearch-mcp bu: central env: prd service: elasticsearch-mcp team: devops spec: serviceAccountName: elasticsearch-mcp nodeSelector: dedicated: devops-mcp tolerations: - effect: NoSchedule key: dedicated operator: Equal value: devops-mcp containers: - name: elasticsearch-mcp image: "docker.elastic.co/mcp/elasticsearch:0.4.6" imagePullPolicy: IfNotPresent args: - http envFrom: - secretRef: name: elasticsearch-mcp-creds ports: - name: http containerPort: 8080 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 1000 livenessProbe: failureThreshold: 3 httpGet: path: / port: 8080 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 5 readinessProbe: failureThreshold: 3 httpGet: path: / port: 8080 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 resources: limits: cpu: 2000m memory: 2Gi requests: cpu: 500m memory: 1Gi --- # Source: elasticsearch-mcp/templates/ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: elasticsearch-mcp namespace: default labels: app: elasticsearch-mcp bu: central env: prd service: elasticsearch-mcp team: devops annotations: kubernetes.io/ingress.class: nginx-internal nginx.ingress.kubernetes.io/proxy-body-size: 10m nginx.ingress.kubernetes.io/proxy-buffer-size: 16k nginx.ingress.kubernetes.io/proxy-read-timeout: "300" nginx.ingress.kubernetes.io/proxy-send-timeout: "300" nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: ingressClassName: nginx-internal rules: - host: elastic-mcp-prd.meeshogcp.in http: paths: - path: / pathType: Prefix backend: service: name: elasticsearch-mcp port: number: 8080 --- # Source: elasticsearch-mcp/templates/externalSecret.yaml apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: elasticsearch-mcp-creds namespace: default spec: refreshInterval: 150s secretStoreRef: name: vault-backend kind: ClusterSecretStore target: name: elasticsearch-mcp-creds creationPolicy: Owner deletionPolicy: Retain dataFrom: - extract: conversionStrategy: Default key: meesho/prd/cntr/devop/elasticsearch-mcp