fix(homarr): probe tuning via dedicated PostSync patch-job Application (chart-values/Kustomize-patch/controller.probes attempts superseded)
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user