@@ -78,6 +78,13 @@ export const Env = z
7878 TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_ENGAGE : z . coerce . number ( ) . int ( ) . positive ( ) . default ( 10_000 ) ,
7979 TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_RELEASE : z . coerce . number ( ) . int ( ) . positive ( ) . default ( 5_000 ) ,
8080 TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_REFRESH_MS : z . coerce . number ( ) . int ( ) . positive ( ) . default ( 5_000 ) ,
81+ // Hard timeout on the apiserver /metrics scrape. A hung request would otherwise
82+ // never settle and freeze the monitor's refresh loop (fail-open silently).
83+ TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_SCRAPE_TIMEOUT_MS : z . coerce
84+ . number ( )
85+ . int ( )
86+ . positive ( )
87+ . default ( 10_000 ) ,
8188
8289 // Optional services
8390 TRIGGER_WARM_START_URL : z . string ( ) . optional ( ) ,
@@ -317,6 +324,18 @@ export const Env = z
317324 TRIGGER_WIDE_EVENTS_NOISY_ROUTES : BoolEnv . default ( false ) ,
318325 } )
319326 . superRefine ( ( data , ctx ) => {
327+ if (
328+ data . TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_ENABLED &&
329+ data . TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_RELEASE >=
330+ data . TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_ENGAGE
331+ ) {
332+ ctx . addIssue ( {
333+ code : z . ZodIssueCode . custom ,
334+ message :
335+ "TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_RELEASE must be less than TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_ENGAGE" ,
336+ path : [ "TRIGGER_DEQUEUE_BACKPRESSURE_POD_COUNT_RELEASE" ] ,
337+ } ) ;
338+ }
320339 if ( data . COMPUTE_SNAPSHOTS_ENABLED && ! data . TRIGGER_METADATA_URL ) {
321340 ctx . addIssue ( {
322341 code : z . ZodIssueCode . custom ,
0 commit comments