From ec12e33382a3f1f4ea66c159ea4306f11f3d940a Mon Sep 17 00:00:00 2001 From: Giovanni Ferri Date: Tue, 8 Sep 2026 01:41:47 +0100 Subject: [PATCH] deploy(unraid): dedicate Imp runner node --- .../apps/external-secrets/application.yaml | 4 +--- .../unraid-lab/apps/imp-crds/application.yaml | 4 ++-- .../imp-github-runners-secret/application.yaml | 2 +- .../apps/imp-namespace/application.yaml | 2 +- .../apps/imp-runner-pool/application.yaml | 2 +- .../imp-runner-pool/manifests/runner-pool.yaml | 4 ++-- clusters/unraid-lab/apps/imp/application.yaml | 8 +++----- values/clusters/unraid-lab/imp.yaml | 17 ++++++++++++++++- 8 files changed, 27 insertions(+), 16 deletions(-) diff --git a/clusters/unraid-lab/apps/external-secrets/application.yaml b/clusters/unraid-lab/apps/external-secrets/application.yaml index 6a795af..679164e 100644 --- a/clusters/unraid-lab/apps/external-secrets/application.yaml +++ b/clusters/unraid-lab/apps/external-secrets/application.yaml @@ -34,9 +34,7 @@ spec: targetRevision: HEAD path: clusters/unraid-lab/apps/external-secrets/manifests destination: - # This ArgoCD instance runs inside unraid-lab. Install ESO locally first; - # the cluster-registration Application depends on its CRDs and controller. - server: https://kubernetes.default.svc + name: unraid-lab namespace: external-secrets syncPolicy: automated: diff --git a/clusters/unraid-lab/apps/imp-crds/application.yaml b/clusters/unraid-lab/apps/imp-crds/application.yaml index e3b3ed2..489cbe1 100644 --- a/clusters/unraid-lab/apps/imp-crds/application.yaml +++ b/clusters/unraid-lab/apps/imp-crds/application.yaml @@ -11,10 +11,10 @@ spec: project: default source: repoURL: https://github.com/syscode-labs/imp.git - targetRevision: b86ab24ff584d5116376e6b890f40da081922a59 + targetRevision: c4fc6ce8ffe875e6eb88f0c5fe410f9721de0d42 path: config/crd/bases destination: - server: https://kubernetes.default.svc + name: unraid-lab namespace: imp-system syncPolicy: automated: diff --git a/clusters/unraid-lab/apps/imp-github-runners-secret/application.yaml b/clusters/unraid-lab/apps/imp-github-runners-secret/application.yaml index c5e23e4..7a249e8 100644 --- a/clusters/unraid-lab/apps/imp-github-runners-secret/application.yaml +++ b/clusters/unraid-lab/apps/imp-github-runners-secret/application.yaml @@ -15,7 +15,7 @@ spec: targetRevision: HEAD path: clusters/unraid-lab/apps/imp-github-runners-secret/manifests destination: - server: https://kubernetes.default.svc + name: unraid-lab namespace: imp-system syncPolicy: automated: diff --git a/clusters/unraid-lab/apps/imp-namespace/application.yaml b/clusters/unraid-lab/apps/imp-namespace/application.yaml index c46e27a..eea4f60 100644 --- a/clusters/unraid-lab/apps/imp-namespace/application.yaml +++ b/clusters/unraid-lab/apps/imp-namespace/application.yaml @@ -14,7 +14,7 @@ spec: targetRevision: HEAD path: clusters/unraid-lab/apps/imp-namespace/manifests destination: - server: https://kubernetes.default.svc + name: unraid-lab namespace: imp-system syncPolicy: automated: diff --git a/clusters/unraid-lab/apps/imp-runner-pool/application.yaml b/clusters/unraid-lab/apps/imp-runner-pool/application.yaml index 4bdc0be..bb6afd9 100644 --- a/clusters/unraid-lab/apps/imp-runner-pool/application.yaml +++ b/clusters/unraid-lab/apps/imp-runner-pool/application.yaml @@ -14,7 +14,7 @@ spec: targetRevision: HEAD path: clusters/unraid-lab/apps/imp-runner-pool/manifests destination: - server: https://kubernetes.default.svc + name: unraid-lab namespace: imp-system syncPolicy: automated: diff --git a/clusters/unraid-lab/apps/imp-runner-pool/manifests/runner-pool.yaml b/clusters/unraid-lab/apps/imp-runner-pool/manifests/runner-pool.yaml index a5f7413..ba6123e 100644 --- a/clusters/unraid-lab/apps/imp-runner-pool/manifests/runner-pool.yaml +++ b/clusters/unraid-lab/apps/imp-runner-pool/manifests/runner-pool.yaml @@ -47,8 +47,8 @@ spec: credentialsSecret: github-imp-runners scaling: mode: polling - minIdle: 1 - maxConcurrent: 5 + minIdle: 0 + maxConcurrent: 1 scaleUpStep: 1 cooldownSeconds: 30 polling: diff --git a/clusters/unraid-lab/apps/imp/application.yaml b/clusters/unraid-lab/apps/imp/application.yaml index baff66e..3996518 100644 --- a/clusters/unraid-lab/apps/imp/application.yaml +++ b/clusters/unraid-lab/apps/imp/application.yaml @@ -14,22 +14,20 @@ spec: project: default sources: - repoURL: https://github.com/syscode-labs/imp.git - targetRevision: b86ab24ff584d5116376e6b890f40da081922a59 + targetRevision: c4fc6ce8ffe875e6eb88f0c5fe410f9721de0d42 path: charts/imp helm: releaseName: imp valueFiles: - $values/values/clusters/unraid-lab/imp.yaml - repoURL: https://github.com/syscode-labs/imp.git - targetRevision: b86ab24ff584d5116376e6b890f40da081922a59 + targetRevision: c4fc6ce8ffe875e6eb88f0c5fe410f9721de0d42 path: config/crd/bases - repoURL: https://github.com/syscode-labs/syscode-homelab-gitops-apps.git targetRevision: HEAD ref: values destination: - # In-cluster endpoint: deploy directly to the cluster Argo runs on instead - # of the Omni-registered cluster name, whose API proxy caused sync failures. - server: https://kubernetes.default.svc + name: unraid-lab namespace: imp-system syncPolicy: automated: diff --git a/values/clusters/unraid-lab/imp.yaml b/values/clusters/unraid-lab/imp.yaml index 9896aa5..49de8d1 100644 --- a/values/clusters/unraid-lab/imp.yaml +++ b/values/clusters/unraid-lab/imp.yaml @@ -7,15 +7,30 @@ agent: repository: ghcr.io/syscode-labs/imp-agent@sha256:cb8e69a54ae23a735d5cda8ff85b1cdc53d99014dca6e2ffe67235e4ca9d01b4 env: kernelPath: /usr/local/share/imp/vmlinux + tolerations: + - key: imp.dev/runner + operator: Equal + value: "true" + effect: NoSchedule runtime: image: repository: ghcr.io/syscode-labs/imp-agent@sha256:326ed2e5fea1a579696d8a135e0e054822c26b9c38585f63cb442fb83d8d2cb8 + tolerations: + - key: imp.dev/runner + operator: Equal + value: "true" + effect: NoSchedule kvm: preflight: enabled: true - minVerifiedNodes: 3 + minVerifiedNodes: 1 + tolerations: + - key: imp.dev/runner + operator: Equal + value: "true" + effect: NoSchedule # Grafana Kubernetes Monitoring scrapes the endpoints directly; this cluster # does not install Prometheus Operator CRDs.