Commit Graph

3 Commits

Author SHA1 Message Date
Todd Baert ac647e0656
feat!: remove sync.Type (#1691)
The PR removes the obsolete `sync.Type`. This was intended to be used to
support partial updates from sync sources, but it's never been used and
it's lagging behind on features and would not work fully if implemented
by a source (`metadata` is not properly implemented). Moreover, we're
not convinced the value is worth the complexity it adds.

Specifically:

- removes `sync.Type` and all references
- removes tests for `sync.Type` and updates assertions for unrelated
tests which previously asserted on `sync.Type` (now we use the
payload/source in assertions)
- (unrelated) updates `CONTRIBUTING.md` to include a bunch of helpful
manual testing steps

Note that this is a breaking change, but only for the `flagd/core`
library, NOT for flagd or any sync source itself in terms of their
behavior. Since there was no change in `flagd/`, this will not show up
in the CHANGELOG.

Resolves: https://github.com/open-feature/flagd/issues/1678

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
2025-07-21 08:01:56 -04:00
renovate[bot] 954d972382
fix(deps): update module buf.build/gen/go/open-feature/flagd/grpc/go to v1.5.1-20240906125204-0a6a901b42e8.1 (#1400)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| buf.build/gen/go/open-feature/flagd/grpc/go |
`v1.5.1-20240215170432-1e611e2999cc.1` ->
`v1.5.1-20240906125204-0a6a901b42e8.1` |
[![age](https://developer.mend.io/api/mc/badges/age/go/buf.build%2fgen%2fgo%2fopen-feature%2fflagd%2fgrpc%2fgo/v1.5.1-20240906125204-0a6a901b42e8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/buf.build%2fgen%2fgo%2fopen-feature%2fflagd%2fgrpc%2fgo/v1.5.1-20240906125204-0a6a901b42e8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/buf.build%2fgen%2fgo%2fopen-feature%2fflagd%2fgrpc%2fgo/v1.5.1-20240215170432-1e611e2999cc.1/v1.5.1-20240906125204-0a6a901b42e8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/buf.build%2fgen%2fgo%2fopen-feature%2fflagd%2fgrpc%2fgo/v1.5.1-20240215170432-1e611e2999cc.1/v1.5.1-20240906125204-0a6a901b42e8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-feature/flagd).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

---------

Signed-off-by: Todd Baert <todd.baert@dynatrace.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Todd Baert <todd.baert@dynatrace.com>
2024-09-23 10:39:19 -04:00
Kavindu Dodanduwa b58fab3df0
chore: move packaging & isolate service implementations (#1234)
## This PR

**Background**

This is an attempt to move services and wiring logic to their end usage.

For example, having `runtime` package in the core module did not provide
any advantage. This package was only used by `flagd` and contained the
logic that binds configurations to service implementations.

Similarly, `flagd-proxy` exposed `sync` service, and having that inside
the core module seemed out of place.

**What's changed**

I have moved `runtime` package to `flagd` & specific service
implementations (flag evaluation and sync service) to their end usage.

**Why ?**

I considered this to be a pre-requisite for
https://github.com/open-feature/flagd/issues/1230. If I attempted to add
another `sync` implementation to the current core module, it would have
made the whole packaging confusing (ex:- we have two sync proto
implementations, which do not serve the same purpose. One for
flagd-proxy and the other for flagd).

After this refactoring, I could add the flagd's sync service, where it
serve buf connect and I can locate that within flagd.

Besides, we still have a core module with all the sharables. 

Consider the current packaging in the below diagram,


![image](https://github.com/open-feature/flagd/assets/8186721/ce8b2358-c136-492c-a646-178fe42d9841)


* nore - core sync is for flag data sync listeners such as files, K8s
...

Signed-off-by: Kavindu Dodanduwa <kavindudodanduwa@gmail.com>
2024-03-05 09:52:06 -08:00