
Maintaining @testcontainers | Contributing to OSS | Automating builds, tests and infrastructures | Making devs happy | @ZEISS_Group | Docker Captain
Behind a guitar
Joined July 2014
- Tweets223
- Following70
- Followers136
- Likes236
Pinned Tweet
Super excited to join the @Docker Captains Program 🎉 Honored to see my work on Testcontainers for .NET (and soon Docker.DotNet) being recognized. Looking forward to contributing to Docker, .NET, and open-source projects with the amazing folks in the program :tc-love:
New in Testcontainers for .NET 4.16: the Elasticsearch module now exposes GetOtlpEndpoint().
You can send real OpenTelemetry traces straight to Elasticsearch 9.5+ and verify they're actually indexed.
No collector needed. @elastic
Testcontainers built through the Docker Engine API, which has no BuildKit. No secret mounts, no here-documents.
New in Testcontainers for .NET 4.16: the image build runs on BuildKit, from a sidecar container.
The sidecar is a Docker CLI container with the Docker socket mounted. It runs "docker buildx build" against the daemon's own BuildKit, the build cache is the one your terminal already filled.
dotnet.testcontainers.org/ap…
🚀 Testcontainers for .NET 4.16.0 has landed! BuildKit support, a common WithSsl builder API, and a round of fixes for Kafka, PostgreSQL and more: github.com/testcontainers/te….
Huge thanks to our community for the contributions and feedback 🧡.
Andre Hofmeister retweeted
Of course. @testcontainers .
We forked Docker.DotNet into @testcontainers after the original repo went inactive (no maintainer response, no merged PRs, no fixes for a long time). We're now actively developing it. GitHub still defaults new PRs to the dead upstream repo, confusing contributors.
We're stuck. GitHub won't let us detach the fork network because it has child forks. Anyone from @GitHubSupport / @github able to help us get this rerouted? 🙏
github.com/testcontainers/Do…
Everyone adds a retry policy. Almost nobody tests it.
It sits in the pipeline for two years, and the first time it runs for real is during an incident. Bad moment to learn its timeout is longer than the one above it.
Put Toxiproxy in front of Redis and break the network.
Toxiproxy sits between the test and the dependency on the same Docker network. Toxics go on while the test runs: latency, bandwidth caps, dropped connections, slow close.
Toxicity is a probability, so you can degrade 30% of calls instead of all of them.
dotnet.testcontainers.org/mo…
Andre Hofmeister retweeted
It's a plane, it's a bird, no... it's @EdduMelendez our skydiving @testcontainers maintainer and tc-java language lead!
Andre Hofmeister retweeted
Thanks to @getgalaxyio (a fellow OSS project) for sponsoring 🫶
Andre Hofmeister retweeted
The third guest post on Internals for Interns is live!
"Understanding Testcontainers: The Ryuk Reaper" is written by @mdelapenya, a friend from the Go community, Staff Engineer at @Docker and the maintainer of testcontainers-go. He also writes the "Understanding Testcontainers" series on his own blog, so check that out.
In this post he talks about Ryuk, a small sidecar container whose only job is deleting the Docker resources your tests created, when your tests die.
The design has three pieces, and they're all beautifully small:
- Labels answer "what's mine?"
- A held TCP connection that works as a deadman switch.
- A grace period stops false positives.
Read it here: internals-for-interns.com/po…
#Go #Docker #Testcontainers
🚀 Testcontainers for .NET 4.15 is here! And one feature deserves a special shoutout: Docker Compose support 🎉 A request dating all the way back to 2019, with many upvotes from the community, has finally made it into .NET: github.com/testcontainers/te….
Find out more about Docker Compose here: dotnet.testcontainers.org/ap….
Most test setups describe the stack twice. Once in compose.yml, once again in the fixture, and the two drift. New in Testcontainers for .NET 4.15: ComposeBuilder runs "docker compose up" for you, inside a container. One description of the stack, nothing extra to install on CI.
Every run gets a random project name, so parallel CI jobs do not collide. A service port does not have to be published in the compose file to be reachable from the test. An ambassador container proxies it: dotnet.testcontainers.org/ap…
A new release of Cake.Sonar is out (github.com/cake-contrib/Cake…), now compatible with Cake v6! Cake.Sonar is another project I somehow became an accidental maintainer of, apparently that’s becoming a bit of a pattern 😅.
Andre Hofmeister retweeted
Testcontainers saves me so much time with integration testing... I don't know what I would do without it.
You can run your external services in throwaway Docker containers, which you can access from your tests.
Here's an example of how to spin up SQL Server in a container.
Ready to take your integration testing in .NET to the next level?
You will love this article: milanjovanovic.tech/blog/tes…











