infrastructure/kustomization/bases/nocodelytics-tracker-api.yaml

112 lines
2.8 KiB
YAML
Raw Normal View History

2022-12-06 00:30:33 +01:00
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: nocodelytics-tracker-api
spec:
secretName: nocodelytics-tracker-api-net-tls
issuerRef:
name: letsencrypt-prod
kind: Issuer
commonName: nocodelytics-tracker-api.nocodelytics.com
dnsNames:
- nocodelytics-tracker-api.nocodelytics.com
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nocodelytics-tracker-api
spec:
replicas: 1
selector:
matchLabels:
ms: nocodelytics-tracker-api
template:
metadata:
labels:
ms: nocodelytics-tracker-api
spec:
imagePullSecrets:
- name: regcred
containers:
- name: nocodelytics-tracker-api
imagePullPolicy: Always
2023-01-30 16:18:13 +01:00
image: container-registry.nocodelytics.com/nocodelytics/dashboard:latest
command: ["forever", "./api/.build/src/tracker/index.js"]
2022-12-06 00:30:33 +01:00
resources:
2022-12-07 12:00:34 +01:00
requests:
memory: "128Mi"
2023-01-30 16:18:13 +01:00
cpu: "200m"
ephemeral-storage: "1Mi"
2022-12-06 00:30:33 +01:00
limits:
memory: "512Mi"
2022-12-07 12:00:34 +01:00
cpu: "200m"
2023-01-30 16:18:13 +01:00
ephemeral-storage: "1Mi"
2022-12-09 19:11:48 +01:00
env:
2023-01-30 16:18:13 +01:00
- name: PORT
value: "3001"
- name: K8S_NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: K8S_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
2022-12-09 19:11:48 +01:00
- name: NATS_USER
value: nocodelytics-nats
2023-01-30 16:18:13 +01:00
- name: ENCRYPTION_KEY
valueFrom:
secretKeyRef:
name: secrets
key: ENCRYPTION_KEY
2022-12-06 00:30:33 +01:00
nodeSelector:
kubernetes.io/arch: arm64
tolerations:
- key: "arch"
operator: "Equal"
value: "arm64"
effect: "NoSchedule"
---
apiVersion: v1
kind: Service
metadata:
name: nocodelytics-tracker-api
spec:
type: NodePort
selector:
ms: nocodelytics-tracker-api
ports:
- port: 3001
targetPort: 3001
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nocodelytics-tracker-api-nginx-ingress
annotations:
kubernetes.io/ingress.class: "traefik"
cert-manager.io/issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/redirect-entry-point: https
cert-manager.io/acme-challenge-type: http01
spec:
rules:
- host: nocodelytics-tracker-api.nocodelytics.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: ssl-redirect
port:
name: use-annotation
- path: /
pathType: Prefix
backend:
service:
name: nocodelytics-tracker-api
tls:
- hosts:
- nocodelytics-tracker-api.nocodelytics.com
secretName: nocodelytics-tracker-api-net-tls