apiVersion: v1 kind: Namespace metadata: name: uptimekuma --- apiVersion: v1 kind: Secret metadata: name: uptimekuma-auth namespace: uptimekuma type: Opaque data: password: QmxhY2tzdGFyMkBob21l --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: uptimekuma-data-pvc namespace: uptimekuma spec: accessModes: ["ReadWriteMany"] storageClassName: nfs-storage resources: requests: storage: 2Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: uptimekuma namespace: uptimekuma spec: replicas: 1 selector: matchLabels: app: uptimekuma template: metadata: labels: app: uptimekuma spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: node-role.kubernetes.io/control-plane operator: DoesNotExist containers: - name: uptimekuma image: louislam/uptime-kuma:2.2.1 ports: - containerPort: 3001 env: - name: PORT value: "3001" - name: UPTIME_KUMA_PORT value: "3001" - name: server.disableusageanalytics value: "true" - name: password valueFrom: secretKeyRef: name: uptimekuma-auth key: password volumeMounts: - name: data mountPath: /app/data volumes: - name: data persistentVolumeClaim: claimName: uptimekuma-data-pvc --- apiVersion: v1 kind: Service metadata: name: uptimekuma-service namespace: uptimekuma spec: type: NodePort selector: app: uptimekuma ports: - name: http protocol: TCP port: 3001 targetPort: 3001 nodePort: 33004