From 81c301f01327705c7d5ec4387493c079703fc638 Mon Sep 17 00:00:00 2001 From: Will Anderson Date: Mon, 4 May 2026 16:21:01 -0500 Subject: [PATCH] fix(neuron-prod): set neuron-marketing-hpa minReplicas to 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kubernetes rejects minReplicas=0 unless at least one Object or External metric is configured. With only a Resource (CPU) metric, the HPA is invalid: HorizontalPodAutoscaler.autoscaling "neuron-marketing-hpa" is invalid: [spec.minReplicas: Invalid value: 0: must be greater than or equal to 1, spec.metrics: Forbidden: must specify at least one Object or External metric to support scaling to zero replicas] This was blocking the entire neuron-prod Argo CD sync — every manifest in the directory had to be applied individually after this single resource caused the multi-resource patch to fail. The dharma NetworkPolicy applied today only because Argo retried individually after the failure. The file header already states "minReplicas=1 prevents unnecessary idle waste" as the intent for this single-Legion-node period; this brings the marketing HPA into line with the other two. --- servers/legion/k8s/neuron-technologies/prod/hpa.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/servers/legion/k8s/neuron-technologies/prod/hpa.yaml b/servers/legion/k8s/neuron-technologies/prod/hpa.yaml index e6e3331..56193e7 100644 --- a/servers/legion/k8s/neuron-technologies/prod/hpa.yaml +++ b/servers/legion/k8s/neuron-technologies/prod/hpa.yaml @@ -82,7 +82,12 @@ spec: apiVersion: apps/v1 kind: Deployment name: neuron-marketing - minReplicas: 0 + # minReplicas=1 to match the file's own convention (see header comment). + # Kubernetes only allows minReplicas=0 when at least one Object or External + # metric is configured (queue depth, custom signal, etc.); with only a + # Resource (CPU) metric, scale-to-zero is rejected and the whole HPA is + # invalid — which was blocking neuron-prod's Argo CD sync. + minReplicas: 1 maxReplicas: 8 metrics: - type: Resource