# Service - front-service
apiVersion: v1
kind: Service
metadata:
  labels:
    run: front-beta
  name: front-service-beta
  namespace: dialimpics-beta
spec:
  ports:
    - port: 80
      protocol: TCP
      targetPort: 80
  selector:
    run: front-beta
  sessionAffinity: None
  type: ClusterIP
---
# Issuer - letsencrypt
apiVersion: cert-manager.io/v1alpha2
kind: Issuer
metadata:
  name: letsencrypt-prod
  namespace: dialimpics-beta
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: soporte@binpar.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
      - http01:
          ingress:
            class: nginx
---
# Ingress - ingress-pre
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-passthrough: 'false'
    cert-manager.io/issuer: 'letsencrypt-prod'
  generation: 2
  name: ingress-beta
  namespace: dialimpics-beta
spec:
  rules:
    - host: dialimpics-beta.binpar.cloud
      http:
        paths:
          - backend:
              serviceName: front-service-beta
              servicePort: 80
            path: /
  tls:
    - hosts:
        - dialimpics-beta.binpar.cloud
      secretName: dialimpics-front-beta
---
# Deploy - front-deploy-beta
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: front-beta
  name: front-deploy-beta
  namespace: dialimpics-beta
spec:
  replicas: 2
  revisionHistoryLimit: 2
  selector:
    matchLabels:
      run: front-beta
  template:
    metadata:
      labels:
        run: front-beta
    spec:
      containers:
        - image: 402083338966.dkr.ecr.eu-west-1.amazonaws.com/dialimpics-front:v0.1.3
          name: front-beta
          envFrom:
            - configMapRef:
                name: dialimpics-config-beta
                optional: false
          ports:
            - containerPort: 80
          readinessProbe:
            httpGet:
              path: /healthcheck
              port: 80
            initialDelaySeconds: 5
            failureThreshold: 2
            timeoutSeconds: 5
            periodSeconds: 60
