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

[Feature] Neo4j Integration for Aspire #279

Open
terle opened this issue Nov 21, 2024 · 10 comments
Open

[Feature] Neo4j Integration for Aspire #279

terle opened this issue Nov 21, 2024 · 10 comments
Labels
help wanted Extra attention is needed integration A new .NET Aspire integration

Comments

@terle
Copy link

terle commented Nov 21, 2024

Feature Request: Neo4j Integration for Aspire

Summary
I propose adding a Neo4j integration to Aspire, starting with the Community Toolkit repository. The integration creates a Neo4j Community Edition container and provides access to the IDriver for application development. Core functionality is complete, though logging, OpenTelemetry, and health checks are not yet implemented.

Background
I created this integration for a side project and followed Aspire's MailKit guide closely. It supports adding secrets (e.g., username and password) for the container configuration. The implementation is designed to lower the barrier for C# developers exploring Neo4j and graph databases, aligning with Aspire's extensibility goals.

Repository
The code is available here: Aspire-Neo4j.

Proposal

  • Include this integration in the Aspire Community Toolkit for broader adoption and collaborative maturation.
  • Later, with community input and improvements, potentially graduate the feature into the Aspire main repository.
@aaronpowell aaronpowell added help wanted Extra attention is needed integration A new .NET Aspire integration labels Nov 22, 2024
@aaronpowell
Copy link
Member

Looks like a good candidate and the repo you've got is a really good starting point, it'd just be a case of aligning with some of the style guides of the Community Toolkit and bringing in testing.

The only thing I do wonder about is whether there would be a preference from the https://github.com/neo4j/neo4j-dotnet-driver maintainers to create their own Aspire integration.

@terle
Copy link
Author

terle commented Nov 22, 2024 via email

@aaronpowell
Copy link
Member

Yeah, I'd create an issue or discussion on their GitHub

@terle
Copy link
Author

terle commented Nov 25, 2024

Yeah, I'd create an issue or discussion on their GitHub

Great. It’s done.
neo4j/neo4j-dotnet-driver#826

Waiting for reply. Thanks Aaron

@terle
Copy link
Author

terle commented Nov 28, 2024

Yeah, I'd create an issue or discussion on their GitHub

Al right al right al right
The neo4j-people responded, and said "go ahead, thank you for effort". So that's GREAT 🤩

What will be the next step?
Do I create PR now?
Is there anything you want changed/aligned that I can start on now?

@aaronpowell
Copy link
Member

Yep, go ahead and create a PR.

We've got a bunch of guidance https://github.com/CommunityToolkit/Aspire/blob/main/docs/create-integration.md on creating an integration, and having a quick pass over your existing repo, it looks like things are already across the API design and example aspect of it (just need some folder restructuring to match our repo layout and some name updates).

The main thing would be getting test coverage in, and then writing up some docs on the integration.

If you want to continue on as the owner/maintainer of the integration, we can add you as a contributor and setup the CODEOWNERS with you in it.

@terle
Copy link
Author

terle commented Nov 29, 2024

Great. I'll do that.
Thanks.
I don't know what CODEOWNERS means?
What I would like to do is give the code to the community and be recognized as a contributor. That is enough for me.

@terle
Copy link
Author

terle commented Dec 3, 2024

I don’t know if this makes sense, but let’s do what’s best for the community. If that’s making me a code owner, then please go ahead and do that. Does that make sense?

@aaronpowell
Copy link
Member

It basically means that you would be notified on any PR's for the code on the path(s) that you're listed as the owner of.

It's a way to ensure the expert is involved in reviewing changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed integration A new .NET Aspire integration
Projects
None yet
Development

No branches or pull requests

2 participants