{{ if eq .ENVIRONMENT "production" }} --- apiVersion: v1 kind: Service metadata: name: {{ .NAME }} namespace: {{ .NAMESPACE }} labels: app: {{ .NAME }} spec: type: NodePort selector: app: {{ .NAME }} ports: - port: 80 targetPort: {{ .PORT }} name: {{ .NAME }} protocol: TCP {{ else }} --- apiVersion: v1 kind: Service metadata: name: {{ .NAME }} namespace: {{ .NAMESPACE }} annotations: external-dns.alpha.kubernetes.io/hostname: {{ .HOSTNAME }} {{ if eq .ENVIRONMENT "test" }} service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http" service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https" service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {{ .SSL_CERT }} {{ end }} labels: app: {{ .NAME }} spec: type: LoadBalancer selector: app: {{ .NAME }} ports: - name: http port: 80 targetPort: {{ .PORT }} protocol: TCP - name: https port: 443 targetPort: {{ .PORT }} protocol: TCP {{ end }} --- apiVersion: apps/v1 kind: Deployment metadata: name: {{ .NAME }} namespace: {{ .NAMESPACE }} spec: replicas: {{ .REPLICAS }} selector: matchLabels: app: {{ .NAME }} template: metadata: labels: app: {{ .NAME }} spec: restartPolicy: Always terminationGracePeriodSeconds: 40 containers: - name: {{ .NAME }} image: {{ .IMAGE_NAME }} readinessProbe: initialDelaySeconds: 30 periodSeconds: 20 timeoutSeconds: 3 failureThreshold: 3 httpGet: path: /api/v1/ready port: {{ .PORT }} livenessProbe: initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 3 failureThreshold: 3 httpGet: path: /api/v1/health port: {{ .PORT }} env: - name: WORMSCAN_PORT value: "{{ .PORT }}" - name: WORMSCAN_LOGLEVEL value: {{ .WORMSCAN_LOGLEVEL }} - name: WORMSCAN_RUNMODE value: {{ .WORMSCAN_RUNMODE }} - name: WORMSCAN_P2PNETWORK value: {{ .WORMSCAN_P2PNETWORK }} - name: WORMSCAN_DB_URL valueFrom: secretKeyRef: name: mongodb key: mongo-uri - name: WORMSCAN_DB_NAME valueFrom: configMapKeyRef: name: config key: mongo-database - name: WORMSCAN_CACHE_URL valueFrom: configMapKeyRef: name: config key: redis-uri - name: WORMSCAN_CACHE_ENABLED value: "true" - name: WORMSCAN_PPROF_ENABLED value: {{ .WORMSCAN_PPROF_ENABLED }} resources: limits: memory: {{ .RESOURCES_LIMITS_MEMORY }} cpu: {{ .RESOURCES_LIMITS_CPU }} requests: memory: {{ .RESOURCES_REQUESTS_MEMORY }} cpu: {{ .RESOURCES_REQUESTS_CPU }}