apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: ${KUBE_NAMESPACE}
  name: frontend-deployment
  labels:
    app: frontend
spec:
  replicas: 1
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      nodeSelector:
        $WORKER_NODE_LABEL
      imagePullSecrets:
        - name: ghcr-login-secret
      containers:
        - name: frontend
          image: ${IMAGE_BASE}:${IMAGE_TAG}
          imagePullPolicy: "Always"
          resources:
            requests:
              memory: "128Mi"
              cpu: "75m"
            limits:
              memory: "128Mi"
              cpu: "256m"
          ports:
            - containerPort: 5000
          readinessProbe:
            httpGet:
              path: /
              port: 5000
            initialDelaySeconds: 10
          livenessProbe:
            httpGet:
              path: /
              port: 5000
            initialDelaySeconds: 10
          envFrom:
            - configMapRef:
                name: frontend-config
          env:
            - name: PORT
              value: "5000"
