Skip to content

Commit

Permalink
feat(homarr): make LivenessProbe and ReadinessProbe configurable
Browse files Browse the repository at this point in the history
  • Loading branch information
oussama Dahmaz authored and oussama Dahmaz committed Oct 10, 2024
1 parent efadbea commit 8e9d3fd
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 11 deletions.
6 changes: 3 additions & 3 deletions charts/homarr/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: homarr
description: A Helm chart to deploy homarr for Kubernetes
home: https://oben01.github.io/charts/charts/homarr/
type: application
version: 1.2.6
version: 1.3.0
# renovate datasource=docker depName=ghcr.io/ajnart/homarr
appVersion: "0.15.4"
icon: https://raw.githubusercontent.com/oben01/charts/main/charts/homarr/icon.svg
Expand All @@ -18,8 +18,8 @@ annotations:
fingerprint: FA3F63F603B62356663A88F073AE49623786E060
url: https://oben01.github.io/charts/pgp_keys.asc
artifacthub.io/changes: |-
- kind: changed
description: Update ghcr.io/ajnart/homarr docker tag to v0.15.4
- kind: added
description: make LivenessProbe and ReadinessProbe configurable
artifacthub.io/links: |-
- name: App Source
url: https://github.com/ajnart/homarr
Expand Down
16 changes: 14 additions & 2 deletions charts/homarr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<img src="https://raw.githubusercontent.com/oben01/charts/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo">

![Version: 1.2.6](https://img.shields.io/badge/Version-1.2.6-informational?style=flat)
![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat)
![AppVersion: 0.15.4](https://img.shields.io/badge/AppVersion-0.15.4-informational?style=flat)

Expand All @@ -11,7 +11,7 @@ A Helm chart to deploy homarr for Kubernetes
**Homepage:** <https://oben01.github.io/charts/charts/homarr/>

**This chart is not maintained by the upstream project and any issues with the chart should be raised
[here](https://github.com/oben01/charts/issues/new?assignees=oben01&labels=bug&template=bug_report.yaml&name=homarr&version=1.2.6)**
[here](https://github.com/oben01/charts/issues/new?assignees=oben01&labels=bug&template=bug_report.yaml&name=homarr&version=1.3.0)**

## Source Code

Expand Down Expand Up @@ -117,6 +117,12 @@ N/A
| ingress.hosts | list | `[{"host":"chart-example.local","paths":[{"path":"/"}]}]` | Ingress hosts configuration |
| ingress.ingressClassName | string | `""` | Ingress class name |
| ingress.tls | list | `[]` | Ingress TLS configuration |
| livenessProbe.failureThreshold | int | `5` | The number of consecutive failed liveness probe attempts before the container is considered unhealthy. |
| livenessProbe.httpGet.path | string | `"/"` | This is the liveness check endpoint used by Kubernetes to determine if the application is still running. |
| livenessProbe.httpGet.port | int | `7575` | The port on which the liveness check will be performed. This must be the same as the container port exposed by the application. |
| livenessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before startup |
| livenessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the liveness probe. |
| livenessProbe.timeoutSeconds | int | `3` | Number of seconds after which the probe times out |
| nameOverride | string | `""` | Overrides chart's name |
| nodeSelector | object | `{}` | Node selectors for pod scheduling |
| persistence | list | `[{"accessMode":"ReadWriteOnce","enabled":false,"mountPath":"/app/data/configs","name":"homarr-config","size":"50Mi","storageClassName":"local-path"},{"accessMode":"ReadWriteOnce","enabled":false,"mountPath":"/app/database","name":"homarr-database","size":"50Mi","storageClassName":"local-path"},{"accessMode":"ReadWriteOnce","enabled":false,"mountPath":"/app/public/icons","name":"homarr-icons","size":"50Mi","storageClassName":"local-path"}]` | Persistent storage configuration |
Expand All @@ -138,6 +144,12 @@ N/A
| podAnnotations | object | `{}` | Pod annotations |
| podLabels | object | `{}` | Pod labels |
| podSecurityContext | object | `{}` | Pod security context |
| readinessProbe.failureThreshold | int | `5` | The number of consecutive failed readiness probe attempts before the container is considered "Not Ready." |
| readinessProbe.httpGet.path | string | `"/"` | This is the readiness check endpoint used by Kubernetes to determine if the application is ready to handle traffic. |
| readinessProbe.httpGet.port | int | `7575` | The port on which the readiness check will be performed. This must match the container's exposed port. |
| readinessProbe.initialDelaySeconds | int | `10` | Number of seconds after the container has started before startup |
| readinessProbe.periodSeconds | int | `10` | How often (in seconds) to perform the readiness probe. |
| readinessProbe.timeoutSeconds | int | `3` | Number of seconds after which the probe times out |
| replicaCount | int | `1` | Number of replicas |
| resources | object | `{}` | Resource configuration |
| securityContext | object | `{}` | Security context |
Expand Down
16 changes: 10 additions & 6 deletions charts/homarr/templates/homarr-dc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,17 @@ spec:
containerPort: {{ .Values.service.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
{{ toYaml .Values.livenessProbe | indent 12 }}
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
readinessProbe:
httpGet:
path: /
port: http
{{ toYaml .Values.readinessProbe | indent 12 }}
initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
failureThreshold: {{ .Values.readinessProbe.failureThreshold }}
env:
{{- range $key, $value := .Values.env }}
- name: {{ $key }}
Expand Down
30 changes: 30 additions & 0 deletions charts/homarr/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,33 @@ nodeSelector: {}
tolerations: []
# -- Node affinity for pod scheduling
affinity: {}

livenessProbe:
httpGet:
# -- This is the liveness check endpoint used by Kubernetes to determine if the application is still running.
path: /
# -- The port on which the liveness check will be performed. This must be the same as the container port exposed by the application.
port: 7575
# -- Number of seconds after the container has started before startup
initialDelaySeconds: 10
# -- Number of seconds after which the probe times out
timeoutSeconds: 3
# -- How often (in seconds) to perform the liveness probe.
periodSeconds: 10
# -- The number of consecutive failed liveness probe attempts before the container is considered unhealthy.
failureThreshold: 5

readinessProbe:
httpGet:
# -- This is the readiness check endpoint used by Kubernetes to determine if the application is ready to handle traffic.
path: /
# -- The port on which the readiness check will be performed. This must match the container's exposed port.
port: 7575
# -- Number of seconds after the container has started before startup
initialDelaySeconds: 10
# -- Number of seconds after which the probe times out
timeoutSeconds: 3
# -- How often (in seconds) to perform the readiness probe.
periodSeconds: 10
# -- The number of consecutive failed readiness probe attempts before the container is considered "Not Ready."
failureThreshold: 5

0 comments on commit 8e9d3fd

Please sign in to comment.