apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  namespace: prod
  labels:
    app: frontend
spec:
  minReadySeconds: 5
  revisionHistoryLimit: 5
  progressDeadlineSeconds: 60
  strategy:
    rollingUpdate:
      maxUnavailable: 0
    type: RollingUpdate
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      annotations:
        prometheus.io/scrape: "true"
      labels:
        app: frontend
    spec:
      containers:
        - name: frontend
          image: ghcr.io/stefanprodan/podinfo:5.0.0
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 9898
              name: http
              protocol: TCP
          command:
            - ./podinfo
            - --port=9898
            - --level=info
          env:
            - name: PODINFO_BACKEND_URL
              value: http://backend:9898/echo
            - name: PODINFO_UI_COLOR
              value: "#34577c"
          livenessProbe:
            exec:
              command:
                - podcli
                - check
                - http
                - localhost:9898/healthz
            initialDelaySeconds: 5
            timeoutSeconds: 5
          readinessProbe:
            exec:
              command:
                - podcli
                - check
                - http
                - localhost:9898/readyz
            initialDelaySeconds: 5
            timeoutSeconds: 5
          resources:
            limits:
              cpu: 2000m
              memory: 512Mi
            requests:
              cpu: 100m
              memory: 64Mi
