-
Notifications
You must be signed in to change notification settings - Fork 52
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
feat(go-feature-flag): GO Feature Flag in process using GO module #546
Conversation
Signed-off-by: Thomas Poignant <[email protected]>
The test failing is in the |
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
Signed-off-by: Thomas Poignant <[email protected]>
I'll take a look at this tomorrow and see what I can do abou t the CI issue. |
@thomaspoignant I fixed the CI issue with some dep updates (done in another branch and merged to main). |
@@ -0,0 +1,22 @@ | |||
module github.com/open-feature/go-sdk-contrib/providers/go-feature-flag-in-process | |||
|
|||
go 1.22.5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
of course it's up do you... but consider the go SDK still only requires 1.21, so you may be excluding some adoption with this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I know, but the library is in 1.22.5 so I have no real choice here 😒
return nil, err | ||
} | ||
return &Provider{ | ||
goFeatureFlagInstance: goff, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So these are the same internals that power GoFF as a standalone server I guess? That's cool!
Do you plan to support in-process in other languages? I guess that would be a lot harder 😅
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes exactly, this is the complete GO Feature Flag code behind the provider.
In-process for other languages is something I have in mind, but I haven't found the right approach for now, the rule library I use is mainly for GO only, and I am not sure how much effort it is to have the same compatibility level for other languages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Can you also add a license file? These recently started causing issues in our releases: #554 |
Signed-off-by: Thomas Poignant <[email protected]>
This PR
In this PR we create a new provider for GO Feature Flag in process.
GO Feature Flag can be run as a go module and it was possible to run it like this in https://github.com/open-feature/go-sdk-contrib/tree/main/providers/go-feature-flag BUT this brings a lot of unused dependencies in the provider that are not used if you are using the relay-proxy.
In another PR we will release a refactor that removes the dependency to
GO Feature Flag
to minimize the provider's dependencies and keep it lightweight if it uses the relay proxy.Follow-up Tasks
Another PR will come with the refactor of https://github.com/open-feature/go-sdk-contrib/tree/main/providers/go-feature-flag.