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 image: container-registry.nocodelytics.com/nocodelytics-tracker-api:latest resources: requests: memory: "128Mi" cpu: "50m" limits: memory: "512Mi" cpu: "200m" 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