diff --git a/messages/en.json b/messages/en.json index 1a828873..3d95de2e 100644 --- a/messages/en.json +++ b/messages/en.json @@ -792,5 +792,7 @@ "license_adjust_nodes_fifo_hint": "FIFO mode: nodes are authorized in the order they joined the cluster.", "license_adjust_nodes_readonly": "This license has expired or is invalid. Node adjustments are not allowed.", "license_adjust_nodes_last_accepted": "Last accepted: ", + "alerting": "Alerting", + "alerting_description": "Email platform alerts through an SMTP server.", "containers_without_limit": "{uncapped} of {containers} containers declare no limit" } diff --git a/messages/zh-hant.json b/messages/zh-hant.json index 905e468a..126de47c 100644 --- a/messages/zh-hant.json +++ b/messages/zh-hant.json @@ -792,5 +792,7 @@ "license_adjust_nodes_fifo_hint": "FIFO 模式:節點依加入叢集的順序自動授權。", "license_adjust_nodes_readonly": "此授權已過期或無效,無法調整節點設定。", "license_adjust_nodes_last_accepted": "上次接受:", + "alerting": "告警", + "alerting_description": "透過 SMTP 郵件伺服器寄送平台告警。", "containers_without_limit": "{containers} 個容器中有 {uncapped} 個未宣告 Limit" } diff --git a/src/lib/components/alerting/alerting-settings.svelte b/src/lib/components/alerting/alerting-settings.svelte new file mode 100644 index 00000000..091993dc --- /dev/null +++ b/src/lib/components/alerting/alerting-settings.svelte @@ -0,0 +1,18 @@ + diff --git a/src/lib/utils/alerting.ts b/src/lib/utils/alerting.ts new file mode 100644 index 00000000..154b23c0 --- /dev/null +++ b/src/lib/utils/alerting.ts @@ -0,0 +1,32 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +// Placeholder — the enterprise edition overlays this file (ee/src). + +export type SmtpSettings = any; +export type AlertRule = any; +export type AlertingOverview = any; +export type TestPhase = any; + +export class AlertingConflictError extends Error {} + +export function parseAlerting(...args: any[]): any { + void args; + return {}; +} + +export async function loadAlerting(...args: any[]): Promise { + void args; + return null; +} + +export async function saveAlerting(...args: any[]): Promise { + void args; + return {}; +} + +export async function disableAlerting(...args: any[]): Promise { + void args; +} + +export async function sendTestEmail(...args: any[]): Promise { + void args; +} diff --git a/src/routes/(auth)/[cluster]/[workspace]/alerting/+page.svelte b/src/routes/(auth)/[cluster]/[workspace]/alerting/+page.svelte new file mode 100644 index 00000000..e69de29b diff --git a/vite.config.ts b/vite.config.ts index 61ead973..feeaf1c4 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -48,7 +48,7 @@ export default defineConfig({ test: { name: 'server', environment: 'node', - include: ['src/**/*.{test,spec}.{js,ts}'], + include: ['src/**/*.{test,spec}.{js,ts}', 'ee/src/**/*.{test,spec}.{js,ts}'], exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] } }