Files
auricom-home-cluster/cluster/apps/monitoring/uptime-kuma/statefulset.yaml

95 lines
2.2 KiB
YAML

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: uptime-kuma
namespace: monitoring
labels:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
updateStrategy:
type: RollingUpdate
serviceName: uptime-kuma
strategy:
template:
metadata:
labels:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
spec:
containers:
- image: louislam/uptime-kuma:1.13.1
name: uptime-kuma
ports:
- containerPort: 3001
name: http
volumeMounts:
- name: config
mountPath: /app/data
subPath: claude
volumes:
- name: config
persistentVolumeClaim:
claimName: uptime-kuma-config
dnsConfig:
options:
- name: ndots
value: "1"
enableServiceLinks: false
---
apiVersion: v1
kind: Service
metadata:
annotations:
prometheus.io/probe: "true"
prometheus.io/protocol: tcp
labels:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
name: uptime-kuma-web
namespace: monitoring
spec:
ports:
- name: http
port: 3001
protocol: TCP
targetPort: 3001
selector:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
# annotations:
# traefik.ingress.kubernetes.io/router.entrypoints: "websecure"
labels:
app.kubernetes.io/instance: uptime-kuma
app.kubernetes.io/name: uptime-kuma
name: uptime-kuma
namespace: monitoring
spec:
ingressClassName: "nginx"
rules:
- host: "uptime-kuma.${SECRET_CLUSTER_DOMAIN}"
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: uptime-kuma-web
port:
number: 3001
tls:
- hosts:
- "uptime-kuma.${SECRET_CLUSTER_DOMAIN}"
secretName: "${SECRET_CLUSTER_CERTIFICATE_DEFAULT}"