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

[Modules]: add examples/modules on the most uses services/images #636

Closed
34 of 48 tasks
mdelapenya opened this issue Nov 23, 2022 · 17 comments
Closed
34 of 48 tasks

[Modules]: add examples/modules on the most uses services/images #636

mdelapenya opened this issue Nov 23, 2022 · 17 comments
Labels
enhancement New feature or request good first issue Want to contribute to testcontainers? Start from here

Comments

@mdelapenya
Copy link
Member

mdelapenya commented Nov 23, 2022

Proposal

Given there is a tool to generate the scaffolding for new examples as Go modules (https://golang.testcontainers.org/examples), let's use it to start adding examples.

We have elaborated the list below from Testcontainers for Java. If you're interested in adding any example, please comment here the module you want to work on (we'll add your username to next to it in the list), use the tool to generate the scaffolding for the module you are interested in, and send a PR. We'll link your PR here next to the item in the list.

Our recommendation is to visit the Java module and start porting its behavior and settings to the Go example module.

Modules

@ravilushqa
Copy link
Contributor

@mdelapenya can I pick mongodb?

@mdelapenya
Copy link
Member Author

@mdelapenya can I pick mongodb?

Please do it! 🙏

@fbiville
Copy link
Contributor

fbiville commented Mar 7, 2023

Interested in tackling Neo4j :)

@mdelapenya
Copy link
Member Author

mdelapenya commented Mar 7, 2023

Interested in tackling Neo4j :)

@fbiville Amazing! Please do it, and thanks for your support :)

I created the subtask for you: #921

@Tingaev
Copy link

Tingaev commented Mar 31, 2023

@mdelapenya can I pick RabbitMQ?

@mdelapenya
Copy link
Member Author

@mdelapenya can I pick RabbitMQ?

@Tingaev please go for it! Do you want to create an example or a real Go module? We should probably communicate the difference in a clearer manner, but modules for designed as dependencies to be consumed by downstream project, and examples for simply demonstrations, copying the code snippets, which include private APIs. Whatever you prefer is welcome

@Tingaev
Copy link

Tingaev commented Apr 3, 2023

Do you want to create an example or a real Go module?

@mdelapenya I thought and decided to make a module instead of just an example
I will close the PR with an example

@mdelapenya
Copy link
Member Author

Do you want to create an example or a real Go module?

@mdelapenya I thought and decided to make a module instead of just an example I will close the PR with an example

@Tingaev please take a look at https://github.com/testcontainers/testcontainers-go/pull/1016/files#diff-bf2f2ea9f93d17fd1a016e2893c5b7fe7dae04263b1662c8e03926e4e728f495. In this PR we try to explain how to create it

@adoublef
Copy link
Contributor

adoublef commented Apr 8, 2023

I would be keen to including a NATS example (possibly module in the future) what would be required to do so?

@eddumelendez
Copy link
Member

@adoublef you can probably start with a NATS example similar to what we have in Testcontainers for Java, see this. If you know more about NATS and how Testcontainers can help then we are all ears to build a NATS module.

@adoublef
Copy link
Contributor

adoublef commented Apr 11, 2023

@eddumelendez cool, I have been in the slack groups for a while & been learning how to use NATS personally so will be able to showcase a usage. I also know from the NATS slack group, a lot are using jetstream.

I could likely port this over as I have found myself being able to get this working on many small projects

EDIT: I have forked and created an example for NATS here would the next step in the process be to submit a PR? what would be recommended.

@mdelapenya
Copy link
Member Author

@adoublef I'd suggest starting with an example is great for experimenting with a module, like an incubation stage. Once you are happy with it, you could convert it into a real module, as described in https://golang.testcontainers.org/modules

You could use the code generation tool to bootstrap the scaffolding, and/or migrate the existing example following this:

Please consider that the modules design is still in dev (see #1042) so it's evolving using proper, better abstractions in it.

@mritunjaysharma394
Copy link
Contributor

Hi @mdelapenya, I am interested for k3s, can i pick iit up :))

Thanks!

@mdelapenya
Copy link
Member Author

@mritunjaysharma394 be my guest and do it! There is a Java implementation you can follow (j terms of API), will post here a link to it as I'm AFK

@mritunjaysharma394
Copy link
Contributor

That was quick, thanks a lot @mdelapenya, I guess you meant this link right?

also, loving this blog by you already!

@mdelapenya mdelapenya changed the title [Examples]: add examples on the most uses services/images [Modules]: add examples/modules on the most uses services/images Aug 29, 2023
@adoublef
Copy link
Contributor

adoublef commented Jan 21, 2024

I wanted to request adding a minio module? I have a version that I use in a persoanl sdk where the API is near enough similar to what I'd find with the official modules.

Cc @mdelapenya

@mdelapenya
Copy link
Member Author

I'm going to close this issue, as the modules catalog has grown a lot, and I think we do not need to track them all here.

Thank you all for your work creating modules!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Want to contribute to testcontainers? Start from here
Projects
None yet
Development

No branches or pull requests

7 participants