Skip to content

Commit 9edddfd

Browse files
committed
Add validation for a couple of env vars
1 parent ea78788 commit 9edddfd

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

apps/supervisor/src/env.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,9 @@ const Env = z.object({
112112
KUBERNETES_SCHEDULER_NAME: z.string().optional(), // Custom scheduler name for pods
113113
// Large machine affinity settings - large-* presets prefer a dedicated pool
114114
KUBERNETES_LARGE_MACHINE_AFFINITY_ENABLED: BoolEnv.default(false),
115-
KUBERNETES_LARGE_MACHINE_AFFINITY_POOL_LABEL_KEY: z.string().default("node.cluster.x-k8s.io/machinepool"),
116-
KUBERNETES_LARGE_MACHINE_AFFINITY_POOL_LABEL_VALUE: z.string().default("large-machines"),
115+
KUBERNETES_LARGE_MACHINE_AFFINITY_POOL_LABEL_KEY: z.string().trim().min(1).default("node.cluster.x-k8s.io/machinepool"),
116+
KUBERNETES_LARGE_MACHINE_AFFINITY_POOL_LABEL_VALUE: z.string().trim().min(1).default("large-machines"),
117+
KUBERNETES_LARGE_MACHINE_AFFINITY_WEIGHT: z.coerce.number().int().min(1).max(100).default(100),
117118

118119
// Project affinity settings - pods from the same project prefer the same node
119120
KUBERNETES_PROJECT_AFFINITY_ENABLED: BoolEnv.default(false),
@@ -122,8 +123,8 @@ const Env = z.object({
122123

123124
// Schedule affinity settings - runs from schedule trees prefer a dedicated pool
124125
KUBERNETES_SCHEDULE_AFFINITY_ENABLED: BoolEnv.default(false),
125-
KUBERNETES_SCHEDULE_AFFINITY_POOL_LABEL_KEY: z.string().default("node.cluster.x-k8s.io/machinepool"),
126-
KUBERNETES_SCHEDULE_AFFINITY_POOL_LABEL_VALUE: z.string().default("scheduled-runs"),
126+
KUBERNETES_SCHEDULE_AFFINITY_POOL_LABEL_KEY: z.string().trim().min(1).default("node.cluster.x-k8s.io/machinepool"),
127+
KUBERNETES_SCHEDULE_AFFINITY_POOL_LABEL_VALUE: z.string().trim().min(1).default("scheduled-runs"),
127128
KUBERNETES_SCHEDULE_AFFINITY_WEIGHT: z.coerce.number().int().min(1).max(100).default(80),
128129
KUBERNETES_SCHEDULE_ANTI_AFFINITY_WEIGHT: z.coerce.number().int().min(1).max(100).default(20),
129130

apps/supervisor/src/workloadManager/kubernetes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ export class KubernetesWorkloadManager implements WorkloadManager {
444444
return {
445445
preferredDuringSchedulingIgnoredDuringExecution: [
446446
{
447-
weight: 100,
447+
weight: env.KUBERNETES_LARGE_MACHINE_AFFINITY_WEIGHT,
448448
preference: {
449449
matchExpressions: [
450450
{

0 commit comments

Comments
 (0)