mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-04 00:08:55 +00:00
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>
This commit is contained in:
co-authored by
github-actions[bot]
parent
dbedc66831
commit
438f09f62c
@@ -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",
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -53,10 +53,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
: t("fleet.install.versionLatest")
|
||||
}}</OText>
|
||||
<OCheckbox
|
||||
v-if="platform !== 'kubernetes'"
|
||||
v-model="http"
|
||||
:label="t('fleet.install.httpTransport')"
|
||||
data-test="fleet-install-command-http"
|
||||
v-model="websocket"
|
||||
:label="t('fleet.install.websocketTransport')"
|
||||
data-test="fleet-install-command-websocket"
|
||||
/>
|
||||
<OCodeBlock
|
||||
:code="command"
|
||||
@@ -108,7 +107,7 @@ const settings = useFleetSettings().settings;
|
||||
const version = computed(() => settings.value?.target_collector_version || null);
|
||||
|
||||
const platform = ref<InstallPlatform>("linux");
|
||||
const http = ref(false);
|
||||
const websocket = ref(false);
|
||||
const role = ref<KubernetesRole>("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));
|
||||
|
||||
@@ -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", () => {
|
||||
|
||||
@@ -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))) \``,
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -27056,7 +27056,7 @@
|
||||
"joinsFleet": "이 토큰으로 설치된 수집기는 플릿 {fleet}에 합류하여 {config} v{version}을(를) 실행합니다.",
|
||||
"joinsFleetNoConfig": "이 토큰으로 설치된 수집기는 아직 구성이 없는 플릿 {fleet}에 합류합니다.",
|
||||
"envRefNote": "시크릿이 호스트에 머물도록 구성의 자격 증명에는 {ref} 참조를 사용하세요.",
|
||||
"httpTransport": "프록시 또는 로드 밸런서가 WebSocket을 지원하지 않습니다 (HTTP 폴링 사용)",
|
||||
"websocketTransport": "WebSocket 사용 (구성을 즉시 전달, 프록시 지원 필요)",
|
||||
"kubernetesNote": "슈퍼바이저와 수집기를 하나의 컨테이너에서 실행하는 DaemonSet을 배포합니다. 이미지 태그를 변경하여 업그레이드하세요.",
|
||||
"kubernetesAgent": "에이전트(DaemonSet)",
|
||||
"kubernetesGateway": "게이트웨이(StatefulSet)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
@@ -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)",
|
||||
|
||||
Reference in New Issue
Block a user