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

LaunchDarkly Rust SDK #4

Closed
mraerino opened this issue Feb 13, 2021 · 10 comments
Closed

LaunchDarkly Rust SDK #4

mraerino opened this issue Feb 13, 2021 · 10 comments

Comments

@mraerino
Copy link
Contributor

mraerino commented Feb 13, 2021

Hi @samstokes @KyleLeneau!

Looks like this is as close as LaunchDarkly ever got to having a Rust SDK right?

We're heavy Rust users at Netlify and would like to leverage LaunchDarkly the same way we do for our non-Rust services.
In the past few days I have ported large parts of the Go SDK to Rust. It's based on Tokio 1.0 and the Hyper HTTP client right now. It can consume via SSE and store flags in memory as well as evaluate them at query time (missing some edge cases).

Does it make sense if we open-source it?
Would you be willing to take over such a project?
I could give you access to the private sources - if you want to take a look?

@gwhelanLD
Copy link

Hi @mraerino,

We love to see people excited to use LaunchDarkly in more environments! It's very cool to see customers going as far as porting an SDK! We've actually had a Rust SDK in internal development for a while, but it's taken a while to transition from an internal passion project to a something we can officially support. I've given you read access to our private alpha repository for the SDK, we'd be happy for all feedback and contributions you'd like to make. We'd love to take a look at what you've ported so far, maybe you could give read access to myself, @samstokes, and @hroederld?

You're of course welcome to open-source it as well. The only thing we'd ask is that it specifies it's third-party and preferably we'd want to keep a name on cargo that would be consistent with our other SDK distributions.

Thanks for reaching out!
@gwhelanLD

@mraerino
Copy link
Contributor Author

that's awesome 😊

I started the migration to latest Tokio in #5

@mraerino
Copy link
Contributor Author

Ok, I moved my SDK take out of our private monorepo and have it here: https://github.com/mraerino/launchdarkly-rust-sdk-experimental

@mraerino
Copy link
Contributor Author

I also opened a bunch of issues on the alpha SDK. let me know what you think 😊

@bwoskow-ld
Copy link
Member

Hi @mraerino ,

Thanks for expressing interest in using LaunchDarkly with Rust! I see that you've been granted access to our currently-private Rust SDK repository. Thank you for your several pull requests already submitted to it. 😄

As @gwhelanLD mentioned above, our Rust SDK is currently in a private alpha state. Due to the low maturity level, the SDK comes with some caveats. Although these may be obvious given the early state, I want to call them out:

  • LaunchDarkly doesn't yet make any claims towards the correctness of the data being handled by the SDK, nor the completeness of the functionality.
  • As such, the SDK shouldn't be used in production environments at this time.
  • No documentation exists -- yet -- which is why the docs link on the repository readme currently 404s.
  • We're continuing to ramp up the SDK team on the Rust SDK, and are not yet prepared to respond to requests at the frequency that we do for our supported SDKs.

With these caveats in mind, I want to acknowledge that every project starts somewhere, and as you can see we're along the path towards an eventual public beta release. Thank you for your contributions and interest in helping us get there.

Cheers,
@bwoskow-ld

@mraerino
Copy link
Contributor Author

Of course. All of that makes sense.
We're going to use my implementation (linked above) in the meantime since it is better tied to our usecases right now.

I opened the issues only to give some inspiration for the future of the project. None of them are urgent requests.

I'll follow along on the process and am looking forward to a more stable release.

Happy to provide feedback on our usage if needed.

@ramosbugs
Copy link

hey @bwoskow-ld, I'd really love to start using LaunchDarkly in a Rust backend project! is there an estimated release date or similar status update for the Rust SDK?

alternatively, @mraerino: any guidance on whether the Netlify-developed SDK you published is production ready-ish? I'm wondering if there are Netlify-internal changes that haven't been pushed externally (yet?). I've been having success using other Netlify crates like lamedh_runtime, so 🤞

(apologies for leaving one of these low-value comments, but since this issue hasn't been updated in awhile, hopefully it's not too spammy 😬)

@bwoskow-ld
Copy link
Member

Hello @ramosbugs!

I know that you'd have no way of knowing this, but we are actively working on our Rust server-side SDK right now and are nearing its readiness for a public beta. At that point in time you, @mraerino, and everyone else will be able to use it in your Rust apps. Note that this will be a server-side SDK; you can learn more about the difference between our server-side and client-side SDKs in our documentation.

Assuming that you don't need the SDK today and are able to wait until later in January, I recommend waiting for what we've been building for you. We'll update this issue when we've got news to share.

Cheers,
@bwoskow-ld

@ramosbugs
Copy link

later this month would be amazing, thank you for the quick reply!

@keelerm84
Copy link
Member

@mraerino and @ramosbugs

Thank you both for your expressed interest in the Rust SDK.

I am pleased to inform you that an official Rust SDK is available for evaluation at https://github.com/launchdarkly/rust-server-sdk. This SDK is currently in the beta stage. You can review our documentation for more information on how to get started.

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

No branches or pull requests

5 participants