apiVersion: apps/v1
kind: Deployment
metadata:
  name: calminer-app
  labels:
    app: calminer
spec:
  replicas: 3
  selector:
    matchLabels:
      app: calminer
  template:
    metadata:
      labels:
        app: calminer
    spec:
      containers:
        - name: calminer
          image: registry.example.com/calminer:latest
          ports:
            - containerPort: 8003
          envFrom:
            - configMapRef:
                name: calminer-config
            - secretRef:
                name: calminer-secrets
          resources:
            requests:
              memory: "256Mi"
              cpu: "250m"
            limits:
              memory: "512Mi"
              cpu: "500m"
          livenessProbe:
            httpGet:
              path: /health
              port: 8003
            initialDelaySeconds: 30
            periodSeconds: 10
          readinessProbe:
            httpGet:
              path: /health
              port: 8003
            initialDelaySeconds: 5
            periodSeconds: 5
      initContainers:
        - name: wait-for-db
          image: postgres:17
          command:
            [
              "sh",
              "-c",
              "until pg_isready -h calminer-db -p 5432; do echo waiting for database; sleep 2; done;",
            ]
