Skip to content

feat(e2e): add blob log e2e tests (S3/GCS) and fix LogMux auth header case bug - #1504

Open
adityavshinde wants to merge 1 commit into
tektoncd:mainfrom
adityavshinde:test/blob-log-e2e
Open

adityavshinde wants to merge 1 commit into
tektoncd:mainfrom
adityavshinde:test/blob-log-e2e

Conversation

@adityavshinde

Copy link
Copy Markdown
Contributor

Changes

E2E tests for the v1alpha3 blob log plugin route with S3 (in-cluster MinIO)
and GCS (fake-gcs-server emulator) backends.

S3 tests (e2e,blobs): happy path, PipelineRun cross-task isolation,
no-logs (HTTP 200 + empty body), unauthorized, RBAC denied, large log
(27MB, 10MB memory cap via kubelet stats).

GCS test (e2e,gcs_blob): pre-seeded data read through gcsblob driver.
Vector is not used — its GCS sink speaks XML API which the emulator doesn't support.

Bug fix (plugin_logs.go): LogMux now lowercases HTTP header keys
before constructing gRPC metadata. Without this, metadata.Get("authorization")
never finds the token and every plugin log request fails auth. Unit test added.

Also: in-cluster MinIO manifests, Vector Helm setup, e2e.sh wiring,
legacy TestGCSLog marked deprecated.

/kind feature

Submitter Checklist

  • Has Docs included if any changes are user facing
  • Has Tests included if any functionality added or changed
  • Tested your changes locally (if this is a code change)
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • Release notes block below has been updated with any user-facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
  • Release notes contain the string "action required" if the change requires additional action from users switching to the new release

Release Notes

Fix v1alpha3 log plugin route auth: lowercase HTTP header keys in gRPC metadata
so Authorization token is found.

@tekton-robot tekton-robot added kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Oct 6, 2026
@tekton-robot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign khrm after the PR has been reviewed.
You can assign the PR to them by writing /assign @khrm in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot
tekton-robot requested a review from khrm October 6, 2026 09:01
@tekton-robot tekton-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Oct 6, 2026
@adityavshinde
adityavshinde force-pushed the test/blob-log-e2e branch 8 times, most recently from cacfa5b to 2e67fb0 Compare October 6, 2026 17:16
@adityavshinde
adityavshinde force-pushed the test/blob-log-e2e branch 5 times, most recently from 1d0525d to 9f6c5cc Compare October 19, 2026 10:06
E2E tests for the v1alpha3 blob log plugin route with S3 (MinIO) and
GCS (fake-gcs-server) backends: happy path, PipelineRun, no-logs,
unauthorized, RBAC denied, large log (27MB, 10MB memory cap), and GCS
emulator read path. Wired into e2e.sh.

Fix LogMux metadata key casing: net/http canonical headers were not
lowercased for gRPC metadata.Get, breaking auth on the plugin route.
Unit test added.

/kind feature

Signed-off-by: adityavshinde <adishind@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature Categorizes issue or PR as related to a new feature. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants