Kuadrant / Kuadrant/kuadrant-operator
Add ActionMethodConfig with Name and MessageTemplate fields
- Dominant language
- Go
- Stars
- 94
- Forks
- 89
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 43
Description
## Description
Add `Name` and `MessageTemplate` fields to `ActionMethodConfig` (renamed from `UpstreamConfig` in #1899). `Name` provides a per-policy unique identifier for the action method that pipeline actions reference. `MessageTemplate` is an opaque string that will be passed through to the data plane for request message construction.
**Note:** The format of `MessageTemplate` is still evolving. The current direction (per discussion on PR #1922) is toward CEL struct syntax (e.g. `"ThreatRequest { uri: request.path, method: request.method }"`), but the operator treats it as an opaque string — no JSON parsing or CEL validation is performed at this stage. This allows the format to evolve without requiring operator-side changes.
## Acceptance Criteria
- [ ] `ActionMethodConfig` has `Name`, `URL`, `Service`, `Method`, `MessageTemplate` fields
- [ ] `Name` field added to the `RegisterActionMethodRequest` proto message
- [ ] `MessageTemplate` field added to the proto message
- [ ] Server validates `Name` is non-empty and unique per-policy
- [ ] `MessageTemplate` is stored and passed through as an opaque string (no parsing/validation)
- [ ] Unit tests
## References
- Design: [extensions-SDK-action-pipeline-design.md](https://github.com/Kuadrant/kuadrant-operator/blob/action-pipeline-proposal/doc/proposals/extensions-SDK-action-pipeline-design.md)
- PR #1922 (messageTemplate as opaque string)
- Parent: #1898
Contributor guide
Assessment
This issue has not been assessed yet.