fix: rewrite Tekton integration tests for X-Service routing
CI / CI (pull_request) Failing after 50s

FIXES:
- Remove stale files: k8s/argocd-apps/, k8s/tekton/base/, overlays/
  (Tekton infra is in homelab repo, not here)
- Fix step.resources → step.computeResources (Tekton v1 API)
- Fix Task: use curl sidecar pattern instead of distroless image
  (distroless has no shell/curl/go)
- Fix routing: use X-Service + X-Resource headers, not path-based
- Extract test script to scripts/integration-test.sh (ConfigMap mount)
- Install kubectl in CI runner (was missing)
- Prune README to essentials

TASK ARCHITECTURE:
  sidecar: gateway image (mounts config secret, runs on localhost)
  step: curlimages/curl (runs integration-test.sh from ConfigMap)

TEST COVERAGE:
  health, header validation, memory, s3, sqs, workflow, iam
This commit is contained in:
Admin Bot
2026-09-13 21:12:15 +09:00
parent ba6958e6f3
commit 6eb53a4d1c
8 changed files with 265 additions and 319 deletions
+10 -15
View File
@@ -7,29 +7,24 @@ metadata:
app: api-gateway
component: testing
spec:
description: Pipeline to run integration tests for API gateway
description: >
Run integration tests against a gateway image.
Spins up the image as a sidecar, tests via curl, reports pass/fail.
params:
- name: image
type: string
description: Container image to test (repo:tag)
default: "forgejo.riotpiao.com/rock/api-gateway:latest"
- name: test-timeout
type: string
default: "5m"
description: Test execution timeout
description: "Container image to test (repo:sha)"
results:
- name: test-result
description: Overall test result (pass/fail)
value: $(tasks.run-integration-tests.results.result)
- name: test-message
description: Test summary message
value: $(tasks.run-integration-tests.results.message)
description: "pass or fail"
value: $(tasks.integration-test.results.result)
- name: test-summary
description: "e.g. 8/8 passed"
value: $(tasks.integration-test.results.summary)
tasks:
- name: run-integration-tests
- name: integration-test
taskRef:
name: integration-test
params:
- name: image
value: $(params.image)
- name: timeout
value: $(params.test-timeout)