Skip to content

Extensions SDK testing: PipelinePolicy (out-of-tree extension) #974

@crstrn13

Description

@crstrn13

Overview

Bootstrap end-to-end testing for the Kuadrant Extensions SDK using PipelinePolicy — an out-of-tree extension that declaratively defines action pipelines (gRPC upstreams, request-phase actions, response-phase actions) via a CRD.

PipelinePolicy is the first out-of-tree extension built with the SDK. Testing it validates both the extension's functionality and the SDK's developer experience for third-party consumers.

Scope

This epic covers:

  1. Model & fixtures — Python class for PipelinePolicy, pytest fixtures for creating and managing PipelinePolicy resources, and a basic happy-path smoke test.
  2. Comprehensive test cases — Deeper coverage of all action types, edge cases, error paths, targeting modes, and interactions with other Kuadrant policies.

Out of scope: Deployment and installation of the extension (CRDs, RBAC, initContainer patching). The extension is pre-installed on the test cluster via the helm chart.

CRD Spec Summary

Field Description
targetRef Gateway API LocalPolicyTargetReferenceWithSectionName (HTTPRoute or Gateway)
actionMethods[] gRPC upstream definitions (name, url, service, method, messageTemplate)
request[] Ordered request-phase actions: allow (CEL predicate) or grpc_method (call upstream)
response[] Ordered response-phase actions: add_headers or with_response_code

Sub-issues

Metadata

Metadata

Assignees

Labels

ExtensionsChanges related to Kuadrant's extension policiesepicIssue encapsulating other related issues

Type

No type
No fields configured for issues without a type.

Projects

Status

🆕 New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions