Skip to content

chore: refactor middleware setup in server#554

Merged
beeme1mr merged 16 commits intoopen-feature:mainfrom
bacherfl:chore/refactor-middleware
Mar 24, 2023
Merged

chore: refactor middleware setup in server#554
beeme1mr merged 16 commits intoopen-feature:mainfrom
bacherfl:chore/refactor-middleware

Conversation

@bacherfl
Copy link
Copy Markdown
Contributor

This PR aims to clean up the way the middlewares for the server are set up.
Previously, the Metrics, CORS and H2C Middlewares were each set up in different ways, which made that section of the code a bit hard to comprehend at first.

Therefore, i introduced a middleware package, including sub packages for the metrics, cors, and h2c middleware. Each of those middlewares implement an IMiddleware interface, that can be registered to the server using the newly introduced AddMiddleware function

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
@bacherfl bacherfl force-pushed the chore/refactor-middleware branch from 4ca6609 to 9b9e023 Compare March 23, 2023 08:45
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 23, 2023

Codecov Report

Merging #554 (7778c85) into main (77e0a33) will increase coverage by 0.51%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #554      +/-   ##
==========================================
+ Coverage   70.40%   70.92%   +0.51%     
==========================================
  Files          19       21       +2     
  Lines        2156     2170      +14     
==========================================
+ Hits         1518     1539      +21     
+ Misses        578      574       -4     
+ Partials       60       57       -3     
Impacted Files Coverage Δ
...ore/pkg/service/flag-evaluation/connect_service.go 63.06% <100.00%> (-0.58%) ⬇️
core/pkg/service/middleware/cors/cors.go 100.00% <100.00%> (ø)
core/pkg/service/middleware/h2c/h2c.go 100.00% <100.00%> (ø)
...ore/pkg/service/middleware/metrics/http_metrics.go 76.25% <100.00%> (ø)

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
@bacherfl bacherfl force-pushed the chore/refactor-middleware branch from 087bf69 to 1a90b2b Compare March 23, 2023 09:00
@bacherfl bacherfl marked this pull request as ready for review March 23, 2023 09:08
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Comment thread core/pkg/service/flag-evaluation/connect_service.go Outdated
Comment thread core/pkg/service/flag-evaluation/connect_service_test.go Outdated
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
…leware

# Conflicts:
#	core/pkg/service/flag-evaluation/connect_service.go
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Comment thread core/pkg/service/flag-evaluation/connect_service.go Outdated
Comment thread core/pkg/service/flag-evaluation/connect_service.go Outdated
@Kavindu-Dodan
Copy link
Copy Markdown
Contributor

Awesome work - this IMO is a long overdue refactoring to clean up.

I left two improvements of which one is essential and the other is a suggestion.

@bacherfl bacherfl requested a review from a team March 24, 2023 06:34
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
Comment thread core/pkg/service/flag-evaluation/connect_service.go
@beeme1mr beeme1mr self-requested a review March 24, 2023 18:43
@beeme1mr beeme1mr merged commit 01016c7 into open-feature:main Mar 24, 2023
@github-actions github-actions Bot mentioned this pull request Mar 24, 2023
toddbaert added a commit that referenced this pull request Mar 30, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>flagd: 0.5.0</summary>

##
[0.5.0](flagd/v0.4.5...flagd/v0.5.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* unify sources configuration handling
([#560](#560))

### 🐛 Bug Fixes

* benchmark pipeline
([#538](#538))
([62cc0fc](62cc0fc))
* **deps:** update module github.com/open-feature/flagd/core to v0.4.5
([#552](#552))
([41799f6](41799f6))


### 🧹 Chore

* refactor configuration handling for startup
([#551](#551))
([8dfbde5](8dfbde5))
</details>

<details><summary>flagd-proxy: 0.2.0</summary>

##
[0.2.0](flagd-proxy-v0.1.2...flagd-proxy/v0.2.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* rename `kube-flagd-proxy` to `flagd-proxy`
([#576](#576))

### ✨ New Features

* rename `kube-flagd-proxy` to `flagd-proxy`
([#576](#576))
([223de99](223de99))
</details>

<details><summary>core: 0.5.0</summary>

##
[0.5.0](core/v0.4.5...core/v0.5.0)
(2023-03-30)


### ⚠ BREAKING CHANGES

* rename `kube-flagd-proxy` to `flagd-proxy`
([#576](#576))
* unify sources configuration handling
([#560](#560))

### 🧹 Chore

* move credential builder for grpc sync into seperate component
([#536](#536))
([7314fee](7314fee))
* refactor configuration handling for startup
([#551](#551))
([8dfbde5](8dfbde5))
* refactor middleware setup in server
([#554](#554))
([01016c7](01016c7))
* refactor service configuration objects
([#545](#545))
([c7b29ed](c7b29ed)),
closes [#524](#524)
* unify sources configuration handling
([#560](#560))
([7f4888a](7f4888a))


### 🐛 Bug Fixes

* **deps:** update module google.golang.org/grpc to v1.54.0
([#548](#548))
([99ba5ec](99ba5ec))
* **deps:** update module sigs.k8s.io/controller-runtime to v0.14.6
([#572](#572))
([bed9458](bed9458))
* fixing silent lint failures
([#550](#550))
([30c8022](30c8022))
* nil pointer fix + export constructors
([#555](#555))
([78adb81](78adb81))


### ✨ New Features

* expose Impression metric
([#556](#556))
([77e0a33](77e0a33))
* Introduce kube-proxy-metrics
([#558](#558))
([ad0baeb](ad0baeb))
* rename `kube-flagd-proxy` to `flagd-proxy`
([#576](#576))
([223de99](223de99))
* refactor core module into multiple packages
([#530](#530))
([9d68d0b](9d68d0b))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Signed-off-by: Todd Baert <toddbaert@gmail.com>
Co-authored-by: Todd Baert <toddbaert@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants