feat: migrate uptime-kuma to helm-release

This commit is contained in:
auricom
2022-07-02 22:02:43 +02:00
parent aae2dab149
commit ca2dc88892
3 changed files with 59 additions and 93 deletions

View File

@@ -0,0 +1,58 @@
---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: &app uptime-kuma
namespace: monitoring
spec:
interval: 15m
chart:
spec:
chart: kah-common-chart
version: 1.1.2
sourceRef:
kind: HelmRepository
name: k8s-at-home-charts
namespace: flux-system
interval: 15m
install:
createNamespace: true
remediation:
retries: 5
upgrade:
remediation:
retries: 5
values:
global:
nameOverride: *app
image:
repository: louislam/uptime-kuma
tag: 1.17.1
service:
main:
ports:
http:
port: 3001
persistence:
config:
enabled: true
existingClaim: uptime-kuma-config
mountPath: /app/data
ingress:
main:
enabled: true
ingressClassName: "nginx"
hosts:
- host: &host "{{ .Release.Name }}.${SECRET_CLUSTER_DOMAIN}"
paths:
- path: /
pathType: Prefix
tls:
- hosts:
- *host
resources:
requests:
cpu: 10m
memory: 50Mi
limits:
memory: 150Mi

View File

@@ -1,5 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- statefulset.yaml
- helm-release.yaml
- volume.yaml

View File

@@ -1,92 +0,0 @@
---
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.17.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:
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}"