---
apiVersion: v1
kind: Service
metadata:
  name: ${web_app_web_service_name}
  labels:
    name: ${svc_id}-service
spec:
  ports:
    - name: 'http'
      port: 80
      targetPort: 80
  selector:
    name: ${svc_id}
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ${svc_id}
spec:
  replicas: ${replicas}
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      name: ${svc_id}
  template:
    metadata:
      labels:
        name: ${svc_id}
    spec:
      imagePullPolicy: ${image_pull_policy}
      #if(${image_pull_secrets_enable} == "true")
      imagePullSecrets:
        - name: ${image_pull_secrets}
      #end
      restartPolicy: ${restart_policy}
      hostname: ${web_app_web_service_name}
      containers:
        - name: ${web_app_web_service_name}
          image: ${registry_url}/${image}:${version}
          env:
            - name: TZ
              value: Asia/Shanghai
          ports:
            - containerPort: 80
          #if(${resources_enable} == "true")
          resources:
            requests:
              cpu: ${cpu_req}
              memory: ${memory_req}
            limits:
              cpu: ${cpu_limit}
              memory: ${memory_limit}
          #end
          #if(${liveness_probe_enable} == "true")
          livenessProbe:
            httpGet:
              scheme: HTTP
              port: 80
              path: /{{ configFileName }}.js
            initialDelaySeconds: 5
            periodSeconds: 3
            timeoutSeconds: 3
            successThreshold: 2
            failureThreshold: 2
          readinessProbe:
            httpGet:
              scheme: HTTP
              port: 80
              path: /{{ configFileName }}.js
            initialDelaySeconds: 5
            periodSeconds: 3
            timeoutSeconds: 3
            successThreshold: 2
            failureThreshold: 2
#end
