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
|
# Homarr landing page - minimal config
|
||||||
# SSO will be added after basic deployment works
|
# Probes patched via PostSync hook (chart doesn't support customization)
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/homarr-labs/homarr
|
repository: ghcr.io/homarr-labs/homarr
|
||||||
|
|||||||
@@ -3,5 +3,4 @@ kind: Kustomization
|
|||||||
namespace: dashboard
|
namespace: dashboard
|
||||||
resources:
|
resources:
|
||||||
- homarr-secrets.enc.yaml
|
- homarr-secrets.enc.yaml
|
||||||
# Homarr deployed via Helm chart (values in 60-applications.yaml multi-source Application).
|
- fix-probes-job.yaml
|
||||||
# This kustomization just holds the SOPS-encrypted SECRET_ENCRYPTION_KEY.
|
|
||||||
|
|||||||
@@ -161,3 +161,25 @@ spec:
|
|||||||
selfHeal: true
|
selfHeal: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- 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