From 0360f0c8cf157ee0c3bd3622e5c4e8d5f41c0e91 Mon Sep 17 00:00:00 2001 From: Stephane Pham Date: Fri, 26 Jun 2026 15:16:38 +0200 Subject: [PATCH] [k8s] Pin snack/snackager/snackpub staging onto dedicated dev node pool Move the staging Snack workloads off the autoscaled NAP (Node Auto Provisioning) nodes and onto the dedicated GKE `development` node pool on general-central (project exponentjs), as part of the IaC node-pool consolidation. The development pool is labeled `pool=dev` and carries the taint `dedicated=dev:NoSchedule`. Each staging Deployment pod template now sets: - nodeSelector: pool=dev - toleration: dedicated=dev:NoSchedule The base manifests have no nodeSelector, so this is a plain additive strategic-merge patch wired through each staging overlay's existing patchesStrategicMerge list (matching the repo's established override mechanism). Production overlays are untouched and continue to schedule as before. Co-Authored-By: Claude Opus 4.8 (1M context) --- snackager/k8s/staging/deployment-dev-pool.yaml | 13 +++++++++++++ snackager/k8s/staging/kustomization.yaml | 1 + snackpub/k8s/staging/deployment-dev-pool.yaml | 13 +++++++++++++ snackpub/k8s/staging/kustomization.yaml | 1 + website/deploy/staging/deployment-dev-pool.yaml | 13 +++++++++++++ website/deploy/staging/kustomization.yaml | 1 + 6 files changed, 42 insertions(+) create mode 100644 snackager/k8s/staging/deployment-dev-pool.yaml create mode 100644 snackpub/k8s/staging/deployment-dev-pool.yaml create mode 100644 website/deploy/staging/deployment-dev-pool.yaml diff --git a/snackager/k8s/staging/deployment-dev-pool.yaml b/snackager/k8s/staging/deployment-dev-pool.yaml new file mode 100644 index 000000000..1d88f5145 --- /dev/null +++ b/snackager/k8s/staging/deployment-dev-pool.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snackager +spec: + template: + spec: + nodeSelector: + pool: dev + tolerations: + - key: dedicated + value: dev + effect: NoSchedule diff --git a/snackager/k8s/staging/kustomization.yaml b/snackager/k8s/staging/kustomization.yaml index 7bb658906..8f56f422b 100644 --- a/snackager/k8s/staging/kustomization.yaml +++ b/snackager/k8s/staging/kustomization.yaml @@ -7,6 +7,7 @@ bases: - external-secret-private-key.yaml patchesStrategicMerge: - service-backend.yaml +- deployment-dev-pool.yaml configMapGenerator: - name: snackager-config behavior: merge diff --git a/snackpub/k8s/staging/deployment-dev-pool.yaml b/snackpub/k8s/staging/deployment-dev-pool.yaml new file mode 100644 index 000000000..b62535103 --- /dev/null +++ b/snackpub/k8s/staging/deployment-dev-pool.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snackpub +spec: + template: + spec: + nodeSelector: + pool: dev + tolerations: + - key: dedicated + value: dev + effect: NoSchedule diff --git a/snackpub/k8s/staging/kustomization.yaml b/snackpub/k8s/staging/kustomization.yaml index afcaa569e..eebe57c94 100644 --- a/snackpub/k8s/staging/kustomization.yaml +++ b/snackpub/k8s/staging/kustomization.yaml @@ -6,6 +6,7 @@ resources: - external-secret-env.yaml patchesStrategicMerge: - service-backend.yaml + - deployment-dev-pool.yaml secretGenerator: - name: snackpub-env behavior: merge diff --git a/website/deploy/staging/deployment-dev-pool.yaml b/website/deploy/staging/deployment-dev-pool.yaml new file mode 100644 index 000000000..95b6ac829 --- /dev/null +++ b/website/deploy/staging/deployment-dev-pool.yaml @@ -0,0 +1,13 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: snack +spec: + template: + spec: + nodeSelector: + pool: dev + tolerations: + - key: dedicated + value: dev + effect: NoSchedule diff --git a/website/deploy/staging/kustomization.yaml b/website/deploy/staging/kustomization.yaml index 7e318e962..adc3085cc 100644 --- a/website/deploy/staging/kustomization.yaml +++ b/website/deploy/staging/kustomization.yaml @@ -5,6 +5,7 @@ bases: - ../base patchesStrategicMerge: - service-backend.yaml +- deployment-dev-pool.yaml configMapGenerator: - name: snack behavior: merge