From 229d855b015bbba4d46aec4e460e9ab44067451a Mon Sep 17 00:00:00 2001 From: mrjvs Date: Wed, 14 Jan 2026 22:09:56 +0100 Subject: [PATCH] fix: allow provisioning to update ip_list + allow setting some fields to null --- src/provisioning.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/provisioning.ts b/src/provisioning.ts index 1bfe597..031d7d1 100644 --- a/src/provisioning.ts +++ b/src/provisioning.ts @@ -8,15 +8,16 @@ import { Server } from './models/server'; // Provisioning has a couple edgecases: // - It will only update existing entries, will not add new one // - Only the fields in the below schema will be updated +// - Set fields to null to unset them. Undefined means it won't be modified const serverProvisioningSchema = z.object({ servers: z.array(z.object({ id: z.string(), name: z.string(), - ip: z.string().optional(), - ipList: z.array(z.string()).optional(), - port: z.coerce.number(), - health_check_port: z.coerce.number().optional() + ip: z.string().nullable().optional(), + ip_list: z.array(z.string()).default([]), + port: z.number(), + health_check_port: z.number().nullable().optional() })) }); @@ -42,7 +43,7 @@ export async function handleServerProvisioning(): Promise { $set: { _id: id, service_name: server.name, - ipList: server.ipList, + ip_list: server.ip_list, ip: server.ip, port: server.port, health_check_port: server.health_check_port