feat: inf-3308 adapt charts to support Envoy Gateway#413
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds Envoy Gateway support to the parcelLab Helm charts, introducing reusable templates for HTTPRoute, SecurityPolicy, and ReferenceGrant resources. The changes enable services to use Envoy Gateway as an alternative to traditional Ingress resources with built-in OIDC authentication, JWT validation, and authorization capabilities.
Changes:
- Added three new common templates for Envoy Gateway resources (HTTPRoute, SecurityPolicy, ReferenceGrant) with comprehensive OIDC/JWT/authorization configuration support
- Integrated Envoy Gateway support into microservice and monolith charts with wrapper templates and configuration examples
- Updated chart versions (common 1.2.3→1.3.0, microservice 0.4.2→0.5.0, monolith 0.4.1→0.5.0, cronjob 0.4.1→0.4.2, worker-group 0.3.1→0.3.2)
- Enhanced documentation in README files and added new npm script for prettier formatting
Reviewed changes
Copilot reviewed 21 out of 22 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| parcellab/common/templates/_securitypolicies.tpl | New template for Envoy Gateway SecurityPolicy with OIDC, JWT, and authorization support |
| parcellab/common/templates/_referencegrant.tpl | New template for cross-namespace ReferenceGrant resources |
| parcellab/common/templates/_httproutes.tpl | New template for HTTPRoute with automatic labeling and external-dns annotations |
| parcellab/common/templates/_routing.tpl | New routing helper template (appears unused) |
| parcellab/common/values.yaml | Added default envoy configuration structure |
| parcellab/common/Chart.yaml | Version bump from 1.2.3 to 1.3.0 |
| parcellab/microservice/templates/*.yaml | Added wrapper templates for securitypolicies, referencegrant, and httproutes |
| parcellab/microservice/values.yaml | Added comprehensive envoy configuration examples |
| parcellab/microservice/Chart.yaml | Version bump from 0.4.2 to 0.5.0 |
| parcellab/microservice/README.md | Updated documentation for envoy resources |
| parcellab/monolith/templates/*.yaml | Added wrapper templates for securitypolicies, referencegrant, and httproutes |
| parcellab/monolith/values.yaml | Added comprehensive envoy configuration examples |
| parcellab/monolith/Chart.yaml | Version bump from 0.4.1 to 0.5.0 |
| parcellab/monolith/README.md | Updated documentation for envoy resources |
| parcellab/cronjob/Chart.yaml | Version bump from 0.4.1 to 0.4.2 |
| parcellab/worker-group/Chart.yaml | Version bump from 0.3.1 to 0.3.2 |
| parcellab/worker-group/README.md | Removed trailing whitespace |
| package.json | Added lint:prettier:fix script |
|
@andibeuge I've opened a new pull request, #417, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@andibeuge I've opened a new pull request, #418, to work on those changes. Once the pull request is ready, I'll request review from you. |
* Initial plan * fix: add validation to ReferenceGrant template to prevent invalid resources Co-authored-by: andibeuge <97287249+andibeuge@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: andibeuge <97287249+andibeuge@users.noreply.github.com>
* Initial plan * Add validation for HTTPRoute hosts requirement Co-authored-by: andibeuge <97287249+andibeuge@users.noreply.github.com> * Use idiomatic len check for empty hosts validation Co-authored-by: andibeuge <97287249+andibeuge@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: andibeuge <97287249+andibeuge@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
https://parcellab.atlassian.net/browse/INF-3308
Description
Add reusable Helm templates for Envoy Gateway resources (HttpRoute, SecurityPolicy, ReferenceGrant) to common charts.
What was added:
common/templates/_securitypolicies.tpl- Supports OIDC, JWT, Authorization, CORS, Basic Authcommon/templates/_referencegrant.tpl- Generic template for cross-namespace referencescommon/templates/_httproutes.tpl- Generic template for http routingmicroserviceandmonolithchartsvalues.yamlfor both chartsBenefits:
Notice
The templated security policies do not consider CORS settings. The main goal was to ensure the required authentication entities are present in the routes. For CORS settings, it is straight forward to add them to routes without other dependencies: https://gateway.envoyproxy.io/v1.0/tasks/security/cors/