diff --git a/.github/workflows/api-testing.yml b/.github/workflows/api-testing.yml index 51057093cc..33637e06a2 100644 --- a/.github/workflows/api-testing.yml +++ b/.github/workflows/api-testing.yml @@ -40,38 +40,58 @@ jobs: - name: Checkout git repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - - name: Check if API code has changes and skip if none + - name: Check if API code has changes + id: check_changes run: | - if [[ -n "${{ github.event.before }}" ]] && ! git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^src/"; then - echo "API code hasn't changed, skipping unit tests" - exit 0 + if [ -n "${{ github.event.before }}" ]; then + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -qE '^src/|^Cargo\.(toml|lock)$'; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + else + # For new branches or when before is unavailable, check against base branch + if git diff --name-only origin/${{ github.base_ref || 'main' }} ${{ github.sha }} | grep -qE '^src/|^Cargo\.(toml|lock)$'; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi fi - name: Setup Rust Toolchain + if: steps.check_changes.outputs.has_changes == 'true' uses: dtolnay/rust-toolchain@master with: toolchain: nightly-2025-07-20 - name: Setup Rust Cache + if: steps.check_changes.outputs.has_changes == 'true' uses: Swatinem/rust-cache@v2 with: cache-on-failure: true + prefix-key: api-testing - name: Install Protoc + if: steps.check_changes.outputs.has_changes == 'true' uses: arduino/setup-protoc@v3 with: version: "21.12" - name: Build OpenObserve debug binary + if: steps.check_changes.outputs.has_changes == 'true' run: cargo build --features mimalloc - name: Setup Python + if: steps.check_changes.outputs.has_changes == 'true' uses: actions/setup-python@v5 with: python-version: "3.11.6" - name: Setup rye + if: steps.check_changes.outputs.has_changes == 'true' uses: eifinger/setup-rye@v4 with: enable-cache: true @@ -79,19 +99,24 @@ jobs: version: "0.27.0" - name: Start OpenObserve + if: steps.check_changes.outputs.has_changes == 'true' run: target/debug/openobserve & - name: Wait for start + if: steps.check_changes.outputs.has_changes == 'true' run: sleep 15 - name: Pin cpython + if: steps.check_changes.outputs.has_changes == 'true' run: rye pin cpython@3.11.6 working-directory: tests/api-testing/ - name: Rye sync + if: steps.check_changes.outputs.has_changes == 'true' run: rye sync working-directory: tests/api-testing/ - name: Run tests + if: steps.check_changes.outputs.has_changes == 'true' run: rye run pytest --force-sugar working-directory: tests/api-testing/ diff --git a/.github/workflows/build-pr-image.yml b/.github/workflows/build-pr-image.yml index f7ec3fc3d1..9d43a0dbef 100644 --- a/.github/workflows/build-pr-image.yml +++ b/.github/workflows/build-pr-image.yml @@ -13,13 +13,13 @@ env: AWS_REGION: us-east-1 jobs: - build_pr_image: - name: build_pr_image + build_pr_image_amd64: + name: build_pr_image_amd64 permissions: id-token: write contents: read if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.head.repo.fork == false - runs-on: ${{ github.event.pull_request.head.repo.fork == true && 'ubuntu-2204-8-cores' || 'ubicloud-standard-8' }} + runs-on: ubicloud-standard-8 steps: - name: Remove unused tools run: | @@ -44,6 +44,7 @@ jobs: - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true + prefix-key: amd64 - name: Install Protoc uses: arduino/setup-protoc@v3 with: @@ -77,9 +78,6 @@ jobs: with: registry-type: public - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -91,17 +89,17 @@ jobs: - name: Build and push uses: docker/build-push-action@v6 with: - file: deploy/build/Dockerfile.pr.amd64 + file: deploy/build/Dockerfile.pr context: . tags: | public.ecr.aws/zinclabs/openobserve-dev:${{ env.GIT_TAG }}-${{ env.GIT_HASH}}-amd64 push: true - cache-from: type=gha - cache-to: type=gha,mode=max + cache-from: type=gha,scope=amd64 + cache-to: type=gha,mode=max,scope=amd64 platforms: linux/amd64 - build_pr_image_arm: - name: build_pr_image_arm + build_pr_image_arm64: + name: build_pr_image_arm64 permissions: id-token: write contents: read @@ -123,13 +121,6 @@ jobs: fetch-depth: 0 fetch-tags: true - - name: Check if UI code has changes and skip if none - run: | - if ! git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^web/"; then - echo "UI code hasn't changed, skipping build" - exit 0 - fi - - name: Setup Rust Toolchain uses: dtolnay/rust-toolchain@master with: @@ -138,6 +129,7 @@ jobs: - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true + prefix-key: arm64 - name: Install Protoc uses: arduino/setup-protoc@v3 with: @@ -182,17 +174,18 @@ jobs: - name: Build and push uses: docker/build-push-action@v6 with: - file: deploy/build/Dockerfile.pr.amd64 + file: deploy/build/Dockerfile.pr context: . tags: | public.ecr.aws/zinclabs/openobserve-dev:${{ env.GIT_TAG }}-${{ env.GIT_HASH}}-arm64 push: true - cache-from: type=gha - cache-to: type=gha,mode=max + cache-from: type=gha,scope=arm64 + cache-to: type=gha,mode=max,scope=arm64 platforms: linux/arm64 build: - needs: [build_pr_image, build_pr_image_arm] + needs: [build_pr_image_amd64, build_pr_image_arm64] + if: ${{ needs.build_pr_image_amd64.result == 'success' && needs.build_pr_image_arm64.result == 'success' }} runs-on: ubicloud-standard-16-arm permissions: id-token: write @@ -229,3 +222,34 @@ jobs: sources: | public.ecr.aws/zinclabs/openobserve-dev:${{ env.GIT_TAG }}-${{ env.GIT_HASH}}-amd64 public.ecr.aws/zinclabs/openobserve-dev:${{ env.GIT_TAG }}-${{ env.GIT_HASH}}-arm64 + + build_pr_image_summary: + runs-on: ubuntu-latest + permissions: {} + needs: [build_pr_image_amd64, build_pr_image_arm64, build] + if: always() + steps: + - name: Check build results + run: | + if [ "${{ needs.build_pr_image_amd64.result }}" == "success" ] || [ "${{ needs.build_pr_image_amd64.result }}" == "skipped" ]; then + echo "AMD64 build passed or skipped" + else + echo "AMD64 build failed" + exit 1 + fi + + if [ "${{ needs.build_pr_image_arm64.result }}" == "success" ] || [ "${{ needs.build_pr_image_arm64.result }}" == "skipped" ]; then + echo "ARM64 build passed or skipped" + else + echo "ARM64 build failed" + exit 1 + fi + + if [ "${{ needs.build.result }}" == "success" ] || [ "${{ needs.build.result }}" == "skipped" ]; then + echo "Manifest build passed or skipped" + else + echo "Manifest build failed" + exit 1 + fi + + echo "All builds completed successfully" diff --git a/.github/workflows/js-license-checker.yml b/.github/workflows/js-license-checker.yml index 2b02bb49fe..c320e1cf47 100644 --- a/.github/workflows/js-license-checker.yml +++ b/.github/workflows/js-license-checker.yml @@ -23,34 +23,49 @@ jobs: steps: - name: Checkout latest code uses: actions/checkout@v5 + with: + fetch-depth: 0 - - name: Check if UI code has changes and skip if none + - name: Check if UI code has changes + id: check_changes run: | - if ! git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^web/"; then - echo "UI code hasn't changed, skipping license check" - exit 0 + if [ -n "${{ github.event.before }}" ]; then + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^web/"; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + else + # For new branches or when before is unavailable, check against base branch + if git diff --name-only origin/${{ github.base_ref || 'main' }} ${{ github.sha }} | grep -q "^web/"; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + fi + + - name: Check if package files changed + id: check_package_changes + if: steps.check_changes.outputs.has_changes == 'true' + run: | + results=$(git show --name-only HEAD | grep "package.*.json" || true) + if [ -z "$results" ]; then + echo "has_package_changes=false" >> $GITHUB_OUTPUT + else + echo "has_package_changes=true" >> $GITHUB_OUTPUT fi - uses: actions/setup-node@v5 + if: steps.check_changes.outputs.has_changes == 'true' && steps.check_package_changes.outputs.has_package_changes == 'true' with: - node-version: 20 - - name: Build frontend code - run: | - results=$(git show --name-only HEAD | grep "package.*.json") - if [ -z "$result" ]; then - echo "No package.json or package-lock.json files changed. Skipping license check." - exit 0 - fi - cd web && npm install && npm run build + node-version: 22 + + - name: Install dependencies + if: steps.check_changes.outputs.has_changes == 'true' && steps.check_package_changes.outputs.has_package_changes == 'true' + run: cd web && npm install + - name: Check licenses + if: steps.check_changes.outputs.has_changes == 'true' && steps.check_package_changes.outputs.has_package_changes == 'true' run: | - results=$(git show --name-only HEAD | grep "package.*.json") - if [ -z "$result" ]; then - echo "No package.json or package-lock.json files changed. Skipping license check." - exit 0 - fi npm install -g license-checker - cd web && npx -q --yes license-checker --production --json --onlyAllow="MIT;ISC;Apache-2.0;BSD;MPL-2.0;Unlicense;CC-BY-4.0;Artistic-2.0;UNLICENSED" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GITHUB_CONTEXT: ${{ toJson(github) }} + cd web && license-checker --production --json --onlyAllow="MIT;ISC;Apache-2.0;BSD;MPL-2.0;Unlicense;CC-BY-4.0;Artistic-2.0;UNLICENSED" diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 5d7c3103db..c370e194e9 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -8,8 +8,6 @@ on: - "**.md" - "**.yml" - "**.yaml" - # paths: - # - "web/**" pull_request: branches: - "*" @@ -17,8 +15,6 @@ on: - "**.md" - "**.yml" - "**.yaml" - # paths: - # - "web/**" env: COLUMNS: 150 @@ -62,6 +58,8 @@ jobs: - name: Clone the current repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - name: Setup Rust Toolchain uses: dtolnay/rust-toolchain@master @@ -71,6 +69,7 @@ jobs: - uses: Swatinem/rust-cache@v2 with: cache-on-failure: true + prefix-key: playwright - name: Install Protoc uses: arduino/setup-protoc@v3 with: @@ -92,7 +91,7 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: debug-binary + name: release-binary path: target/x86_64-unknown-linux-gnu/release/openobserve retention-days: 1 @@ -208,15 +207,17 @@ jobs: steps: - name: Clone the current repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - name: Download artifacts uses: actions/download-artifact@v5 with: - name: debug-binary - path: debug-binary + name: release-binary + path: release-binary - name: Start OpenObserve - run: chmod +x ./debug-binary/openobserve && ./debug-binary/openobserve > o2.log 2>&1 & + run: chmod +x ./release-binary/openobserve && ./release-binary/openobserve > o2.log 2>&1 & - name: Wait for start run: sleep 15 @@ -229,7 +230,7 @@ jobs: - uses: actions/setup-node@v5 with: - node-version: lts/* + node-version: 22 - name: Install dependencies and run ui-tests run: | @@ -316,11 +317,13 @@ jobs: name: Generate Coverage Report needs: [build_binary, ui_integration_tests] runs-on: ubicloud-standard-8 - if: always() + if: success() || failure() steps: - name: Clone the current repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - name: Download Playwright Coverage Data uses: actions/download-artifact@v5 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 740025230d..984e227359 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,27 +12,27 @@ jobs: matrix: include: - arch: x86_64-unknown-linux-gnu - os: ubuntu-2204-8-cores + os: ubicloud-standard-8 features: "--features mimalloc" file_name: openobserve-${{ github.ref_name }}-linux-amd64 file_ext: .tar.gz - arch: x86_64-unknown-linux-gnu - os: ubuntu-2204-8-cores + os: ubicloud-standard-8 features: "--features mimalloc" file_name: openobserve-${{ github.ref_name }}-linux-amd64-simd file_ext: .tar.gz - arch: x86_64-unknown-linux-musl - os: ubuntu-2204-8-cores + os: ubicloud-standard-8 features: "--features mimalloc" file_name: openobserve-${{ github.ref_name }}-linux-amd64-musl file_ext: .tar.gz # - arch: aarch64-unknown-linux-musl - # os: ubuntu-2204-8-cores + # os: ubicloud-standard-8 # features: "--features mimalloc" # file_name: openobserve-${{ github.ref_name }}-linux-arm64-musl # file_ext: .tar.gz - arch: aarch64-unknown-linux-gnu - os: ubuntu-2204-8-cores + os: ubicloud-standard-8-arm features: "--features mimalloc" file_name: openobserve-${{ github.ref_name }}-linux-arm64 file_ext: .tar.gz @@ -55,23 +55,13 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v5 - - - name: Cache cargo assets - id: cache - uses: actions/cache@v4 with: - path: | - ~/.cargo/bin/ - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ matrix.arch }}-build-cargo-${{ hashFiles('**/Cargo.lock') }} + fetch-depth: 0 - name: Install Node uses: actions/setup-node@v5 with: - node-version: 22.x + node-version: 22 cache: "npm" cache-dependency-path: web/package-lock.json - name: Build UI @@ -82,35 +72,18 @@ jobs: npm install npm run build - - name: Install Protoc for linux - if: contains(matrix.arch, 'linux') - run: | # Make sure the protoc is >= 3.15 - wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-linux-x86_64.zip - unzip protoc-21.12-linux-x86_64.zip -d protoc - sudo cp protoc/bin/protoc /usr/local/bin/ - sudo cp -r protoc/include/google /usr/local/include/ + - name: Install Protoc + uses: arduino/setup-protoc@v3 + with: + version: "21.12" - - name: Install Protoc for windows - if: contains(matrix.arch, 'windows') - shell: bash - run: | - curl -L -o protoc-21.12-win64.zip https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-win64.zip - unzip protoc-21.12-win64.zip -d protoc - cp protoc/bin/protoc.exe C:/windows/system32/protoc.exe - cp -r protoc/include/google C:/windows/system32/ - - - name: Install Protoc for macos - if: contains(matrix.arch, 'darwin') - run: | - brew install protobuf - - - name: Install dependencies for linux + - name: Install dependencies for linux-gnu if: contains(matrix.arch, 'linux-gnu') run: | sudo apt-get -y update sudo apt-get -y install libssl-dev pkg-config g++-aarch64-linux-gnu gcc-aarch64-linux-gnu - - name: Install dependencies for linux + - name: Install dependencies for linux-musl if: contains(matrix.arch, 'linux-musl') run: | sudo apt-get -y update @@ -118,11 +91,15 @@ jobs: sudo ln -s "/usr/bin/g++" "/usr/bin/musl-g++" - name: Install rust toolchain - uses: actions-rs/toolchain@v1 + uses: dtolnay/rust-toolchain@master with: toolchain: ${{ env.RUST_TOOLCHAIN }} - target: ${{ matrix.arch }} - override: true + targets: ${{ matrix.arch }} + + - uses: Swatinem/rust-cache@v2 + with: + cache-on-failure: true + prefix-key: release-${{ matrix.arch }} - name: Output package versions run: protoc --version ; cargo version ; rustc --version ; gcc --version ; g++ --version @@ -130,11 +107,11 @@ jobs: - name: Print rustc cfg run: rustc -C target-cpu=native --print cfg - - name: Run cargo build + - name: Run cargo build (standard) if: contains(matrix.file_name, '-simd') == false run: cargo build ${{ matrix.features }} --profile release-prod --target ${{ matrix.arch }} - - name: Run cargo build + - name: Run cargo build (SIMD) if: contains(matrix.file_name, '-simd') run: RUSTFLAGS='-C target-feature=+aes,+avx,+avx2,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+avx512f,+avx512cd,+avx512bw,+avx512dq,+avx512vl' cargo build ${{ matrix.features }} --profile release-prod --target ${{ matrix.arch }} @@ -177,6 +154,8 @@ jobs: steps: - name: Checkout sources uses: actions/checkout@v5 + with: + fetch-depth: 0 - name: Download artifacts uses: actions/download-artifact@v5 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index a9ae9f050c..f3f79a64aa 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -21,10 +21,14 @@ env: ZO_RESULT_CACHE_ENABLED: true jobs: - unit_tests: + backend_unit_tests: runs-on: labels: ubicloud-standard-8 + permissions: + contents: read + # Note: Services always start regardless of conditional logic in steps. + # GitHub Actions does not support conditional services. services: postgres: image: postgres:17.5-alpine3.22 @@ -45,43 +49,65 @@ jobs: steps: - name: Clone the current repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - - name: Check if API code has changes and skip if none + - name: Check if API code has changes + id: check_changes run: | - if [[ -n "${{ github.event.before }}" ]] && ! git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^src/"; then - echo "API code hasn't changed, skipping unit tests" - exit 0 + if [ -n "${{ github.event.before }}" ]; then + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -qE '^src/|^Cargo\.(toml|lock)$'; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + else + # For new branches or when before is unavailable, check against base branch + if git diff --name-only origin/${{ github.base_ref || 'main' }} ${{ github.sha }} | grep -qE '^src/|^Cargo\.(toml|lock)$'; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi fi - name: Setup Rust Toolchain + if: steps.check_changes.outputs.has_changes == 'true' uses: dtolnay/rust-toolchain@master with: toolchain: nightly-2025-07-20 targets: x86_64-unknown-linux-gnu - uses: taiki-e/install-action@v2 + if: steps.check_changes.outputs.has_changes == 'true' with: tool: nextest - uses: Swatinem/rust-cache@v2 + if: steps.check_changes.outputs.has_changes == 'true' with: cache-on-failure: true - name: Install Protoc + if: steps.check_changes.outputs.has_changes == 'true' uses: arduino/setup-protoc@v3 with: version: "21.12" - name: Simulate building frontend code + if: steps.check_changes.outputs.has_changes == 'true' run: mkdir -p web/dist && touch web/dist/index.html - name: Print rustc cfg + if: steps.check_changes.outputs.has_changes == 'true' run: rustc -C target-cpu=native --print cfg - name: Check code formatting + if: steps.check_changes.outputs.has_changes == 'true' run: cargo fmt --all -- --check - name: Setup cargo config + if: steps.check_changes.outputs.has_changes == 'true' run: cargo --config net.git-fetch-with-cli=true clippy -- -D warnings - name: Run unit tests + if: steps.check_changes.outputs.has_changes == 'true' run: | # required for all dbs export ZO_INTERNAL_GRPC_TOKEN=fake @@ -98,7 +124,7 @@ jobs: rm -rf ./json rm -rf ./src/infra/data - # Run wih sqlite + # Run with sqlite echo "Running with sqlite" export ZO_META_STORE=sqlite export ZO_META_POSTGRES_DSN="" @@ -119,30 +145,73 @@ jobs: ./coverage.sh check ui_unit_tests: - runs-on: ubuntu-latest - + runs-on: + labels: ubicloud-standard-8 + permissions: + contents: read + steps: - name: Clone the current repo uses: actions/checkout@v5 + with: + fetch-depth: 0 - - name: Check if frontend code has changes and skip if none + - name: Check if frontend code has changes + id: check_changes run: | - if [[ -n "${{ github.event.before }}" ]] && ! git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^web/"; then - echo "Frontend code hasn't changed, skipping frontend tests" - exit 0 + if [ -n "${{ github.event.before }}" ]; then + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q "^web/"; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi + else + # For new branches or when before is unavailable, check against base branch + if git diff --name-only origin/${{ github.base_ref || 'main' }} ${{ github.sha }} | grep -q "^web/"; then + echo "has_changes=true" >> $GITHUB_OUTPUT + else + echo "has_changes=false" >> $GITHUB_OUTPUT + fi fi - name: Setup Node.js + if: steps.check_changes.outputs.has_changes == 'true' uses: actions/setup-node@v5 with: - node-version: '18' + node-version: '22' cache: 'npm' cache-dependency-path: web/package-lock.json - name: Install dependencies + if: steps.check_changes.outputs.has_changes == 'true' working-directory: web run: npm ci - name: Run frontend unit tests with coverage and check thresholds + if: steps.check_changes.outputs.has_changes == 'true' working-directory: web run: ./coverage.sh check + + unit_tests_summary: + runs-on: ubuntu-latest + permissions: {} + needs: [backend_unit_tests, ui_unit_tests] + if: always() + steps: + - name: Check test results + run: | + if [ "${{ needs.backend_unit_tests.result }}" == "success" ] || [ "${{ needs.backend_unit_tests.result }}" == "skipped" ]; then + echo "Backend tests passed or skipped" + else + echo "Backend tests failed" + exit 1 + fi + + if [ "${{ needs.ui_unit_tests.result }}" == "success" ] || [ "${{ needs.ui_unit_tests.result }}" == "skipped" ]; then + echo "UI tests passed or skipped" + else + echo "UI tests failed" + exit 1 + fi + + echo "All tests completed successfully" diff --git a/deploy/build/Dockerfile.pr.amd64 b/deploy/build/Dockerfile.pr similarity index 100% rename from deploy/build/Dockerfile.pr.amd64 rename to deploy/build/Dockerfile.pr diff --git a/web/src/components/ingestion/recommended/KubernetesConfig.vue b/web/src/components/ingestion/recommended/KubernetesConfig.vue index 93c383fcb0..02ad0d7391 100644 --- a/web/src/components/ingestion/recommended/KubernetesConfig.vue +++ b/web/src/components/ingestion/recommended/KubernetesConfig.vue @@ -184,7 +184,7 @@ const accessKey = computed(() => { const collectorCmd = computed(() => { return `helm --namespace openobserve-collector \\ - install o2c openobserve/openobserve-collector \\ + upgrade --install o2c openobserve/openobserve-collector \\ --set k8sCluster=cluster1 \\ --set exporters."otlphttp/openobserve".endpoint=${endpoint.value.url}/api/${props.currOrgIdentifier} \\ --set exporters."otlphttp/openobserve".headers.Authorization="Basic [BASIC_PASSCODE]" \\ @@ -194,7 +194,7 @@ const collectorCmd = computed(() => { const collectorCmdThisCluster = computed(() => { return `helm --namespace openobserve-collector \\ - install o2c openobserve/openobserve-collector \\ + upgrade --install o2c openobserve/openobserve-collector \\ --set k8sCluster=cluster1 \\ --set exporters."otlphttp/openobserve".endpoint=http://o2-openobserve-router.openobserve.svc.cluster.local:5080/api/${props.currOrgIdentifier} \\ --set exporters."otlphttp/openobserve".headers.Authorization="Basic [BASIC_PASSCODE]" \\