apiVersion: v1 kind: Service metadata: name: meilisearch-svc spec: selector: app: commerce-meilisearch ports: - name: http port: 7700 targetPort: 7700 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: commerce-meilisearch spec: serviceName: meilisearch-svc replicas: 1 selector: matchLabels: app: commerce-meilisearch template: metadata: labels: app: commerce-meilisearch spec: terminationGracePeriodSeconds: 30 containers: - name: meilisearch image: getmeili/meilisearch:v1.53.1 imagePullPolicy: IfNotPresent env: - name: MEILI_MASTER_KEY valueFrom: secretKeyRef: name: commerce-secrets key: MEILI_MASTER_KEY - name: MEILI_ENV value: production # Sin telemetria a un tercero por defecto (misma postura del # resto del namespace: nada de egress no explicado). - name: MEILI_NO_ANALYTICS value: "true" ports: - name: http containerPort: 7700 # /health no requiere auth (confirmado en vivo) -- sirve tal # cual para las dos probes, igual que minio usa sus propios # endpoints /minio/health/*. readinessProbe: httpGet: path: /health port: http initialDelaySeconds: 5 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 6 livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 15 periodSeconds: 20 timeoutSeconds: 5 failureThreshold: 6 resources: requests: cpu: 100m memory: 256Mi limits: cpu: 500m memory: 768Mi volumeMounts: - name: meilisearch-data mountPath: /meili_data volumeClaimTemplates: - metadata: name: meilisearch-data spec: accessModes: - ReadWriteOnce storageClassName: local-path resources: requests: storage: 5Gi