From 5092005e052f2b48a22c166c6d9b2364751a7abb Mon Sep 17 00:00:00 2001 From: Abel Luck Date: Sat, 28 Feb 2026 16:10:17 +0100 Subject: [PATCH] autoscaler: make instance_type required, no silent skip in preflight --- agent/nix_builder_autoscaler/runtime/ec2.py | 3 --- nix/modules/nixos/services/nix-builder-autoscaler.nix | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/agent/nix_builder_autoscaler/runtime/ec2.py b/agent/nix_builder_autoscaler/runtime/ec2.py index 9be3bee..aa5bab5 100644 --- a/agent/nix_builder_autoscaler/runtime/ec2.py +++ b/agent/nix_builder_autoscaler/runtime/ec2.py @@ -77,9 +77,6 @@ class EC2Runtime(RuntimeAdapter): silently on every failed launch attempt. Never raises; API failures are logged as warnings so a transient permissions issue does not prevent startup. """ - if not self._instance_type: - return - try: target_azs: set[str] = set() if self._subnet_ids: diff --git a/nix/modules/nixos/services/nix-builder-autoscaler.nix b/nix/modules/nixos/services/nix-builder-autoscaler.nix index 2094b79..e37ce99 100644 --- a/nix/modules/nixos/services/nix-builder-autoscaler.nix +++ b/nix/modules/nixos/services/nix-builder-autoscaler.nix @@ -65,7 +65,6 @@ in instanceType = lib.mkOption { type = lib.types.str; - default = ""; description = "EC2 instance type for nix builders. Used for preflight availability validation at startup."; }; @@ -266,6 +265,10 @@ in was not found. Configure package explicitly. ''; } + { + assertion = cfg.aws.instanceType != ""; + message = "services.nix-builder-autoscaler.aws.instanceType must be set."; + } { assertion = cfg.aws.launchTemplateIdFile != null; message = "services.nix-builder-autoscaler.aws.launchTemplateIdFile must be set.";