From 851f4eb3a7859ee4f6f29b5ddc963b9873d4ee21 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Thu, 30 Apr 2026 21:01:42 +0200 Subject: [PATCH 01/11] waiting for index management section loading --- e2e-tests/cypress/e2e/Tenancy.cy.ts | 2 ++ e2e-tests/cypress/support/page-objects/IndexManagement.ts | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/e2e-tests/cypress/e2e/Tenancy.cy.ts b/e2e-tests/cypress/e2e/Tenancy.cy.ts index 632f01f..8f84994 100644 --- a/e2e-tests/cypress/e2e/Tenancy.cy.ts +++ b/e2e-tests/cypress/e2e/Tenancy.cy.ts @@ -12,6 +12,7 @@ import { Dashboard } from '../support/page-objects/Dashboard'; import { TENANCY_QUERY_STRING_KEY } from '../support/types'; import { Spaces } from '../support/page-objects/Spaces'; import { kbnApiAdvancedClient } from '../support/helpers/KbnApiAdvancedClient'; +import { IndexManagement } from '../support/page-objects/IndexManagement'; describe('Tenancy', () => { describe('should run tests', () => { @@ -23,6 +24,7 @@ describe('Tenancy', () => { const backBrowserHistory = ( endUrl = `/s/default/app/management/data/index_management/indices?${TENANCY_QUERY_STRING_KEY}=*` ) => { + IndexManagement.waitingForSectionLoadingFinish(); RorMenu.changeTenancy('administrators', endUrl, ''); cy.go('back'); }; diff --git a/e2e-tests/cypress/support/page-objects/IndexManagement.ts b/e2e-tests/cypress/support/page-objects/IndexManagement.ts index 854fe56..0934c3e 100644 --- a/e2e-tests/cypress/support/page-objects/IndexManagement.ts +++ b/e2e-tests/cypress/support/page-objects/IndexManagement.ts @@ -106,4 +106,11 @@ export class IndexManagement { cy.contains('[data-test-subj="title"]', "You don't have any data streams yet"); } + + static waitingForSectionLoadingFinish() { + cy.log('Waiting for section loading'); + + cy.get('[data-test-subj="sectionLoading"]', { timeout: 30000 }).should('be.visible'); + cy.get('[data-test-subj="sectionLoading"]', { timeout: 30000 }).should('not.be.visible'); + } } From 9d20aacccce8e2f51d919810c0ded6cf59e5f3d3 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Fri, 1 May 2026 06:07:12 +0200 Subject: [PATCH 02/11] another fix --- e2e-tests/cypress/e2e/Tenancy.cy.ts | 5 ++--- e2e-tests/cypress/support/page-objects/IndexManagement.ts | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/e2e-tests/cypress/e2e/Tenancy.cy.ts b/e2e-tests/cypress/e2e/Tenancy.cy.ts index 8f84994..68b3f42 100644 --- a/e2e-tests/cypress/e2e/Tenancy.cy.ts +++ b/e2e-tests/cypress/e2e/Tenancy.cy.ts @@ -24,7 +24,6 @@ describe('Tenancy', () => { const backBrowserHistory = ( endUrl = `/s/default/app/management/data/index_management/indices?${TENANCY_QUERY_STRING_KEY}=*` ) => { - IndexManagement.waitingForSectionLoadingFinish(); RorMenu.changeTenancy('administrators', endUrl, ''); cy.go('back'); }; @@ -151,7 +150,7 @@ function runTests({ }); }); - it('should correctly switch Kibana space', () => { + it.only('should correctly switch Kibana space', () => { const newSpace = 'test-space'; const urlWithTenancyId = `/s/default/app/management/data/index_management/indices?${TENANCY_QUERY_STRING_KEY}=${Tenancy.encryptedTenancyWithTemplateGroup}`; @@ -161,7 +160,7 @@ function runTests({ finishUrl: urlWithTenancyId, spacePrefix: '' }); - + IndexManagement.waitingForSectionLoadingFinish(); callbackAfterLogin?.(); Spaces.createNewSpace(newSpace); diff --git a/e2e-tests/cypress/support/page-objects/IndexManagement.ts b/e2e-tests/cypress/support/page-objects/IndexManagement.ts index 0934c3e..83390ac 100644 --- a/e2e-tests/cypress/support/page-objects/IndexManagement.ts +++ b/e2e-tests/cypress/support/page-objects/IndexManagement.ts @@ -109,8 +109,6 @@ export class IndexManagement { static waitingForSectionLoadingFinish() { cy.log('Waiting for section loading'); - - cy.get('[data-test-subj="sectionLoading"]', { timeout: 30000 }).should('be.visible'); - cy.get('[data-test-subj="sectionLoading"]', { timeout: 30000 }).should('not.be.visible'); + cy.get('[data-test-subj="sectionLoading"]', { timeout: 30000 }).should('not.exist'); } } From 4421f3330776177c4697f9da39733c51395935b9 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Fri, 1 May 2026 13:53:38 +0200 Subject: [PATCH 03/11] remove only --- e2e-tests/cypress/e2e/Index-management.cy.ts | 2 +- e2e-tests/cypress/e2e/Tenancy.cy.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/e2e-tests/cypress/e2e/Index-management.cy.ts b/e2e-tests/cypress/e2e/Index-management.cy.ts index 414758d..e1ffc76 100644 --- a/e2e-tests/cypress/e2e/Index-management.cy.ts +++ b/e2e-tests/cypress/e2e/Index-management.cy.ts @@ -73,7 +73,7 @@ describe('Index management', () => { IndexManagement.verifyIndexExists(testIndexName); }); - it.only('should verify empty data streams page', () => { + it('should verify empty data streams page', () => { const userCredentials = 'user2:dev'; const [username, password] = userCredentials.split(':'); Login.initialization({ credentials: { username, password } }); diff --git a/e2e-tests/cypress/e2e/Tenancy.cy.ts b/e2e-tests/cypress/e2e/Tenancy.cy.ts index 68b3f42..5ca4ae2 100644 --- a/e2e-tests/cypress/e2e/Tenancy.cy.ts +++ b/e2e-tests/cypress/e2e/Tenancy.cy.ts @@ -150,7 +150,7 @@ function runTests({ }); }); - it.only('should correctly switch Kibana space', () => { + it('should correctly switch Kibana space', () => { const newSpace = 'test-space'; const urlWithTenancyId = `/s/default/app/management/data/index_management/indices?${TENANCY_QUERY_STRING_KEY}=${Tenancy.encryptedTenancyWithTemplateGroup}`; From 1b1a6dab002dd9141ca7d3b1946b7204c5a32718 Mon Sep 17 00:00:00 2001 From: Dawid Poliszak Date: Wed, 6 May 2026 13:39:04 +0200 Subject: [PATCH 04/11] revert it.only --- e2e-tests/cypress/e2e/Index-management.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e-tests/cypress/e2e/Index-management.cy.ts b/e2e-tests/cypress/e2e/Index-management.cy.ts index e1ffc76..414758d 100644 --- a/e2e-tests/cypress/e2e/Index-management.cy.ts +++ b/e2e-tests/cypress/e2e/Index-management.cy.ts @@ -73,7 +73,7 @@ describe('Index management', () => { IndexManagement.verifyIndexExists(testIndexName); }); - it('should verify empty data streams page', () => { + it.only('should verify empty data streams page', () => { const userCredentials = 'user2:dev'; const [username, password] = userCredentials.split(':'); Login.initialization({ credentials: { username, password } }); From 5b908d0f86ea1db6e4c8715ef2c61437c0a84ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Thu, 7 May 2026 10:05:22 +0200 Subject: [PATCH 05/11] connectivity monitor --- .github/es-connectivity-monitor/action.yml | 86 ++++++++++++++++++++++ .github/workflows/trigger-e2e-tests.yml | 27 +++++++ 2 files changed, 113 insertions(+) create mode 100644 .github/es-connectivity-monitor/action.yml diff --git a/.github/es-connectivity-monitor/action.yml b/.github/es-connectivity-monitor/action.yml new file mode 100644 index 0000000..97e4aba --- /dev/null +++ b/.github/es-connectivity-monitor/action.yml @@ -0,0 +1,86 @@ +name: 'ES connectivity monitor' +description: 'Start or stop a background ES connectivity monitor that probes ES every 1s from host and from KBN container/pod' + +inputs: + action: + description: '"start" or "stop"' + required: true + es_url: + description: 'ES URL to probe from host (default: https://localhost:9200)' + required: false + default: 'https://localhost:9200' + es_user: + description: 'ES username' + required: false + default: 'kibana' + es_password: + description: 'ES password' + required: false + default: 'kibana' + +runs: + using: 'composite' + steps: + - name: Start monitor + if: inputs.action == 'start' + shell: bash + run: | + ( + while true; do + echo "===== $(date -Is) =====" + + echo "== ES connectivity from host ==" + curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ + "${{ inputs.es_url }}/_cluster/health?pretty" \ + -o /tmp/es-health.json -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true + cat /tmp/es-health.json 2>/dev/null || true + + echo + echo "== ES connectivity from KBN Docker container ==" + KBN_CONTAINER=$(docker ps --filter "name=kbn" --format "{{.Names}}" 2>/dev/null | head -1) + if [ -n "$KBN_CONTAINER" ]; then + echo "Container: $KBN_CONTAINER" + docker exec "$KBN_CONTAINER" \ + curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ + https://es-ror:9200/_cluster/health?pretty \ + -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true + else + echo "(no kbn Docker container found)" + fi + + echo + echo "== ES connectivity from KBN Kubernetes pod ==" + KBN_POD=$(kubectl get pods -A -l "kibana.k8s.elastic.co/name" \ + --field-selector=status.phase=Running \ + -o jsonpath='{range .items[*]}{.metadata.namespace}/{.metadata.name}{"\n"}{end}' 2>/dev/null | head -1) + if [ -n "$KBN_POD" ]; then + KBN_NS="${KBN_POD%%/*}" + KBN_NAME="${KBN_POD##*/}" + echo "Pod: $KBN_POD" + ES_SVC=$(kubectl get svc -n "$KBN_NS" -l "elasticsearch.k8s.elastic.co/cluster-name" \ + -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || true) + if [ -n "$ES_SVC" ]; then + kubectl exec -n "$KBN_NS" "$KBN_NAME" -- \ + curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ + "https://${ES_SVC}:9200/_cluster/health?pretty" \ + -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true + else + echo "(could not resolve ES service name)" + fi + else + echo "(no running kbn Kubernetes pod found)" + fi + + echo + sleep 1 + done + ) >> /tmp/es-connectivity-monitor.log 2>&1 & + echo $! > /tmp/es-connectivity-monitor.pid + + - name: Stop monitor and dump log + if: inputs.action == 'stop' + shell: bash + run: | + kill "$(cat /tmp/es-connectivity-monitor.pid)" 2>/dev/null || true + echo "=== ES connectivity monitor log ===" + cat /tmp/es-connectivity-monitor.log || true diff --git a/.github/workflows/trigger-e2e-tests.yml b/.github/workflows/trigger-e2e-tests.yml index 7e646a6..8bf4962 100644 --- a/.github/workflows/trigger-e2e-tests.yml +++ b/.github/workflows/trigger-e2e-tests.yml @@ -36,6 +36,10 @@ jobs: uses: ./.github/docker-memory-monitor with: action: start + - name: Start ES connectivity monitor + uses: ./.github/es-connectivity-monitor + with: + action: start # Retry mechanism to handle transient infrastructure issues: # - npm error 429 Too Many Requests from registry.npmjs.org # - Docker image pull failures (e.g., beshultd/kibana-readonlyrest:*-ror-latest not found) @@ -57,6 +61,11 @@ jobs: uses: ./.github/docker-memory-monitor with: action: stop + - name: Stop ES connectivity monitor + if: always() + uses: ./.github/es-connectivity-monitor + with: + action: stop - name: S3 Upload Videos & show logs if: failure() uses: ./.github/upload-videos @@ -90,6 +99,10 @@ jobs: uses: ./.github/docker-memory-monitor with: action: start + - name: Start ES connectivity monitor + uses: ./.github/es-connectivity-monitor + with: + action: start # Retry mechanism to handle transient infrastructure issues: # - npm error 429 Too Many Requests from registry.npmjs.org # - Docker image pull failures (e.g., beshultd/kibana-readonlyrest:*-ror-latest not found) @@ -109,6 +122,11 @@ jobs: uses: ./.github/docker-memory-monitor with: action: stop + - name: Stop ES connectivity monitor + if: always() + uses: ./.github/es-connectivity-monitor + with: + action: stop # ========================================== # E2E TESTS - DEVELOP BRANCH @@ -140,6 +158,10 @@ jobs: uses: ./.github/docker-memory-monitor with: action: start + - name: Start ES connectivity monitor + uses: ./.github/es-connectivity-monitor + with: + action: start # Retry mechanism to handle transient infrastructure issues: # - npm error 429 Too Many Requests from registry.npmjs.org # - Docker image pull failures (e.g., beshultd/kibana-readonlyrest:*-ror-latest not found) @@ -161,6 +183,11 @@ jobs: uses: ./.github/docker-memory-monitor with: action: stop + - name: Stop ES connectivity monitor + if: always() + uses: ./.github/es-connectivity-monitor + with: + action: stop - name: S3 Upload Videos & show logs if: failure() uses: ./.github/upload-videos From da7afda68f20f6a833e38d3a209a3cfa74255547 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Fri, 8 May 2026 09:11:44 +0200 Subject: [PATCH 06/11] connectivity monitor --- .github/es-connectivity-monitor/action.yml | 42 ++++++++++++---------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/.github/es-connectivity-monitor/action.yml b/.github/es-connectivity-monitor/action.yml index 97e4aba..5032085 100644 --- a/.github/es-connectivity-monitor/action.yml +++ b/.github/es-connectivity-monitor/action.yml @@ -1,5 +1,5 @@ name: 'ES connectivity monitor' -description: 'Start or stop a background ES connectivity monitor that probes ES every 1s from host and from KBN container/pod' +description: 'Start or stop a background ES connectivity monitor that probes ES every 5s from host and from KBN container/pod' inputs: action: @@ -26,53 +26,59 @@ runs: shell: bash run: | ( + set +e + set +o pipefail while true; do echo "===== $(date -Is) =====" - echo "== ES connectivity from host ==" + echo "== ES health from host ==" curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ "${{ inputs.es_url }}/_cluster/health?pretty" \ - -o /tmp/es-health.json -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true - cat /tmp/es-health.json 2>/dev/null || true + -w $'\nHTTP %{http_code} in %{time_total}s\n' 2>&1 || echo "(curl failed)" echo - echo "== ES connectivity from KBN Docker container ==" + echo "== KBN Docker container ==" KBN_CONTAINER=$(docker ps --filter "name=kbn" --format "{{.Names}}" 2>/dev/null | head -1) if [ -n "$KBN_CONTAINER" ]; then - echo "Container: $KBN_CONTAINER" - docker exec "$KBN_CONTAINER" \ - curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ - https://es-ror:9200/_cluster/health?pretty \ - -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true + STATUS=$(docker inspect --format '{{.State.Status}}' "$KBN_CONTAINER" 2>/dev/null) + echo "Container: $KBN_CONTAINER ($STATUS)" + # TCP connectivity test using bash built-in /dev/tcp (no curl needed in container) + docker exec "$KBN_CONTAINER" bash -c \ + 'timeout 2 bash -c "echo > /dev/tcp/es-ror/9200" 2>/dev/null \ + && echo "TCP to es-ror:9200: OK" \ + || echo "TCP to es-ror:9200: FAIL"' 2>&1 || echo "(exec failed)" + echo "-- last KBN log lines --" + docker logs --tail 5 "$KBN_CONTAINER" 2>&1 || true else echo "(no kbn Docker container found)" fi echo - echo "== ES connectivity from KBN Kubernetes pod ==" + echo "== KBN Kubernetes pod ==" KBN_POD=$(kubectl get pods -A -l "kibana.k8s.elastic.co/name" \ --field-selector=status.phase=Running \ - -o jsonpath='{range .items[*]}{.metadata.namespace}/{.metadata.name}{"\n"}{end}' 2>/dev/null | head -1) + -o jsonpath='{range .items[*]}{.metadata.namespace}/{.metadata.name}{"\n"}{end}' \ + 2>/dev/null | head -1) if [ -n "$KBN_POD" ]; then KBN_NS="${KBN_POD%%/*}" KBN_NAME="${KBN_POD##*/}" echo "Pod: $KBN_POD" ES_SVC=$(kubectl get svc -n "$KBN_NS" -l "elasticsearch.k8s.elastic.co/cluster-name" \ - -o jsonpath='{.items[0].metadata.name}' 2>/dev/null || true) + -o jsonpath='{.items[0].metadata.name}' 2>/dev/null) if [ -n "$ES_SVC" ]; then kubectl exec -n "$KBN_NS" "$KBN_NAME" -- \ - curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ - "https://${ES_SVC}:9200/_cluster/health?pretty" \ - -w "HTTP %{http_code} in %{time_total}s\n" 2>&1 || true + bash -c "timeout 2 bash -c 'echo > /dev/tcp/${ES_SVC}/9200' 2>/dev/null \ + && echo 'TCP to ${ES_SVC}:9200: OK' \ + || echo 'TCP to ${ES_SVC}:9200: FAIL'" 2>&1 || echo "(exec failed)" else echo "(could not resolve ES service name)" fi else - echo "(no running kbn Kubernetes pod found)" + echo "(no running kbn pod found)" fi echo - sleep 1 + sleep 5 done ) >> /tmp/es-connectivity-monitor.log 2>&1 & echo $! > /tmp/es-connectivity-monitor.pid From 78c0ddb4016236aabed903d6a57afc190e25668e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Fri, 8 May 2026 13:14:44 +0200 Subject: [PATCH 07/11] connectivity monitor --- .github/es-connectivity-monitor/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/es-connectivity-monitor/action.yml b/.github/es-connectivity-monitor/action.yml index 5032085..2e647b9 100644 --- a/.github/es-connectivity-monitor/action.yml +++ b/.github/es-connectivity-monitor/action.yml @@ -1,5 +1,5 @@ name: 'ES connectivity monitor' -description: 'Start or stop a background ES connectivity monitor that probes ES every 5s from host and from KBN container/pod' +description: 'Start or stop a background ES connectivity monitor that probes ES every 1s from host and from KBN container/pod' inputs: action: @@ -34,7 +34,7 @@ runs: echo "== ES health from host ==" curl -sk -u "${{ inputs.es_user }}:${{ inputs.es_password }}" \ "${{ inputs.es_url }}/_cluster/health?pretty" \ - -w $'\nHTTP %{http_code} in %{time_total}s\n' 2>&1 || echo "(curl failed)" + -w $'\nHTTP %{http_code} in %{time_total}s\n' 2>&1 || true echo echo "== KBN Docker container ==" @@ -78,7 +78,7 @@ runs: fi echo - sleep 5 + sleep 1 done ) >> /tmp/es-connectivity-monitor.log 2>&1 & echo $! > /tmp/es-connectivity-monitor.pid From 33ef1bfba1468272803b2eef761db0e7ab1e4029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Fri, 15 May 2026 13:52:39 +0200 Subject: [PATCH 08/11] debug level --- .../eck-ror/kind-cluster/ror/base/log4j2.properties.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environments/eck-ror/kind-cluster/ror/base/log4j2.properties.yml b/environments/eck-ror/kind-cluster/ror/base/log4j2.properties.yml index fb5aef6..7e2cd4f 100644 --- a/environments/eck-ror/kind-cluster/ror/base/log4j2.properties.yml +++ b/environments/eck-ror/kind-cluster/ror/base/log4j2.properties.yml @@ -71,7 +71,7 @@ data: appender.header_warning.name = header_warning logger.ror.name=tech.beshu.ror.accesscontrol - logger.ror.level=info + logger.ror.level=debug kind: ConfigMap metadata: name: config-log4j2.properties.yml \ No newline at end of file From 12b52d5ded8c59f97185fbc92c85be9295d57c08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Fri, 15 May 2026 14:45:29 +0200 Subject: [PATCH 09/11] no error verobsity level for kbn users --- .../eck-ror/kind-cluster/ror/base/ror-initial-config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/environments/eck-ror/kind-cluster/ror/base/ror-initial-config.yml b/environments/eck-ror/kind-cluster/ror/base/ror-initial-config.yml index f9e8986..ade6bad 100644 --- a/environments/eck-ror/kind-cluster/ror/base/ror-initial-config.yml +++ b/environments/eck-ror/kind-cluster/ror/base/ror-initial-config.yml @@ -31,13 +31,11 @@ data: access_control_rules: - name: "Kibana service account - token" - verbosity: error token_authentication: token: "Bearer ${KIBANA_SERVICE_ACCOUNT_TOKEN}" username: service_account - name: "Kibana service account - user/pass" - verbosity: error auth_key: kibana:kibana - name: "PROBE" From f541564762262ebfde1a42859e7bcf55ad951be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Sat, 16 May 2026 11:44:03 +0200 Subject: [PATCH 10/11] test ROR KBN 1.70.0-pre7 --- .github/workflows/trigger-e2e-tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/trigger-e2e-tests.yml b/.github/workflows/trigger-e2e-tests.yml index be04bd5..4e88e8c 100644 --- a/.github/workflows/trigger-e2e-tests.yml +++ b/.github/workflows/trigger-e2e-tests.yml @@ -23,6 +23,8 @@ jobs: matrix: version: ["9.4.1", "9.3.4", "8.19.15", "7.17.29"] env: [docker, eck-2.16.1, eck-3.4.0] + env: + ROR_KBN_VERSION: "1.70.0-pre7" steps: - name: Checkout code uses: actions/checkout@v4 @@ -52,7 +54,7 @@ jobs: retry_wait_seconds: 120 retry_on: any command: | - ./main.sh --mode e2e --env ${{ matrix.env }} --elk ${{ matrix.version }} + ./main.sh --mode e2e --env ${{ matrix.env }} --elk ${{ matrix.version }} --ror-kbn ${{ env.ROR_KBN_VERSION }} --dev env: ROR_ACTIVATION_KEY: ${{ secrets.ROR_KBN_LICENSE }} ELECTRON_EXTRA_LAUNCH_ARGS: '--disable-gpu' From 7b4b1b57bb282efbcd0853f5d0c29b212c41cdb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Ko=C5=82odziejczyk?= Date: Sat, 16 May 2026 12:00:09 +0200 Subject: [PATCH 11/11] test ROR KBN 1.70.0-pre7 --- .github/workflows/trigger-e2e-tests.yml | 2 +- environments/eck-ror/start.sh | 7 ++++++- environments/elk-ror/start.sh | 7 ++++++- main.sh | 10 ++++++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/.github/workflows/trigger-e2e-tests.yml b/.github/workflows/trigger-e2e-tests.yml index 4e88e8c..dcef353 100644 --- a/.github/workflows/trigger-e2e-tests.yml +++ b/.github/workflows/trigger-e2e-tests.yml @@ -54,7 +54,7 @@ jobs: retry_wait_seconds: 120 retry_on: any command: | - ./main.sh --mode e2e --env ${{ matrix.env }} --elk ${{ matrix.version }} --ror-kbn ${{ env.ROR_KBN_VERSION }} --dev + ./main.sh --mode e2e --env ${{ matrix.env }} --elk ${{ matrix.version }} --ror-kbn ${{ env.ROR_KBN_VERSION }} --dev-kbn env: ROR_ACTIVATION_KEY: ${{ secrets.ROR_KBN_LICENSE }} ELECTRON_EXTRA_LAUNCH_ARGS: '--disable-gpu' diff --git a/environments/eck-ror/start.sh b/environments/eck-ror/start.sh index 034b924..98a8367 100755 --- a/environments/eck-ror/start.sh +++ b/environments/eck-ror/start.sh @@ -23,7 +23,8 @@ show_help() { echo " --cluster-type Cluster type: 'base' for basic cluster, 'apm' for cluster with APM (default: base)" echo " --ror-es ReadonlyREST ES version (default: latest)" echo " --ror-kbn ReadonlyREST Kibana version (default: latest)" - echo " --dev Use development images" + echo " --dev Use development images (both ES and KBN)" + echo " --dev-kbn Use development image for Kibana only" echo "" echo "Examples:" echo " ./start.sh --es 8.11.0 --kbn 8.11.0 --eck 2.15.0 # Start base cluster" @@ -108,6 +109,10 @@ while [[ $# -gt 0 ]]; do export ROR_KBN_REPO="beshultd/kibana-readonlyrest-dev" shift ;; + --dev-kbn) + export ROR_KBN_REPO="beshultd/kibana-readonlyrest-dev" + shift + ;; --help|-h) show_help ;; diff --git a/environments/elk-ror/start.sh b/environments/elk-ror/start.sh index 967c187..cbbead7 100755 --- a/environments/elk-ror/start.sh +++ b/environments/elk-ror/start.sh @@ -26,7 +26,8 @@ show_help() { echo " --cluster-type Cluster type: 'base' for basic cluster, 'apm' for cluster with APM (default: base)" echo " --ror-es ReadonlyREST ES version (default: latest)" echo " --ror-kbn ReadonlyREST Kibana version (default: latest)" - echo " --dev Use development images" + echo " --dev Use development images (both ES and KBN)" + echo " --dev-kbn Use development image for Kibana only" echo "" echo "Examples:" echo " ./start.sh --es 8.11.0 --kbn 8.11.0 # Start base cluster" @@ -101,6 +102,10 @@ while [[ $# -gt 0 ]]; do export ROR_KBN_REPO="beshultd/kibana-readonlyrest-dev" shift ;; + --dev-kbn) + export ROR_KBN_REPO="beshultd/kibana-readonlyrest-dev" + shift + ;; --help|-h) show_help ;; diff --git a/main.sh b/main.sh index 1ed4b08..01f873a 100755 --- a/main.sh +++ b/main.sh @@ -9,7 +9,8 @@ show_help() { echo " --elk ELK stack version (required)" echo " --ror-es ReadonlyREST ES version (default: latest)" echo " --ror-kbn ReadonlyREST Kibana version (default: latest)" - echo " --dev Use development images" + echo " --dev Use development images (both ES and KBN)" + echo " --dev-kbn Use development image for Kibana only" echo "" echo "Examples:" echo " ./main.sh --env docker --elk 8.11.0 # Run E2E tests with Docker Compose" @@ -23,6 +24,7 @@ OPTIONAL_ECK_ARG="" OPTIONAL_ROR_ES_ARG="" OPTIONAL_ROR_KBN_ARG="" OPTIONAL_DEV_ARG="" +OPTIONAL_DEV_KBN_ARG="" MODE="e2e" CLUSTER_TYPE="apm" @@ -102,6 +104,10 @@ while [[ $# -gt 0 ]]; do OPTIONAL_DEV_ARG="--dev" shift ;; + --dev-kbn) + OPTIONAL_DEV_KBN_ARG="--dev-kbn" + shift + ;; *) echo "Unknown option: $1" show_help @@ -133,7 +139,7 @@ echo -e " echo -e "Running environment...\n" -time ./environments/$ENV_NAME/start.sh --cluster-type "$CLUSTER_TYPE" --es "$ELK_VERSION" --kbn "$ELK_VERSION" $OPTIONAL_ECK_ARG $OPTIONAL_ROR_ES_ARG $OPTIONAL_ROR_KBN_ARG $OPTIONAL_DEV_ARG +time ./environments/$ENV_NAME/start.sh --cluster-type "$CLUSTER_TYPE" --es "$ELK_VERSION" --kbn "$ELK_VERSION" $OPTIONAL_ECK_ARG $OPTIONAL_ROR_ES_ARG $OPTIONAL_ROR_KBN_ARG $OPTIONAL_DEV_ARG $OPTIONAL_DEV_KBN_ARG if [[ "$MODE" == "e2e" ]]; then echo -e "Running E2E tests...\n"