apiVersion: v1
kind: Service
metadata:
  labels:
    app: {{serviceName}}
  name: {{serviceName}}
  namespace: {{namespace}}
spec:
  ports:
  - port: 80
    name: main
    protocol: TCP
    targetPort: 80
  selector:
    app: {{serviceName}}
  type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{serviceName}}
  namespace: {{namespace}}
spec:
  replicas: {{instances}}
  selector:
    matchLabels:
      app: {{serviceName}}
  template:
    metadata:
      labels:
        app: {{serviceName}}
      annotations:
        wikia.com/keys: '{"es_logs": {"container_name": "{{serviceName}}", "es_index": "{{serviceName}}" }}'
    spec:
      containers:
      - name: {{serviceName}}
        image: {{image}}
        livenessProbe:
          httpGet:
            path: /
            port: 80
          initialDelaySeconds: 30
          timeoutSeconds: 3
          periodSeconds: 20
        resources:
          limits:
            memory: 256Mi
          requests:
            cpu: 500m
            memory: 256Mi
        ports:
        - containerPort: 80
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: {{serviceName}}
  namespace: {{namespace}}
  labels:
    app: {{serviceName}}
spec:
  rules:
  - host: {{appHost}}
    http:
      paths:
      - backend:
          serviceName: {{serviceName}}
          servicePort: 80
