apiVersion: v1 kind: Namespace metadata: name: uptimekuma --- apiVersion: v1 kind: ConfigMap metadata: name: uptimekuma-config namespace: uptimekuma data: server.port: "3001" server.disableusageanalytics: "true" --- apiVersion: v1 kind: Secret metadata: name: uptimekuma-secret namespace: uptimekuma type: Opaque data: password: MWhEMjBn --- apiVersion: v1 kind: PersistentVolume metadata: name: uptimekuma-pv labels: type: local spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce storageClassName: local-pvs local: path: /home/ansible/k3s/makhiwane/uptimekuma nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - lead persistentVolumeReclaimPolicy: Retain --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: uptimekuma-data namespace: uptimekuma spec: accessModes: - ReadWriteOnce storageClassName: local-pvs resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: uptimekuma namespace: uptimekuma spec: replicas: 1 selector: matchLabels: app: uptimekuma template: metadata: labels: app: uptimekuma spec: containers: - name: uptimekuma image: louislam/uptime-kuma:latest imagePullPolicy: IfNotPresent ports: - containerPort: 3001 volumeMounts: - mountPath: /app/data name: uptimekuma-data env: - name: PORT valueFrom: configMapKeyRef: name: uptimekuma-config key: server.port - name: server.disableusageanalytics valueFrom: configMapKeyRef: name: uptimekuma-config key: server.disableusageanalytics - name: password valueFrom: secretKeyRef: name: uptimekuma-secret key: password volumes: - name: uptimekuma-data persistentVolumeClaim: claimName: uptimekuma-data --- apiVersion: v1 kind: Service metadata: name: uptimekuma namespace: uptimekuma spec: type: ClusterIP selector: app: uptimekuma ports: - name: http port: 3001 targetPort: 3001 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: uptimekuma-ingress namespace: uptimekuma spec: entryPoints: - websecure routes: - match: Host(`uptimekuma.apps.mngoma.lab`) kind: Rule services: - name: uptimekuma port: 3001 tls: {}