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:
1 parent
9783974949
commit
1d497d01c2
123 files changed
+351
-15912
No files matched your search
@@ -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