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 <eastizle@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
…#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 <eastizle@redhat.com>

* updated manifests

---------

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
* Enable envoygateway integration tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add egapiv1 to scheme

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Fix lint issues

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add envoy SecurityPolicy controller

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add envoy ReferenceGrant controller

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Update manifests and bundle

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Update envoy gatewayclass to match GATEWAYAPI_PROVIDER name

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Set gateway class in tests from provider

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Enable new controllers in integration tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add policy target object tracking to topology index

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add istio AuthorizationPolicy controller

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Prepare for envoygateway integration tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Generify for integration tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Add envoygateway auth integration tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

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

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Set owner references in new controllers

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Enable security policy deletion tests

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Shorten github workflow integration test names

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Refactor SecurityPolicy controller For Kuadrants

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Update deletion logic

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Use new PolicyType

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* test: Explicitly set parentRef gateway namespace

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

---------

Signed-off-by: Adam Cattermole <acatterm@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
* envoygateway controllers to setup wasm module

Limitador cluster controller based on EnvoyPatchPolicy
Wasm controller based on EnvoyExtensionPolicy

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>

* envoygateway: enable envoypatchpolicy

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>

* envoygateway: wasm module tests

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>

---------

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
…neration update

Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
* Provider agnostic gateway name/namespace

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Update docs gateway name/namespace

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Use istio/envoy-gateway for provider namespace

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

* Use EG_NAMESPACE when patching

Signed-off-by: Adam Cattermole <acatterm@redhat.com>

---------

Signed-off-by: Adam Cattermole <acatterm@redhat.com>
Co-authored-by: Adam Cattermole <acatterm@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
Co-authored-by: Adam Cattermole <acatterm@redhat.com>
Signed-off-by: Eguzki Astiz Lezaun <eastizle@redhat.com>
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