diff --git a/charts/uptime-kuma/Chart.yaml b/charts/uptime-kuma/Chart.yaml new file mode 100644 index 0000000..f31bed4 --- /dev/null +++ b/charts/uptime-kuma/Chart.yaml @@ -0,0 +1,18 @@ +apiVersion: v2 +name: uptime-kuma +description: Chart for deploying uptime-kuma +type: application +version: 0.1.0 +appVersion: 1.6.3 +home: https://kubezero.com +icon: https://cdn.zero-downtime.net/assets/kubezero/logo-small-64.png +keywords: + - kubezero + - uptime-kuma +maintainers: + - name: Quarky9 +dependencies: + - name: kubezero-lib + version: ">= 0.1.4" + repository: https://zero-down-time.github.io/kubezero/ +kubeVersion: ">= 1.18.0" diff --git a/charts/uptime-kuma/README.md b/charts/uptime-kuma/README.md new file mode 100644 index 0000000..fc70dd2 --- /dev/null +++ b/charts/uptime-kuma/README.md @@ -0,0 +1,37 @@ +# uptime-kuma + +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.6.3](https://img.shields.io/badge/AppVersion-1.6.3-informational?style=flat-square) + +Chart for deploying uptime-kuma + +**Homepage:** + +## Maintainers + +| Name | Email | Url | +| ---- | ------ | --- | +| Quarky9 | | | + +## Requirements + +Kubernetes: `>= 1.18.0` + +| Repository | Name | Version | +|------------|------|---------| +| https://zero-down-time.github.io/kubezero/ | kubezero-lib | >= 0.1.4 | + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| fullnameOverride | string | `""` | override the full name of the uptime-kuma chart | +| image | string | `"louislam/uptime-kuma"` | | +| istio.enabled | bool | `true` | | +| istio.gateway | string | `"istio-ingress/private-ingressgateway"` | | +| istio.url | string | `"uptime.dev.mayneinc.com"` | | +| nameOverride | string | `""` | override the name of the uptime-kuma chart | +| service.port | int | `3001` | The port to be used by the uptime-kuma service | +| version | string | `"1.6.3-alpine"` | | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0) diff --git a/charts/uptime-kuma/templates/istio-service.yaml b/charts/uptime-kuma/templates/istio-service.yaml new file mode 100644 index 0000000..ec28995 --- /dev/null +++ b/charts/uptime-kuma/templates/istio-service.yaml @@ -0,0 +1,18 @@ +{{- if .Values.istio.enabled }} +apiVersion: networking.istio.io/v1beta1 +kind: VirtualService +metadata: + name: {{ include "kubezero-lib.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubezero-lib.labels" . | nindent 4 }} +spec: + gateways: + - {{ .Values.istio.gateway }} + hosts: + - {{ .Values.istio.url }} + http: + - route: + - destination: + host: {{ include "kubezero-lib.fullname" . }} +{{- end }} diff --git a/charts/uptime-kuma/templates/service.yml b/charts/uptime-kuma/templates/service.yml new file mode 100644 index 0000000..3c41443 --- /dev/null +++ b/charts/uptime-kuma/templates/service.yml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ include "kubezero-lib.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubezero-lib.labels" . | nindent 4 }} +spec: + selector: + {{- include "kubezero-lib.selectorLabels" . | nindent 4 }} + ports: + - name: http + port: {{ .Values.service.port }} + targetPort: 3001 + protocol: TCP diff --git a/charts/uptime-kuma/templates/statefulset.yaml b/charts/uptime-kuma/templates/statefulset.yaml new file mode 100644 index 0000000..a49ea1f --- /dev/null +++ b/charts/uptime-kuma/templates/statefulset.yaml @@ -0,0 +1,62 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: {{ include "kubezero-lib.fullname" . }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "kubezero-lib.labels" . | nindent 4 }} +spec: + selector: + matchLabels: + {{- include "kubezero-lib.selectorLabels" . | nindent 6 }} + serviceName: {{ include "kubezero-lib.fullname" . }} + replicas: 1 + template: + metadata: + labels: + {{- include "kubezero-lib.selectorLabels" . | nindent 8 }} + spec: + containers: + - name: uptime-kuma + image: "{{ .Values.image }}:{{ default .Chart.AppVersion .Values.version }}" + ports: + - containerPort: 3001 + volumeMounts: + - mountPath: /app/data + name: storage + livenessProbe: + exec: + command: + - node + - extra/healthcheck.js + initialDelaySeconds: 10 + periodSeconds: 30 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: / + port: 3001 + scheme: HTTP + resources: + {{- toYaml .Values.resources | nindent 10 }} + #securityContext: + # runAsNonRoot: true + {{- with .Values.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} + volumeClaimTemplates: + - metadata: + name: storage + spec: + accessModes: [ "ReadWriteOnce" ] + {{- with .Values.storageClassName }} + storageClassName: {{ . }} + {{- end }} + resources: + requests: + storage: 1Gi diff --git a/charts/uptime-kuma/values.yaml b/charts/uptime-kuma/values.yaml new file mode 100644 index 0000000..32f3961 --- /dev/null +++ b/charts/uptime-kuma/values.yaml @@ -0,0 +1,32 @@ +# Default values for uptime-kuma. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +# nameOverride -- override the name of the uptime-kuma chart +nameOverride: "" + +# fullnameOverride -- override the full name of the uptime-kuma chart +fullnameOverride: "" + +service: + # service.port -- The port to be used by the uptime-kuma service + port: 3001 + +# uptime-kuma.image -- The uptime-kuma docker image +image: louislam/uptime-kuma +# uptime-kuma.version -- The uptime-kuma docker image version - defaults to .Chart.appVersion +version: 1.6.3-alpine + +#resources: + # uptime-kuma.resources -- The resource requests and limits for the uptime-kuma service + #requests: + # cpu: 300m + # memory: 1300M + #limits: + # cpu: 1500m + # memory: 2000M + +istio: + gateway: istio-ingress/private-ingressgateway + enabled: true + url: uptime.example.com