mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-10 13:21:00 +00:00
feat(balancers): tabbed Observatory/Burst Observatory form (#5627)
* feat(balancers): tabbed Observatory/Burst form replacing raw JSON Replace the raw JSON editor for the Observatory / Burst Observatory sections with a proper Ant Design form, and split the Balancers page into two sub-tabs: "Balancer Settings" (the existing table) and "Observatory". Observers stay fully auto-managed by balancer strategy through the existing syncObservatories logic: users edit only the tunable probe fields, the subjectSelector is shown read-only since it is derived from the balancers, and deleting the last balancer that needs an observer now warns in the confirm dialog that the observer will be removed too. Overlapping selectors keep an observer alive while any balancer still references it. Also add the previously missing pingConfig.httpMethod field (HEAD/GET) and translations for the new strings across all 13 locales. * refactor(balancers): tighten httpMethod typing and align connectivity default Address automated review feedback on the Observatory form: - Use the ObservatoryHttpMethodSchema enum for pingConfig.httpMethod instead of a free-form z.string(), and drive the HTTP method Select from its options. Removes the previously dead enum export and the duplicate local list, and types the field as 'HEAD' | 'GET'. - Align the schema's connectivity default with DEFAULT_BURST_OBSERVATORY (the hicloud URL) so it matches what burst observers are actually created with. No behavior change.
This commit is contained in:
@@ -1663,6 +1663,36 @@
|
||||
"toastDeleted": "削除しました",
|
||||
"toastDeleteFailed": "削除に失敗しました"
|
||||
},
|
||||
"tabBalancerSettings": "バランサー設定",
|
||||
"tabObservatory": "オブザーバトリ",
|
||||
"observatory": {
|
||||
"title": "オブザーバトリ",
|
||||
"burstTitle": "バースト オブザーバトリ",
|
||||
"autoManaged": "オブザーバはバランサーから自動的に管理されます。プローブの方法は下で調整できます。監視対象のアウトバウンドはバランサーのセレクターに従います。",
|
||||
"emptyHint": "有効な接続オブザーバはありません。Least Ping または Least Load のバランサー、あるいは fallback 付きの Random / Round-robin バランサーを作成すると自動的に追加され、バランサーがアウトバウンドを測定して最適なものを選べるようになります。",
|
||||
"subjectSelector": "監視対象のアウトバウンド",
|
||||
"subjectSelectorDesc": "このオブザーバがプローブするアウトバウンドのタグ。バランサーから自動的に管理されます。",
|
||||
"probeURL": "プローブ URL",
|
||||
"probeURLDesc": "各アウトバウンドを測定するために取得する URL。HTTP 204 を返す必要があります。",
|
||||
"probeInterval": "プローブ間隔",
|
||||
"probeIntervalDesc": "各アウトバウンドをプローブする頻度。例: 30s、1m、2h45m。",
|
||||
"enableConcurrency": "並行プローブ",
|
||||
"enableConcurrencyDesc": "監視対象のアウトバウンドを1つずつではなく一度にプローブします。高速ですが、ネットワーク上で目立ちます。",
|
||||
"destination": "プローブ先",
|
||||
"destinationDesc": "各アウトバウンドを測定するために取得する URL。HTTP 204 を返す必要があります。",
|
||||
"connectivity": "接続チェック",
|
||||
"connectivityDesc": "任意のローカルネットワーク確認 URL。プローブ先が失敗した場合にのみ試行されます。空欄でスキップ。",
|
||||
"interval": "プローブ間隔",
|
||||
"intervalDesc": "アウトバウンドごとのプローブ間の平均時間。例: 1m。最小 10s。",
|
||||
"timeout": "プローブ タイムアウト",
|
||||
"timeoutDesc": "プローブを失敗とみなすまでの待機時間。例: 5s。",
|
||||
"sampling": "サンプリング数",
|
||||
"samplingDesc": "各アウトバウンドを評価するために保持する直近のプローブ結果の数。",
|
||||
"httpMethod": "HTTP メソッド",
|
||||
"httpMethodDesc": "プローブに使用する HTTP メソッド。",
|
||||
"deleteAlsoObservatory": "これは Observatory を使用する最後のバランサーのため、こちらも削除されます。",
|
||||
"deleteAlsoBurst": "これは Burst Observatory を使用する最後のバランサーのため、こちらも削除されます。"
|
||||
},
|
||||
"balancer": {
|
||||
"addBalancer": "負荷分散追加",
|
||||
"editBalancer": "負荷分散編集",
|
||||
|
||||
Reference in New Issue
Block a user