From 438f09f62c42679dc111fc0fb60dd5c01a67d6da Mon Sep 17 00:00:00 2001 From: Hengfei Yang Date: Tue, 27 Oct 2026 04:32:39 +0000 Subject: [PATCH] fix(fleet): default the install command to HTTP polling on every platform (#15864) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- scripts/translations/.translation_state.json | 4 ++-- web/src/components/fleet/FleetInstallCommand.spec.ts | 12 ++++++++---- web/src/components/fleet/FleetInstallCommand.vue | 11 +++++------ web/src/components/fleet/fleetInstall.spec.ts | 8 ++++++-- web/src/components/fleet/fleetInstall.ts | 4 ++-- web/src/locales/languages/ar-SA.json | 2 +- web/src/locales/languages/de-DE.json | 2 +- web/src/locales/languages/en-US.json | 2 +- web/src/locales/languages/es-ES.json | 2 +- web/src/locales/languages/fr-FR.json | 2 +- web/src/locales/languages/it-IT.json | 2 +- web/src/locales/languages/ja-JP.json | 2 +- web/src/locales/languages/ko-KR.json | 2 +- web/src/locales/languages/nl-NL.json | 2 +- web/src/locales/languages/pl-PL.json | 2 +- web/src/locales/languages/pt-PT.json | 2 +- web/src/locales/languages/ru-RU.json | 2 +- web/src/locales/languages/tr-TR.json | 2 +- web/src/locales/languages/vi-VN.json | 2 +- web/src/locales/languages/zh-CN.json | 2 +- web/src/locales/languages/zh-TW.json | 2 +- 21 files changed, 39 insertions(+), 32 deletions(-) diff --git a/scripts/translations/.translation_state.json b/scripts/translations/.translation_state.json index c71c44de5b..d1211917f3 100644 --- a/scripts/translations/.translation_state.json +++ b/scripts/translations/.translation_state.json @@ -12610,7 +12610,6 @@ "dockerNote": "0a229149a30c95e6", "envRefNote": "90bf2de66efabe94", "hideToken": "ae132305cb4bfbfe", - "httpTransport": "81d5cb48cba0c378", "joinsFleet": "c45d8922b1583770", "joinsFleetNoConfig": "2de701a965749793", "kubernetesAgent": "23af97a573a52e77", @@ -12628,7 +12627,8 @@ "versionLatest": "a21ba40f66202b4a", "versionLine": "bc20a1e68d68772f", "viewCollectors": "09362e686190000d", - "waiting": "26dc16ea5373a3a6" + "waiting": "26dc16ea5373a3a6", + "websocketTransport": "cd8448d4f2c61c44" }, "move": { "confirm": "6ecc3df6bffdd06c", diff --git a/web/src/components/fleet/FleetInstallCommand.spec.ts b/web/src/components/fleet/FleetInstallCommand.spec.ts index b39028e470..3a9b39431d 100644 --- a/web/src/components/fleet/FleetInstallCommand.spec.ts +++ b/web/src/components/fleet/FleetInstallCommand.spec.ts @@ -119,19 +119,23 @@ describe("FleetInstallCommand", () => { expect(code(w)).not.toContain("--version"); }); - it("switches to HTTP polling with the proxy checkbox", async () => { + it("uses HTTP polling by default and WebSocket with the checkbox", async () => { const w = mountCommand(); + expect(code(w)).toContain("--transport http"); w.findComponent({ name: "OCheckbox" }).vm.$emit("update:modelValue", true); await w.vm.$nextTick(); - expect(code(w)).toContain("--transport http"); + expect(code(w)).toContain("--transport ws"); }); - it("shows Helm with the fleet collector image on Kubernetes, without the proxy option", async () => { + it("shows Helm on Kubernetes with the same transport choice, HTTP polling by default", async () => { const w = mountCommand(); await flushPromises(); await choose(w, "kubernetes"); expect(code(w)).toContain("o2cr.ai/openobserve/otel-fleet-collector"); - expect(w.find('[data-test="fleet-install-command-http"]').exists()).toBe(false); + expect(code(w)).toMatch(/opamp\.endpoint='https?:\/\//); + w.findComponent({ name: "OCheckbox" }).vm.$emit("update:modelValue", true); + await w.vm.$nextTick(); + expect(code(w)).toMatch(/opamp\.endpoint='wss?:\/\//); }); it("offers the agent or gateway role only on Kubernetes, agents by default", async () => { diff --git a/web/src/components/fleet/FleetInstallCommand.vue b/web/src/components/fleet/FleetInstallCommand.vue index 4b81e47e5b..046a789a8e 100644 --- a/web/src/components/fleet/FleetInstallCommand.vue +++ b/web/src/components/fleet/FleetInstallCommand.vue @@ -53,10 +53,9 @@ along with this program. If not, see . : t("fleet.install.versionLatest") }} settings.value?.target_collector_version || null); const platform = ref("linux"); -const http = ref(false); +const websocket = ref(false); const role = ref("agent"); const platformOptions = INSTALL_PLATFORMS.map((value) => ({ @@ -140,7 +139,7 @@ const build = (token: string) => org: orgId.value, token, version: version.value, - http: http.value && platform.value !== "kubernetes", + http: !websocket.value, role: role.value, }); const command = computed(() => build(props.token)); diff --git a/web/src/components/fleet/fleetInstall.spec.ts b/web/src/components/fleet/fleetInstall.spec.ts index bc0d8be0ae..96da27bca1 100644 --- a/web/src/components/fleet/fleetInstall.spec.ts +++ b/web/src/components/fleet/fleetInstall.spec.ts @@ -42,16 +42,17 @@ describe("installCommand", () => { expect(cmd).toContain("--org 'acme'"); expect(cmd).toContain("--token 'o2ft_abc123'"); expect(cmd).toContain("--version '0.163.1'"); - expect(cmd).not.toContain("--transport"); + expect(cmd).toContain("--transport ws"); }); it("uses the macOS script on macOS", () => { expect(installCommand("macos", target)).toContain("/agents/main/fleet/install.sh"); }); - it("adds --transport http only when the proxy cannot carry WebSocket", () => { + it("always names the transport, so the scripts' own default never decides it", () => { expect(installCommand("linux", { ...target, http: true })).toContain("--transport http"); expect(installCommand("windows", { ...target, http: true })).toContain("-Transport http"); + expect(installCommand("windows", target)).toContain("-Transport ws"); }); it("leaves the version to the script when the org sets none", () => { @@ -98,6 +99,9 @@ describe("installCommand", () => { expect(cmd).toContain("--set image.repository=o2cr.ai/openobserve/otel-fleet-collector"); expect(cmd).toContain("--set image.tag='0.163.1'"); expect(cmd).toContain("--set opamp.endpoint='wss://o2.example.com/api/acme/v1/opamp'"); + expect(installCommand("kubernetes", { ...target, http: true })).toContain( + "--set opamp.endpoint='https://o2.example.com/api/acme/v1/opamp'", + ); }); it("installs agents as the otel-fleet-collector release with the chart's agent default", () => { diff --git a/web/src/components/fleet/fleetInstall.ts b/web/src/components/fleet/fleetInstall.ts index cc673417f0..bd64c73e24 100644 --- a/web/src/components/fleet/fleetInstall.ts +++ b/web/src/components/fleet/fleetInstall.ts @@ -82,7 +82,7 @@ function unixCommand(t: InstallTarget): string { `--org ${q(t.org)}`, `--token ${q(t.token)}`, ...(t.version ? [`--version ${q(t.version)}`] : []), - ...(t.http ? ["--transport http"] : []), + `--transport ${t.http ? "http" : "ws"}`, ]; return [ `curl -fsSL ${SCRIPT_BASE}/fleet/install.sh | sudo bash -s -- \\`, @@ -97,7 +97,7 @@ function windowsCommand(t: InstallTarget): string { `-Org ${ps(t.org)}`, `-Token ${ps(t.token)}`, ...(t.version ? [`-Version ${ps(t.version)}`] : []), - ...(t.http ? ["-Transport http"] : []), + `-Transport ${t.http ? "http" : "ws"}`, ]; return [ `& ([scriptblock]::Create((irm ${SCRIPT_BASE}/fleet/install.ps1))) \``, diff --git a/web/src/locales/languages/ar-SA.json b/web/src/locales/languages/ar-SA.json index f3553eca93..df72892714 100644 --- a/web/src/locales/languages/ar-SA.json +++ b/web/src/locales/languages/ar-SA.json @@ -27056,7 +27056,7 @@ "joinsFleet": "تنضم Collectors المثبّتة بهذا الرمز إلى الأسطول {fleet} وتشغّل {config} v{version}.", "joinsFleetNoConfig": "تنضم Collectors المثبّتة بهذا الرمز إلى الأسطول {fleet}، وليس له تكوين بعد.", "envRefNote": "استخدم مراجع {ref} لبيانات الاعتماد في التكوينات، لتبقى الأسرار على المضيف.", - "httpTransport": "لا يستطيع الوكيل أو موزّع الأحمال حمل WebSocket (استخدم استطلاع HTTP)", + "websocketTransport": "استخدام WebSocket (يدفع الإعدادات فورًا؛ يجب أن يدعمه الوكيل)", "kubernetesNote": "ينشر DaemonSet يشغّل المشرف والـ Collector في حاوية واحدة. للترقية، غيّر وسم الصورة.", "kubernetesAgent": "وكيل (DaemonSet)", "kubernetesGateway": "بوابة (StatefulSet)", diff --git a/web/src/locales/languages/de-DE.json b/web/src/locales/languages/de-DE.json index ed3bb054c7..d67cf6f53c 100644 --- a/web/src/locales/languages/de-DE.json +++ b/web/src/locales/languages/de-DE.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Mit diesem Token installierte Collector treten dem Fleet {fleet} bei und führen {config} v{version} aus.", "joinsFleetNoConfig": "Mit diesem Token installierte Collector treten dem Fleet {fleet} bei, das noch keine Konfiguration hat.", "envRefNote": "Verwenden Sie {ref}-Verweise für Zugangsdaten in Konfigurationen, damit Secrets auf dem Host bleiben.", - "httpTransport": "Der Proxy oder Load Balancer kann kein WebSocket übertragen (HTTP-Polling verwenden)", + "websocketTransport": "WebSocket verwenden (überträgt Konfiguration sofort; der Proxy muss es unterstützen)", "kubernetesNote": "Stellt ein DaemonSet bereit, das den Supervisor und den Collector in einem Container ausführt. Zum Upgrade das Image-Tag ändern.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/en-US.json b/web/src/locales/languages/en-US.json index 35be43a434..1501d9a3e8 100644 --- a/web/src/locales/languages/en-US.json +++ b/web/src/locales/languages/en-US.json @@ -27054,7 +27054,7 @@ "joinsFleet": "Collectors installed with this token join fleet {fleet} and run {config} v{version}.", "joinsFleetNoConfig": "Collectors installed with this token join fleet {fleet}, which has no configuration yet.", "envRefNote": "Use {ref} references for credentials in configurations, so secrets stay on the host.", - "httpTransport": "The proxy or load balancer cannot carry WebSocket (use HTTP polling)", + "websocketTransport": "Use WebSocket (pushes configuration instantly; the proxy must support it)", "kubernetesNote": "Deploys a DaemonSet that runs the supervisor and the collector in one container. Upgrade by changing the image tag.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/es-ES.json b/web/src/locales/languages/es-ES.json index 181c1629aa..e33d41e724 100644 --- a/web/src/locales/languages/es-ES.json +++ b/web/src/locales/languages/es-ES.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Los colectores instalados con este token se unen a la flota {fleet} y ejecutan {config} v{version}.", "joinsFleetNoConfig": "Los colectores instalados con este token se unen a la flota {fleet}, que aún no tiene configuración.", "envRefNote": "Usa referencias {ref} para las credenciales en las configuraciones, de modo que los secretos permanezcan en el host.", - "httpTransport": "El proxy o balanceador de carga no admite WebSocket (usa sondeo HTTP)", + "websocketTransport": "Usar WebSocket (envía la configuración al instante; el proxy debe admitirlo)", "kubernetesNote": "Despliega un DaemonSet que ejecuta el supervisor y el colector en un solo contenedor. Actualiza cambiando la etiqueta de la imagen.", "kubernetesAgent": "Agente (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/fr-FR.json b/web/src/locales/languages/fr-FR.json index 5e642fa90d..da687f85ca 100644 --- a/web/src/locales/languages/fr-FR.json +++ b/web/src/locales/languages/fr-FR.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Les collecteurs installés avec ce jeton rejoignent la flotte {fleet} et exécutent {config} v{version}.", "joinsFleetNoConfig": "Les collecteurs installés avec ce jeton rejoignent la flotte {fleet}, qui n'a pas encore de configuration.", "envRefNote": "Utilisez des références {ref} pour les identifiants dans les configurations, afin que les secrets restent sur l'hôte.", - "httpTransport": "Le proxy ou l'équilibreur de charge ne peut pas transporter WebSocket (utilisez le polling HTTP)", + "websocketTransport": "Utiliser WebSocket (envoie la configuration instantanément ; le proxy doit le prendre en charge)", "kubernetesNote": "Déploie un DaemonSet qui exécute le superviseur et le collecteur dans un seul conteneur. Mettez à niveau en changeant le tag de l'image.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Passerelle (StatefulSet)", diff --git a/web/src/locales/languages/it-IT.json b/web/src/locales/languages/it-IT.json index c7c2f24a59..9bd2e9dcbb 100644 --- a/web/src/locales/languages/it-IT.json +++ b/web/src/locales/languages/it-IT.json @@ -27056,7 +27056,7 @@ "joinsFleet": "I collector installati con questo token si uniscono al fleet {fleet} ed eseguono {config} v{version}.", "joinsFleetNoConfig": "I collector installati con questo token si uniscono al fleet {fleet}, che non ha ancora una configurazione.", "envRefNote": "Usa riferimenti {ref} per le credenziali nelle configurazioni, così i secret restano sull'host.", - "httpTransport": "Il proxy o il load balancer non supporta WebSocket (usa il polling HTTP)", + "websocketTransport": "Usa WebSocket (invia la configurazione all'istante; il proxy deve supportarlo)", "kubernetesNote": "Distribuisce un DaemonSet che esegue il supervisor e il collector in un unico container. Aggiorna cambiando il tag dell'immagine.", "kubernetesAgent": "Agente (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/ja-JP.json b/web/src/locales/languages/ja-JP.json index bb0c7ef334..97e20b9916 100644 --- a/web/src/locales/languages/ja-JP.json +++ b/web/src/locales/languages/ja-JP.json @@ -27056,7 +27056,7 @@ "joinsFleet": "このトークンでインストールされたコレクターはフリート {fleet} に参加し、{config} v{version} を実行します。", "joinsFleetNoConfig": "このトークンでインストールされたコレクターはフリート {fleet} に参加します。このフリートにはまだ構成がありません。", "envRefNote": "認証情報には構成内で {ref} 参照を使用すると、シークレットがホスト上に留まります。", - "httpTransport": "プロキシまたはロードバランサーが WebSocket を通せません(HTTP ポーリングを使用)", + "websocketTransport": "WebSocket を使用(設定を即時配信、プロキシの対応が必要)", "kubernetesNote": "スーパーバイザーとコレクターを 1 つのコンテナーで実行する DaemonSet をデプロイします。アップグレードはイメージタグを変更して行います。", "kubernetesAgent": "エージェント(DaemonSet)", "kubernetesGateway": "ゲートウェイ(StatefulSet)", diff --git a/web/src/locales/languages/ko-KR.json b/web/src/locales/languages/ko-KR.json index 598e8f2373..4b32c75ce2 100644 --- a/web/src/locales/languages/ko-KR.json +++ b/web/src/locales/languages/ko-KR.json @@ -27056,7 +27056,7 @@ "joinsFleet": "이 토큰으로 설치된 수집기는 플릿 {fleet}에 합류하여 {config} v{version}을(를) 실행합니다.", "joinsFleetNoConfig": "이 토큰으로 설치된 수집기는 아직 구성이 없는 플릿 {fleet}에 합류합니다.", "envRefNote": "시크릿이 호스트에 머물도록 구성의 자격 증명에는 {ref} 참조를 사용하세요.", - "httpTransport": "프록시 또는 로드 밸런서가 WebSocket을 지원하지 않습니다 (HTTP 폴링 사용)", + "websocketTransport": "WebSocket 사용 (구성을 즉시 전달, 프록시 지원 필요)", "kubernetesNote": "슈퍼바이저와 수집기를 하나의 컨테이너에서 실행하는 DaemonSet을 배포합니다. 이미지 태그를 변경하여 업그레이드하세요.", "kubernetesAgent": "에이전트(DaemonSet)", "kubernetesGateway": "게이트웨이(StatefulSet)", diff --git a/web/src/locales/languages/nl-NL.json b/web/src/locales/languages/nl-NL.json index 13a109fd59..e193ca95a1 100644 --- a/web/src/locales/languages/nl-NL.json +++ b/web/src/locales/languages/nl-NL.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Collectors die met dit token zijn geïnstalleerd, voegen zich bij fleet {fleet} en draaien {config} v{version}.", "joinsFleetNoConfig": "Collectors die met dit token zijn geïnstalleerd, voegen zich bij fleet {fleet}, die nog geen configuratie heeft.", "envRefNote": "Gebruik {ref}-verwijzingen voor inloggegevens in configuraties, zodat secrets op de host blijven.", - "httpTransport": "De proxy of load balancer kan geen WebSocket verwerken (gebruik HTTP-polling)", + "websocketTransport": "WebSocket gebruiken (stuurt configuratie direct door; de proxy moet het ondersteunen)", "kubernetesNote": "Implementeert een DaemonSet die de supervisor en de collector in één container draait. Upgrade door de imagetag te wijzigen.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/pl-PL.json b/web/src/locales/languages/pl-PL.json index 4dc977b91c..ca68831fef 100644 --- a/web/src/locales/languages/pl-PL.json +++ b/web/src/locales/languages/pl-PL.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Kolektory zainstalowane z tym tokenem dołączają do floty {fleet} i uruchamiają {config} v{version}.", "joinsFleetNoConfig": "Kolektory zainstalowane z tym tokenem dołączają do floty {fleet}, która nie ma jeszcze konfiguracji.", "envRefNote": "Używaj odwołań {ref} dla poświadczeń w konfiguracjach, aby sekrety pozostały na hoście.", - "httpTransport": "Serwer proxy lub load balancer nie obsługuje WebSocket (użyj odpytywania HTTP)", + "websocketTransport": "Użyj WebSocket (konfiguracja wysyłana natychmiast; serwer proxy musi go obsługiwać)", "kubernetesNote": "Wdraża DaemonSet, który uruchamia supervisora i kolektor w jednym kontenerze. Aktualizuj, zmieniając tag obrazu.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Brama (StatefulSet)", diff --git a/web/src/locales/languages/pt-PT.json b/web/src/locales/languages/pt-PT.json index 551554ed49..aa3830a579 100644 --- a/web/src/locales/languages/pt-PT.json +++ b/web/src/locales/languages/pt-PT.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Os coletores instalados com este token juntam-se à frota {fleet} e executam {config} v{version}.", "joinsFleetNoConfig": "Os coletores instalados com este token juntam-se à frota {fleet}, que ainda não tem configuração.", "envRefNote": "Use referências {ref} para credenciais nas configurações, para que os segredos fiquem no anfitrião.", - "httpTransport": "O proxy ou balanceador de carga não suporta WebSocket (use polling HTTP)", + "websocketTransport": "Usar WebSocket (envia a configuração de imediato; o proxy tem de o suportar)", "kubernetesNote": "Implementa um DaemonSet que executa o supervisor e o coletor num só contentor. Atualize alterando a etiqueta da imagem.", "kubernetesAgent": "Agente (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/ru-RU.json b/web/src/locales/languages/ru-RU.json index f8c9a117dd..85265bb03f 100644 --- a/web/src/locales/languages/ru-RU.json +++ b/web/src/locales/languages/ru-RU.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Коллекторы, установленные с этим токеном, присоединяются к парку {fleet} и запускают {config} v{version}.", "joinsFleetNoConfig": "Коллекторы, установленные с этим токеном, присоединяются к парку {fleet}, у которого пока нет конфигурации.", "envRefNote": "Используйте ссылки {ref} для учётных данных в конфигурациях, чтобы секреты оставались на хосте.", - "httpTransport": "Прокси или балансировщик нагрузки не поддерживает WebSocket (используйте опрос по HTTP)", + "websocketTransport": "Использовать WebSocket (конфигурация доставляется мгновенно; прокси должен его поддерживать)", "kubernetesNote": "Развёртывает DaemonSet, который запускает supervisor и коллектор в одном контейнере. Для обновления измените тег образа.", "kubernetesAgent": "Агент (DaemonSet)", "kubernetesGateway": "Шлюз (StatefulSet)", diff --git a/web/src/locales/languages/tr-TR.json b/web/src/locales/languages/tr-TR.json index fa2893fff0..0f48bfa8b6 100644 --- a/web/src/locales/languages/tr-TR.json +++ b/web/src/locales/languages/tr-TR.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Bu token ile kurulan toplayıcılar {fleet} filosuna katılır ve {config} v{version} çalıştırır.", "joinsFleetNoConfig": "Bu token ile kurulan toplayıcılar henüz yapılandırması olmayan {fleet} filosuna katılır.", "envRefNote": "Gizli bilgiler ana bilgisayarda kalsın diye yapılandırmalarda kimlik bilgileri için {ref} başvurularını kullanın.", - "httpTransport": "Proxy veya yük dengeleyici WebSocket taşıyamıyor (HTTP yoklama kullanın)", + "websocketTransport": "WebSocket kullan (yapılandırma anında iletilir; proxy desteklemelidir)", "kubernetesNote": "Supervisor'ı ve toplayıcıyı tek bir kapsayıcıda çalıştıran bir DaemonSet dağıtır. Yükseltmek için imaj etiketini değiştirin.", "kubernetesAgent": "Ajan (DaemonSet)", "kubernetesGateway": "Ağ geçidi (StatefulSet)", diff --git a/web/src/locales/languages/vi-VN.json b/web/src/locales/languages/vi-VN.json index 5c62f4920c..08f33cd16c 100644 --- a/web/src/locales/languages/vi-VN.json +++ b/web/src/locales/languages/vi-VN.json @@ -27056,7 +27056,7 @@ "joinsFleet": "Các collector cài đặt bằng token này tham gia fleet {fleet} và chạy {config} v{version}.", "joinsFleetNoConfig": "Các collector cài đặt bằng token này tham gia fleet {fleet}, hiện chưa có cấu hình.", "envRefNote": "Dùng tham chiếu {ref} cho thông tin xác thực trong cấu hình, để secret ở lại trên máy chủ.", - "httpTransport": "Proxy hoặc bộ cân bằng tải không hỗ trợ WebSocket (dùng HTTP polling)", + "websocketTransport": "Dùng WebSocket (đẩy cấu hình tức thì; proxy phải hỗ trợ)", "kubernetesNote": "Triển khai một DaemonSet chạy supervisor và collector trong một container. Nâng cấp bằng cách đổi image tag.", "kubernetesAgent": "Agent (DaemonSet)", "kubernetesGateway": "Gateway (StatefulSet)", diff --git a/web/src/locales/languages/zh-CN.json b/web/src/locales/languages/zh-CN.json index 5fefe480c8..3830c54bdf 100644 --- a/web/src/locales/languages/zh-CN.json +++ b/web/src/locales/languages/zh-CN.json @@ -27056,7 +27056,7 @@ "joinsFleet": "使用此令牌安装的 Collector 将加入机群 {fleet} 并运行 {config} v{version}。", "joinsFleetNoConfig": "使用此令牌安装的 Collector 将加入机群 {fleet},该机群尚无配置。", "envRefNote": "在配置中使用 {ref} 引用凭据,使密钥保留在主机上。", - "httpTransport": "代理或负载均衡器无法承载 WebSocket(使用 HTTP 轮询)", + "websocketTransport": "使用 WebSocket(配置即时下发,需代理支持)", "kubernetesNote": "部署一个 DaemonSet,在同一容器中运行 supervisor 和 Collector。通过更改镜像标签进行升级。", "kubernetesAgent": "Agent(DaemonSet)", "kubernetesGateway": "Gateway(StatefulSet)", diff --git a/web/src/locales/languages/zh-TW.json b/web/src/locales/languages/zh-TW.json index 26aa3e19a3..202064e180 100644 --- a/web/src/locales/languages/zh-TW.json +++ b/web/src/locales/languages/zh-TW.json @@ -27051,7 +27051,7 @@ "joinsFleet": "使用此權杖安裝的收集器會加入機群 {fleet},並執行 {config} v{version}。", "joinsFleetNoConfig": "使用此權杖安裝的收集器會加入機群 {fleet},該機群尚無組態。", "envRefNote": "組態中的憑證請使用 {ref} 參照,讓機密保留在主機上。", - "httpTransport": "代理伺服器或負載平衡器無法承載 WebSocket(改用 HTTP 輪詢)", + "websocketTransport": "使用 WebSocket(設定即時下發,需代理伺服器支援)", "kubernetesNote": "部署一個 DaemonSet,在單一容器中執行 supervisor 與收集器。變更映像檔標籤即可升級。", "kubernetesAgent": "Agent(DaemonSet)", "kubernetesGateway": "Gateway(StatefulSet)",