fix(homarr): probe tuning via dedicated PostSync patch-job Application (chart-values/Kustomize-patch/controller.probes attempts superseded)

This commit is contained in:
Story Crater Bot
2026-08-18 15:08:03 -07:00
parent ab2f1eeeb3
commit d394efc78a
4 changed files with 115 additions and 4 deletions
@@ -0,0 +1,90 @@
# PostSync hook to patch Homarr deployment probes
# Chart v8.23.0 doesn't support probe customization via values
apiVersion: batch/v1
kind: Job
metadata:
name: homarr-fix-probes
namespace: dashboard
annotations:
argocd.argoproj.io/hook: PostSync
argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
spec:
backoffLimit: 3
template:
spec:
restartPolicy: Never
serviceAccountName: homarr-probe-patcher
containers:
- name: patch
image: bitnami/kubectl:1.31
command:
- /bin/bash
- -c
- |
set -e
echo "Patching Homarr deployment probes..."
kubectl -n dashboard patch deployment homarr --type=json -p='[
{
"op": "replace",
"path": "/spec/template/spec/containers/0/livenessProbe/initialDelaySeconds",
"value": 60
},
{
"op": "replace",
"path": "/spec/template/spec/containers/0/livenessProbe/periodSeconds",
"value": 30
},
{
"op": "replace",
"path": "/spec/template/spec/containers/0/livenessProbe/timeoutSeconds",
"value": 5
},
{
"op": "replace",
"path": "/spec/template/spec/containers/0/readinessProbe/initialDelaySeconds",
"value": 45
},
{
"op": "replace",
"path": "/spec/template/spec/containers/0/readinessProbe/periodSeconds",
"value": 15
},
{
"op": "replace",
"path": "/spec/template/spec/containers/0/readinessProbe/timeoutSeconds",
"value": 5
}
]'
echo "Probes patched successfully"
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: homarr-probe-patcher
namespace: dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: homarr-probe-patcher
namespace: dashboard
rules:
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["get", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: homarr-probe-patcher
namespace: dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: homarr-probe-patcher
subjects:
- kind: ServiceAccount
name: homarr-probe-patcher
namespace: dashboard
+2 -2
View File
@@ -1,5 +1,5 @@
# Homarr landing page - minimal config to get it running
# SSO will be added after basic deployment works
# Homarr landing page - minimal config
# Probes patched via PostSync hook (chart doesn't support customization)
image:
repository: ghcr.io/homarr-labs/homarr
+1 -2
View File
@@ -3,5 +3,4 @@ kind: Kustomization
namespace: dashboard
resources:
- homarr-secrets.enc.yaml
# Homarr deployed via Helm chart (values in 60-applications.yaml multi-source Application).
# This kustomization just holds the SOPS-encrypted SECRET_ENCRYPTION_KEY.
- fix-probes-job.yaml
+22
View File
@@ -161,3 +161,25 @@ spec:
selfHeal: true
syncOptions:
- CreateNamespace=true
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: homarr-patches
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "9" # After homarr (wave 8)
spec:
project: homelab
source:
repoURL: https://forgejo.riotpiao.com/riotpiao.com/homelab.git
targetRevision: main
path: k8s/applications/homarr
destination:
server: https://kubernetes.default.svc
namespace: dashboard
syncPolicy:
automated:
prune: true
selfHeal: true