Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Envoy Gateway support #859

Merged
merged 13 commits into from
Sep 19, 2024
Merged

Envoy Gateway support #859

merged 13 commits into from
Sep 19, 2024

Conversation

eguzki
Copy link
Contributor

@eguzki eguzki commented Sep 16, 2024

What

Envoy Gateway Support

Closes #325

@eguzki eguzki added the kind/enhancement New feature or request label Sep 16, 2024
Copy link

codecov bot commented Sep 16, 2024

Codecov Report

Attention: Patch coverage is 75.23992% with 258 lines in your changes missing coverage. Please review.

Project coverage is 78.65%. Comparing base (ece13e8) to head (2a80537).
Report is 187 commits behind head on main.

Files with missing lines Patch % Lines
pkg/envoygateway/mutators.go 36.11% 28 Missing and 18 partials ⚠️
...llers/envoygateway_limitador_cluster_controller.go 75.60% 20 Missing and 10 partials ⚠️
controllers/envoygateway_wasm_controller.go 82.30% 13 Missing and 10 partials ⚠️
...s/envoysecuritypolicy_referencegrant_controller.go 75.86% 14 Missing and 7 partials ⚠️
...llers/authpolicy_envoysecuritypolicy_controller.go 86.04% 12 Missing and 6 partials ⚠️
...authpolicy_istio_authorizationpolicy_controller.go 77.21% 12 Missing and 6 partials ⚠️
...library/mappers/envoysecuritypolicy_to_kuadrant.go 37.50% 10 Missing and 5 partials ⚠️
pkg/kuadranttools/topology_tools.go 77.77% 7 Missing and 7 partials ⚠️
pkg/istio/mutators.go 45.83% 8 Missing and 5 partials ⚠️
pkg/library/mappers/httproute_to_kuadrant.go 63.63% 8 Missing and 4 partials ⚠️
... and 7 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #859      +/-   ##
==========================================
- Coverage   80.20%   78.65%   -1.56%     
==========================================
  Files          64       91      +27     
  Lines        4492     7046    +2554     
==========================================
+ Hits         3603     5542    +1939     
- Misses        600     1090     +490     
- Partials      289      414     +125     
Flag Coverage Δ
bare-k8s-integration 5.11% <9.50%> (?)
controllers-integration 70.71% <73.99%> (?)
envoygateway-integration 46.92% <62.28%> (?)
gatewayapi-integration 10.78% <9.59%> (?)
integration ?
istio-integration 50.27% <26.48%> (?)
unit 27.75% <3.31%> (-2.28%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
api/v1beta1 (u) 38.46% <0.00%> (-32.97%) ⬇️
api/v1beta2 (u) 74.10% <63.82%> (-17.33%) ⬇️
pkg/common (u) 88.13% <ø> (-0.70%) ⬇️
pkg/istio (u) 70.95% <ø> (-2.96%) ⬇️
pkg/log (u) 94.73% <ø> (ø)
pkg/reconcilers (u) ∅ <ø> (∅)
pkg/rlptools (u) 84.26% <ø> (+4.81%) ⬆️
controllers (i) 80.43% <80.17%> (+3.63%) ⬆️
Files with missing lines Coverage Δ
controllers/authpolicy_controller.go 84.21% <ø> (+3.50%) ⬆️
controllers/kuadrant_status.go 75.86% <100.00%> (+4.56%) ⬆️
...llers/rate_limiting_istio_wasmplugin_controller.go 70.87% <100.00%> (ø)
controllers/test_common.go 100.00% <100.00%> (ø)
pkg/istio/mesh_config.go 67.51% <100.00%> (+1.80%) ⬆️
pkg/istio/utils.go 79.16% <100.00%> (ø)
pkg/library/gatewayapi/topology.go 81.73% <100.00%> (ø)
pkg/library/gatewayapi/topology_indexes.go 93.06% <100.00%> (ø)
pkg/library/kuadrant/kuadrant.go 85.29% <ø> (-14.71%) ⬇️
pkg/rlptools/utils.go 100.00% <100.00%> (ø)
... and 17 more

... and 35 files with indirect coverage changes

@eguzki eguzki force-pushed the envoygateway branch 2 times, most recently from 442001f to db0ede4 Compare September 16, 2024 14:04
@eguzki
Copy link
Contributor Author

eguzki commented Sep 16, 2024

@adam-cattermole I have added some doc. I would appreciate some review and grammar check. Any suggestion welcome.

eguzki and others added 13 commits September 18, 2024 17:22
* envoygateway dev environment install

* egctl on detected os and arch

* Makefile: pulling out os and arch

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
…#785)

* deployed istio updated to 1.20.8 (ossm 2.6)

Golang istio.io/istio deps upgraded to 1.22.3

It is required because golang envoygateway 1.1 dep conflicts on github.com/envoyproxy/go-control-plane/envoy/extensions/injected_credentials/generic/v3 package

istio.io/istio 1.20.0 requires a package from github.com/envoyproxy/go-control-plane in 0.12.0 that does not exist when
github.com/envoyproxy/go-control-plane is upgraded to 0.12.1 due to envoygateway 1.1

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>

* updated manifests

---------

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
* Enable envoygateway integration tests

Signed-off-by: Adam Cattermole <[email protected]>

* Add egapiv1 to scheme

Signed-off-by: Adam Cattermole <[email protected]>

* Fix lint issues

Signed-off-by: Adam Cattermole <[email protected]>

* Add envoy SecurityPolicy controller

Signed-off-by: Adam Cattermole <[email protected]>

* Add envoy ReferenceGrant controller

Signed-off-by: Adam Cattermole <[email protected]>

* Update manifests and bundle

Signed-off-by: Adam Cattermole <[email protected]>

* Update envoy gatewayclass to match GATEWAYAPI_PROVIDER name

Signed-off-by: Adam Cattermole <[email protected]>

* Set gateway class in tests from provider

Signed-off-by: Adam Cattermole <[email protected]>

* Enable new controllers in integration tests

Signed-off-by: Adam Cattermole <[email protected]>

* Add policy target object tracking to topology index

Signed-off-by: Adam Cattermole <[email protected]>

* Add istio AuthorizationPolicy controller

Signed-off-by: Adam Cattermole <[email protected]>

* Prepare for envoygateway integration tests

Signed-off-by: Adam Cattermole <[email protected]>

* Generify for integration tests

Signed-off-by: Adam Cattermole <[email protected]>

* Add envoygateway auth integration tests

Signed-off-by: Adam Cattermole <[email protected]>

* Do not set GATEWAYAPI_PROVIDER for tests that do not use it

Signed-off-by: Adam Cattermole <[email protected]>

* Set owner references in new controllers

Signed-off-by: Adam Cattermole <[email protected]>

* Enable security policy deletion tests

Signed-off-by: Adam Cattermole <[email protected]>

* Shorten github workflow integration test names

Signed-off-by: Adam Cattermole <[email protected]>

* Refactor SecurityPolicy controller For Kuadrants

Signed-off-by: Adam Cattermole <[email protected]>

* Update deletion logic

Signed-off-by: Adam Cattermole <[email protected]>

* Use new PolicyType

Signed-off-by: Adam Cattermole <[email protected]>

* test: Explicitly set parentRef gateway namespace

Signed-off-by: Adam Cattermole <[email protected]>

---------

Signed-off-by: Adam Cattermole <[email protected]>
* envoygateway controllers to setup wasm module

Limitador cluster controller based on EnvoyPatchPolicy
Wasm controller based on EnvoyExtensionPolicy

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>

* envoygateway: enable envoypatchpolicy

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>

* envoygateway: wasm module tests

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>

---------

Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
* Provider agnostic gateway name/namespace

Signed-off-by: Adam Cattermole <[email protected]>

* Update docs gateway name/namespace

Signed-off-by: Adam Cattermole <[email protected]>

* Use istio/envoy-gateway for provider namespace

Signed-off-by: Adam Cattermole <[email protected]>

* Use EG_NAMESPACE when patching

Signed-off-by: Adam Cattermole <[email protected]>

---------

Signed-off-by: Adam Cattermole <[email protected]>
Co-authored-by: Adam Cattermole <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Co-authored-by: Adam Cattermole <[email protected]>
Signed-off-by: Eguzki Astiz Lezaun <[email protected]>
Copy link
Member

@adam-cattermole adam-cattermole left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've had a chance to go through all the changes and I think it's looking good. Perhaps we want another reviewer external to the changes but I'll leave that up to you

@eguzki eguzki merged commit 3475a1e into main Sep 19, 2024
30 of 31 checks passed
@eguzki eguzki deleted the envoygateway branch September 19, 2024 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement New feature or request
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Envoy Gateway Support
2 participants