apiVersion: v1 kind: PersistentVolumeClaim metadata: name: kuma-pvc-2 namespace: default spec: accessModes: - ReadWriteOnce storageClassName: local-path resources: requests: storage: 1Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: kuma namespace: default spec: replicas: 1 selector: matchLabels: ms: kuma template: metadata: labels: ms: kuma spec: containers: - name: kuma image: louislam/uptime-kuma volumeMounts: - name: volv mountPath: /app/data # resources: # limits: # memory: "512Mi" # cpu: "100m" volumes: - name: volv persistentVolumeClaim: claimName: kuma-pvc-2 nodeSelector: kubernetes.io/arch: arm64 tolerations: - key: "arch" operator: "Equal" value: "arm64" effect: "NoSchedule" --- apiVersion: v1 kind: Service metadata: name: kuma namespace: default spec: type: NodePort selector: ms: kuma ports: - port: 3001 targetPort: 3001 --- apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: kuma-letsencrypt-prod namespace: default spec: acme: server: https://acme-v02.api.letsencrypt.org/directory email: florian@nocodelytics.com privateKeySecretRef: name: kuma-letsencrypt-prod solvers: - http01: ingress: class: traefik --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: kuma namespace: default spec: secretName: kuma-net-tls issuerRef: name: kuma-letsencrypt-prod kind: Issuer commonName: status.nocodelytics.com dnsNames: - status.nocodelytics.com --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: kuma-nginx-ingress namespace: default 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: status.nocodelytics.com http: paths: - path: / pathType: Prefix backend: service: name: ssl-redirect port: name: use-annotation - path: / pathType: Prefix backend: service: name: kuma port: number: 3001 tls: - hosts: - status.nocodelytics.com secretName: kuma-net-tls