--- apiVersion: v1 kind: Namespace metadata: name: uptimekuma-system --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma app.kubernetes.io/version: 2.0.2 name: uptimekuma namespace: uptimekuma-system spec: replicas: 1 selector: matchLabels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma strategy: type: Recreate template: metadata: labels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma app.kubernetes.io/version: 2.0.2 spec: containers: - name: uptimekuma image: louislam/uptime-kuma:2.0.2 imagePullPolicy: IfNotPresent env: - name: TZ value: Europe/Budapest - name: UPTIME_KUMA_PORT value: "3001" ports: - containerPort: 3001 name: http protocol: TCP livenessProbe: httpGet: path: / port: http initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: / port: http initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 50m memory: 128Mi volumeMounts: - name: data mountPath: /app/data volumes: - name: data persistentVolumeClaim: claimName: uptimekuma-data --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma app.kubernetes.io/version: 2.0.2 name: uptimekuma namespace: uptimekuma-system spec: type: ClusterIP ports: - name: http port: 3001 protocol: TCP targetPort: http selector: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt-prod external-dns.alpha.kubernetes.io/hostname: uptimekuma.dooplex.hu,uptimekuma.home nginx.ingress.kubernetes.io/proxy-body-size: 10m nginx.ingress.kubernetes.io/ssl-redirect: "true" # WebSocket support for real-time updates nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" # Authentik proxy authentication nginx.ingress.kubernetes.io/auth-url: "http://ak-outpost-uptimekuma-outpost.auth-system.svc.cluster.local/outpost.goauthentik.io/auth/nginx" nginx.ingress.kubernetes.io/auth-signin: "https://uptimekuma.dooplex.hu/outpost.goauthentik.io/start?rd=$escaped_request_uri" nginx.ingress.kubernetes.io/auth-response-headers: "Set-Cookie,X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid" nginx.ingress.kubernetes.io/auth-snippet: | proxy_set_header X-Forwarded-Host $http_host; labels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma name: uptimekuma namespace: uptimekuma-system spec: ingressClassName: nginx-internal rules: - host: uptimekuma.dooplex.hu http: paths: - backend: service: name: uptimekuma port: number: 3001 path: / pathType: Prefix - host: uptimekuma.home http: paths: - backend: service: name: uptimekuma port: number: 3001 path: / pathType: Prefix tls: - hosts: - uptimekuma.dooplex.hu secretName: uptimekuma-tls --- apiVersion: v1 kind: PersistentVolumeClaim metadata: labels: app.kubernetes.io/instance: uptimekuma app.kubernetes.io/name: uptimekuma name: uptimekuma-data namespace: uptimekuma-system spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: longhorn ---