# SkyWalking Infra E2E configuration for cluster-agent (KinD).

setup:
  env: kind
  file: ./kind.yaml
  timeout: 20m
  kind:
    # These images must exist locally before running `e2e run`.
    import-images:
      - cluster-agent:e2e
    expose-ports:
      - namespace: cluster-agent-e2e
        resource: deployment/cluster-agent
        port: 8080
  steps:
    - name: apply manifests
      path: ./manifests
      wait:
        - namespace: cluster-agent-e2e
          resource: deployment/cluster-agent
          for: condition=Available

cleanup:
  on: success

trigger:
  action: http
  interval: 2s
  times: 10
  url: http://${deployment_cluster_agent_host}:${deployment_cluster_agent_8080}/healthz
  method: GET

verify:
  retry:
    count: 10
    interval: 5s
  cases:
    - name: healthz-basic
      query: |
        set -euo pipefail
        export HOST="${deployment_cluster_agent_host}"
        export PORT="${deployment_cluster_agent_8080}"
        python3 test/e2e/scripts/healthz_check.py
      expected: ./expected/healthz-basic.yaml

    - name: gateway-path-rewrite
      query: |
        set -euo pipefail
        export HOST="${deployment_cluster_agent_host}"
        export PORT="${deployment_cluster_agent_8080}"
        python3 test/e2e/scripts/gateway_path_rewrite.py
      expected: ./expected/gateway-path-rewrite.yaml

    - name: audit-log-check
      query: |
        set -euo pipefail
        export HOST="${deployment_cluster_agent_host}"
        export PORT="${deployment_cluster_agent_8080}"
        python3 test/e2e/scripts/audit_log_extract.py
      expected: ./expected/audit-log-check.yaml

    - name: audit-healthz-skip
      query: |
        set -euo pipefail
        export HOST="${deployment_cluster_agent_host}"
        export PORT="${deployment_cluster_agent_8080}"
        python3 test/e2e/scripts/audit_healthz_skip.py
      expected: ./expected/audit-healthz-skip.yaml
