Skip to content

chore: refactoring component structure#1044

Merged
bacherfl merged 11 commits intoopen-feature:mainfrom
bacherfl:chore/refactoring
Dec 7, 2023
Merged

chore: refactoring component structure#1044
bacherfl merged 11 commits intoopen-feature:mainfrom
bacherfl:chore/refactoring

Conversation

@bacherfl
Copy link
Contributor

@bacherfl bacherfl commented Dec 1, 2023

This PR refactors the core package by restructuring the components responsible for managing the subscriptions, as well as the creation of sync sources. The following changes have been made:

  • Renamed sync-store package to subscriptions. This has been done to avoid confusion because we already have a sync, and a store. package. Within the package, the SyncStore. has been renamed to subscriptions.Manager, which should reflect its responsibility in a better way. Also, the syncHandler has been renamed to multiplexer, as this one is responsible for sending updates of a certain target to all subscribers - syncHandler was a bit too generic in my opinion.
  • Moved the GetSyncSourceFromURI method to a new package, sync/builder, to remove the responsibility of building concrete sync sources from the subscription manager
  • Moved the logic of retrieving the K8s client config to the sync builder. Previously, this was done in the runtime package by calling the respective methods for the config retrieval provided by the sync/kubernetes package and then handing that config back to the initialization of the K8sSync. Note: This step can potentially be done in a separate PR, if so desired.

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
@netlify
Copy link

netlify bot commented Dec 1, 2023

Deploy Preview for polite-licorice-3db33c canceled.

Name Link
🔨 Latest commit bfa6daa
🔍 Latest deploy log https://app.netlify.com/sites/polite-licorice-3db33c/deploys/65715d02b38e810008d7f475

@codecov
Copy link

codecov bot commented Dec 1, 2023

Codecov Report

Attention: 40 lines in your changes are missing coverage. Please review.

Comparison is base (ec5f778) 71.87% compared to head (bfa6daa) 72.91%.

Files Patch % Lines
core/pkg/sync/builder/syncbuilder.go 85.27% 18 Missing and 1 partial ⚠️
core/pkg/sync/builder/utils.go 87.75% 4 Missing and 2 partials ⚠️
core/pkg/sync/file/filepath_sync.go 0.00% 6 Missing ⚠️
core/pkg/runtime/from_config.go 0.00% 5 Missing ⚠️
core/pkg/subscriptions/multiplexer.go 77.77% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1044      +/-   ##
==========================================
+ Coverage   71.87%   72.91%   +1.03%     
==========================================
  Files          28       31       +3     
  Lines        2866     2865       -1     
==========================================
+ Hits         2060     2089      +29     
+ Misses        701      672      -29     
+ Partials      105      104       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
bacherfl and others added 6 commits December 4, 2023 08:01
Co-authored-by: Giovanni Liva <giovanni.liva@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>
Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
@bacherfl bacherfl marked this pull request as ready for review December 5, 2023 15:13
@bacherfl bacherfl requested a review from a team December 5, 2023 15:13
@bacherfl bacherfl merged commit 0c7f78a into open-feature:main Dec 7, 2023
@bacherfl bacherfl deleted the chore/refactoring branch December 7, 2023 05:59
@github-actions github-actions bot mentioned this pull request Dec 7, 2023
toddbaert pushed a commit that referenced this pull request Dec 12, 2023
#1076)

This is a follow up to the latest refactoring PR #1044 to avoid a nil
pointer access when attempting to read from a kubernetes sync source

Signed-off-by: Florian Bacher <florian.bacher@dynatrace.com>
toddbaert pushed a commit that referenced this pull request Dec 22, 2023
🤖 I have created a release *beep* *boop*
---


<details><summary>flagd: 0.8.0</summary>

##
[0.8.0](flagd/v0.7.2...flagd/v0.8.0)
(2023-12-22)


### ⚠ BREAKING CHANGES

* remove deprecated flags
([#1075](#1075))

### 🐛 Bug Fixes

* **deps:** update module github.com/open-feature/flagd/core to v0.7.2
([#1056](#1056))
([81e83ea](81e83ea))
* **deps:** update module github.com/spf13/viper to v1.18.0
([#1060](#1060))
([9dfa689](9dfa689))


### 🧹 Chore

* refactoring component structure
([#1044](#1044))
([0c7f78a](0c7f78a))
* remove deprecated flags
([#1075](#1075))
([49f6fe5](49f6fe5))
</details>

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

##
[0.4.0](flagd-proxy/v0.3.2...flagd-proxy/v0.4.0)
(2023-12-22)


### ⚠ BREAKING CHANGES

* remove deprecated flags
([#1075](#1075))

### 🐛 Bug Fixes

* **deps:** update module github.com/open-feature/flagd/core to v0.7.2
([#1056](#1056))
([81e83ea](81e83ea))
* **deps:** update module github.com/spf13/viper to v1.18.0
([#1060](#1060))
([9dfa689](9dfa689))


### 🧹 Chore

* refactoring component structure
([#1044](#1044))
([0c7f78a](0c7f78a))
* remove deprecated flags
([#1075](#1075))
([49f6fe5](49f6fe5))
</details>

<details><summary>core: 0.7.3</summary>

##
[0.7.3](core/v0.7.2...core/v0.7.3)
(2023-12-22)


### 🐛 Bug Fixes

* **deps:** update golang.org/x/exp digest to 6522937
([#1032](#1032))
([78b23d2](78b23d2))
* **deps:** update module connectrpc.com/connect to v1.13.0
([#1070](#1070))
([63f86ea](63f86ea))
* **deps:** update module github.com/diegoholiveira/jsonlogic/v3 to
v3.4.0 ([#1068](#1068))
([5c5d5ab](5c5d5ab))
* **deps:** update module github.com/open-feature/open-feature-operator
to v0.5.2 ([#1059](#1059))
([cefea3e](cefea3e))
* **deps:** update module google.golang.org/grpc to v1.60.0
([#1074](#1074))
([bf3e9d8](bf3e9d8))
* **deps:** update module google.golang.org/grpc to v1.60.1
([#1092](#1092))
([5bf1368](5bf1368))
* make sure sync builder is initialized to avoid nil pointer access
([#1076](#1076))
([ebcd616](ebcd616))


### ✨ New Features

* support new flagd.evaluation and flagd.sync schemas
([#1083](#1083))
([e9728aa](e9728aa))


### 🧹 Chore

* refactoring component structure
([#1044](#1044))
([0c7f78a](0c7f78a))
* renaming of evaluation components
([#1064](#1064))
([d39f31d](d39f31d))
* use client-go library for retrieving FeatureFlag CRs
([#1077](#1077))
([c86dff0](c86dff0))
</details>

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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.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.

3 participants