feat(health-check): add TLS verification option to health check configuration
Introduced a new `verify_tls` boolean option in health check configurations across various services, allowing users to specify whether to validate TLS certificates during health checks. Updated related components and services to accommodate this new option, ensuring proper handling in both the backend and frontend. Enhanced tests to validate the new functionality and ensure correct behavior with different configurations.
This commit is contained in:
Vendored
+36
-17
@@ -30,6 +30,7 @@ interface ServiceGroup$1 {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
@@ -58,6 +59,7 @@ interface ServiceBinding {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
@@ -84,6 +86,7 @@ interface ServiceBindingView {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
@@ -107,6 +110,7 @@ interface ServiceDomainBindingView {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
}
|
||||
interface SyncJob {
|
||||
@@ -175,6 +179,7 @@ interface HealthCheckTarget {
|
||||
path: string | null;
|
||||
expected_status: number | null;
|
||||
timeout_ms: number;
|
||||
verify_tls: boolean;
|
||||
}
|
||||
|
||||
declare class ValidationError extends Error {
|
||||
@@ -316,6 +321,7 @@ declare const serviceGroupSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
created_at: z.ZodString;
|
||||
updated_at: z.ZodString;
|
||||
}, z.core.$strip>;
|
||||
@@ -364,6 +370,7 @@ declare const serviceDomainBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
}, z.core.$strip>, z.ZodTransform<{
|
||||
target_ips: string[];
|
||||
@@ -384,6 +391,7 @@ declare const serviceDomainBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ip?: string | null | undefined;
|
||||
}, {
|
||||
@@ -401,6 +409,7 @@ declare const serviceDomainBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ips?: string[] | undefined;
|
||||
target_ip?: string | null | undefined;
|
||||
@@ -453,6 +462,7 @@ declare const serviceViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
}, z.core.$strip>, z.ZodTransform<{
|
||||
target_ips: string[];
|
||||
@@ -473,6 +483,7 @@ declare const serviceViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ip?: string | null | undefined;
|
||||
}, {
|
||||
@@ -490,6 +501,7 @@ declare const serviceViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ips?: string[] | undefined;
|
||||
target_ip?: string | null | undefined;
|
||||
@@ -535,6 +547,7 @@ declare const serviceGroupViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
created_at: z.ZodString;
|
||||
updated_at: z.ZodString;
|
||||
services: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
||||
@@ -582,6 +595,7 @@ declare const serviceGroupViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
}, z.core.$strip>, z.ZodTransform<{
|
||||
target_ips: string[];
|
||||
@@ -602,6 +616,7 @@ declare const serviceGroupViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ip?: string | null | undefined;
|
||||
}, {
|
||||
@@ -619,6 +634,7 @@ declare const serviceGroupViewSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ips?: string[] | undefined;
|
||||
target_ip?: string | null | undefined;
|
||||
@@ -673,6 +689,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
created_at: z.ZodString;
|
||||
updated_at: z.ZodString;
|
||||
services: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
||||
@@ -720,6 +737,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
}, z.core.$strip>, z.ZodTransform<{
|
||||
target_ips: string[];
|
||||
@@ -740,6 +758,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ip?: string | null | undefined;
|
||||
}, {
|
||||
@@ -757,6 +776,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ips?: string[] | undefined;
|
||||
target_ip?: string | null | undefined;
|
||||
@@ -825,6 +845,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
}, z.core.$strip>, z.ZodTransform<{
|
||||
target_ips: string[];
|
||||
@@ -845,6 +866,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ip?: string | null | undefined;
|
||||
}, {
|
||||
@@ -862,6 +884,7 @@ declare const serviceGroupsResponseSchema: z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
target_ips?: string[] | undefined;
|
||||
target_ip?: string | null | undefined;
|
||||
@@ -960,6 +983,7 @@ declare const serviceBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: z.ZodNullable<z.ZodNumber>;
|
||||
health_check_interval_sec: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodDefault<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodDefault<z.ZodCoercedBoolean<unknown>>;
|
||||
sync_status: z.ZodNullable<z.ZodString>;
|
||||
created_at: z.ZodString;
|
||||
updated_at: z.ZodString;
|
||||
@@ -986,6 +1010,7 @@ declare const serviceBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
@@ -1009,6 +1034,7 @@ declare const serviceBindingSchema: z.ZodPipe<z.ZodObject<{
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
@@ -1073,6 +1099,7 @@ declare const healthCheckConfigSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
||||
health_check_interval_sec: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodOptional<z.ZodBoolean>;
|
||||
}, z.core.$strip>;
|
||||
type HealthCheckConfig = z.infer<typeof healthCheckConfigSchema>;
|
||||
declare const createServiceSchema: z.ZodObject<{
|
||||
@@ -1099,6 +1126,7 @@ declare const createServiceWithConfigSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
||||
health_check_interval_sec: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodOptional<z.ZodBoolean>;
|
||||
fqdn: z.ZodString;
|
||||
target_ips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
||||
target_cname: z.ZodOptional<z.ZodString>;
|
||||
@@ -1286,6 +1314,7 @@ declare const updateServiceConfigSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
||||
health_check_interval_sec: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodOptional<z.ZodBoolean>;
|
||||
fqdn: z.ZodString;
|
||||
target_ips: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
||||
target_cname: z.ZodOptional<z.ZodString>;
|
||||
@@ -1312,6 +1341,7 @@ declare const createServiceGroupSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
||||
health_check_interval_sec: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodOptional<z.ZodBoolean>;
|
||||
name: z.ZodString;
|
||||
type: z.ZodDefault<z.ZodEnum<{
|
||||
vpn: "vpn";
|
||||
@@ -1341,6 +1371,7 @@ declare const updateServiceGroupSchema: z.ZodObject<{
|
||||
health_check_expected_status: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
||||
health_check_interval_sec: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_timeout_ms: z.ZodOptional<z.ZodNumber>;
|
||||
health_check_verify_tls: z.ZodOptional<z.ZodBoolean>;
|
||||
name: z.ZodOptional<z.ZodString>;
|
||||
type: z.ZodOptional<z.ZodEnum<{
|
||||
vpn: "vpn";
|
||||
@@ -1400,6 +1431,8 @@ declare const appSwitcherEntrySchema: z.ZodObject<{
|
||||
dashboard: "dashboard";
|
||||
chart: "chart";
|
||||
}>>;
|
||||
enabled: z.ZodOptional<z.ZodBoolean>;
|
||||
sort: z.ZodOptional<z.ZodNumber>;
|
||||
shortcut: z.ZodOptional<z.ZodString>;
|
||||
}, z.core.$strip>;
|
||||
declare const appSwitcherConfigSchema: z.ZodObject<{
|
||||
@@ -1416,6 +1449,8 @@ declare const appSwitcherConfigSchema: z.ZodObject<{
|
||||
dashboard: "dashboard";
|
||||
chart: "chart";
|
||||
}>>;
|
||||
enabled: z.ZodOptional<z.ZodBoolean>;
|
||||
sort: z.ZodOptional<z.ZodNumber>;
|
||||
shortcut: z.ZodOptional<z.ZodString>;
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>;
|
||||
@@ -1448,26 +1483,10 @@ declare const cfdmSyncBindingsBodySchema: z.ZodObject<{
|
||||
}, z.core.$strip>;
|
||||
type CfdmBindingSyncItem = z.infer<typeof cfdmBindingSyncItemSchema>;
|
||||
declare const appSettingsPatchSchema: z.ZodObject<{
|
||||
appSwitcher: z.ZodOptional<z.ZodObject<{
|
||||
menuLabel: z.ZodDefault<z.ZodString>;
|
||||
apps: z.ZodArray<z.ZodObject<{
|
||||
id: z.ZodString;
|
||||
name: z.ZodString;
|
||||
subtitle: z.ZodOptional<z.ZodString>;
|
||||
url: z.ZodString;
|
||||
icon: z.ZodDefault<z.ZodEnum<{
|
||||
server: "server";
|
||||
cloud: "cloud";
|
||||
globe: "globe";
|
||||
dashboard: "dashboard";
|
||||
chart: "chart";
|
||||
}>>;
|
||||
shortcut: z.ZodOptional<z.ZodString>;
|
||||
}, z.core.$strip>>;
|
||||
}, z.core.$strip>>;
|
||||
vpsTrackerUrl: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>;
|
||||
vpsTrackerIntegrationToken: z.ZodOptional<z.ZodString>;
|
||||
vpsTrackerSyncEnabled: z.ZodOptional<z.ZodBoolean>;
|
||||
showQuickActions: z.ZodOptional<z.ZodBoolean>;
|
||||
}, z.core.$strip>;
|
||||
type AppSettingsPatch = z.infer<typeof appSettingsPatchSchema>;
|
||||
declare const vpsTrackerEventSchema: z.ZodObject<{
|
||||
|
||||
Vendored
+9
-3
@@ -208,6 +208,7 @@ var serviceGroupSchema = z.object({
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3e3),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
created_at: z.string(),
|
||||
updated_at: z.string()
|
||||
});
|
||||
@@ -244,6 +245,7 @@ var serviceDomainBindingSchema = z.object({
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3e3),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
sync_status: z.string().nullable()
|
||||
}).transform((binding) => ({
|
||||
...binding,
|
||||
@@ -312,6 +314,7 @@ var serviceBindingSchema = z.object({
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3e3),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
sync_status: z.string().nullable(),
|
||||
created_at: z.string(),
|
||||
updated_at: z.string()
|
||||
@@ -364,7 +367,8 @@ var healthCheckConfigFields = {
|
||||
health_check_path: z.string().nullable().optional(),
|
||||
health_check_expected_status: z.number().int().min(100).max(599).nullable().optional(),
|
||||
health_check_interval_sec: z.number().int().min(5).max(3600).optional(),
|
||||
health_check_timeout_ms: z.number().int().min(100).max(3e4).optional()
|
||||
health_check_timeout_ms: z.number().int().min(100).max(3e4).optional(),
|
||||
health_check_verify_tls: z.boolean().optional()
|
||||
};
|
||||
var healthCheckConfigSchema = z.object(healthCheckConfigFields);
|
||||
var serviceDomainInputSchema = z.object({
|
||||
@@ -555,6 +559,8 @@ var appSwitcherEntrySchema = z2.object({
|
||||
subtitle: z2.string().optional(),
|
||||
url: z2.string().url(),
|
||||
icon: appSwitcherIconSchema.default("server"),
|
||||
enabled: z2.boolean().optional(),
|
||||
sort: z2.number().optional(),
|
||||
shortcut: z2.string().optional()
|
||||
});
|
||||
var appSwitcherConfigSchema = z2.object({
|
||||
@@ -579,10 +585,10 @@ var cfdmSyncBindingsBodySchema = z3.object({
|
||||
bindings: z3.array(cfdmBindingSyncItemSchema).min(1)
|
||||
});
|
||||
var appSettingsPatchSchema = z3.object({
|
||||
appSwitcher: appSwitcherConfigSchema.optional(),
|
||||
vpsTrackerUrl: z3.string().url().or(z3.literal("")).optional(),
|
||||
vpsTrackerIntegrationToken: z3.string().optional(),
|
||||
vpsTrackerSyncEnabled: z3.boolean().optional()
|
||||
vpsTrackerSyncEnabled: z3.boolean().optional(),
|
||||
showQuickActions: z3.boolean().optional()
|
||||
});
|
||||
var vpsTrackerEventSchema = z3.object({
|
||||
event: z3.enum(["vps_down", "vps_up"]),
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { z } from "zod";
|
||||
import { appSwitcherConfigSchema } from "./app-switcher.js";
|
||||
|
||||
export const cfdmBindingSyncItemSchema = z.object({
|
||||
bindingId: z.number().int().positive(),
|
||||
@@ -20,7 +19,6 @@ export const cfdmSyncBindingsBodySchema = z.object({
|
||||
export type CfdmBindingSyncItem = z.infer<typeof cfdmBindingSyncItemSchema>;
|
||||
|
||||
export const appSettingsPatchSchema = z.object({
|
||||
appSwitcher: appSwitcherConfigSchema.optional(),
|
||||
vpsTrackerUrl: z.string().url().or(z.literal("")).optional(),
|
||||
vpsTrackerIntegrationToken: z.string().optional(),
|
||||
vpsTrackerSyncEnabled: z.boolean().optional(),
|
||||
|
||||
@@ -70,6 +70,7 @@ export const serviceGroupSchema = z.object({
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3000),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
created_at: z.string(),
|
||||
updated_at: z.string(),
|
||||
})
|
||||
@@ -109,6 +110,7 @@ export const serviceDomainBindingSchema = z
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3000),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
sync_status: z.string().nullable(),
|
||||
})
|
||||
.transform((binding) => ({
|
||||
@@ -192,6 +194,7 @@ export const serviceBindingSchema = z
|
||||
health_check_expected_status: z.number().nullable(),
|
||||
health_check_interval_sec: z.number().default(30),
|
||||
health_check_timeout_ms: z.number().default(3000),
|
||||
health_check_verify_tls: z.coerce.boolean().default(false),
|
||||
sync_status: z.string().nullable(),
|
||||
created_at: z.string(),
|
||||
updated_at: z.string(),
|
||||
@@ -271,6 +274,7 @@ const healthCheckConfigFields = {
|
||||
health_check_expected_status: z.number().int().min(100).max(599).nullable().optional(),
|
||||
health_check_interval_sec: z.number().int().min(5).max(3600).optional(),
|
||||
health_check_timeout_ms: z.number().int().min(100).max(30000).optional(),
|
||||
health_check_verify_tls: z.boolean().optional(),
|
||||
}
|
||||
|
||||
export const healthCheckConfigSchema = z.object(healthCheckConfigFields)
|
||||
|
||||
@@ -21,6 +21,7 @@ export interface ServiceGroup {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
@@ -119,6 +120,7 @@ export interface ServiceBinding {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
}
|
||||
@@ -146,6 +148,7 @@ export interface ServiceBindingView {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
@@ -170,6 +173,7 @@ export interface ServiceDomainBindingView {
|
||||
health_check_expected_status: number | null;
|
||||
health_check_interval_sec: number;
|
||||
health_check_timeout_ms: number;
|
||||
health_check_verify_tls: boolean;
|
||||
sync_status: string | null;
|
||||
}
|
||||
|
||||
@@ -285,4 +289,5 @@ export interface HealthCheckTarget {
|
||||
path: string | null;
|
||||
expected_status: number | null;
|
||||
timeout_ms: number;
|
||||
verify_tls: boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user