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

Replace docker-compose breeze setup with testcontainers #43514

Open
potiuk opened this issue Oct 30, 2024 · 0 comments
Open

Replace docker-compose breeze setup with testcontainers #43514

potiuk opened this issue Oct 30, 2024 · 0 comments
Labels
area:dev-env CI, pre-commit, pylint and other changes that do not change the behavior of the final code area:dev-tools

Comments

@potiuk
Copy link
Member

potiuk commented Oct 30, 2024

Part of breeze is a whole set of docker-compose files that are used to setup environment where various databases and integrations are set-up. This feature uses composability (sic!) of docker compose files and allows us to start breeze with the right set of database, integrations as docker-compose containers running together.

However there is a new tool called testcontainers https://testcontainers.com/?language=python that seem to have similar aim, but rather than using declarative and composable docker compose yaml files, they utiise native programming language integration to launch and shut-down necessary containers during running tests.

We could employ it to replace what breeze currently does for that part of our dev environment, and the added benefit is that you would not have to use breeze if you would like to run tests with "postgres", "kafka" etc. You would be able to do it easily using regular unit tests.

The part of breeze where it installs and manage the common container with all dependencies would still remain, but we could - I think fairly easily simplify and replace the part of Breeze where necessary containers are started via --backend and --integration database and plug them in pytest fixtures that could start/teardown necessary containers as needed even outside of breeze.

@potiuk potiuk converted this from a draft issue Oct 30, 2024
@dosubot dosubot bot added area:dev-env CI, pre-commit, pylint and other changes that do not change the behavior of the final code area:dev-tools labels Oct 30, 2024
@potiuk potiuk moved this from Ready to Backlog in CI / DEV ENV planned work Nov 30, 2024
@potiuk potiuk moved this from Backlog to Ready in CI / DEV ENV planned work Dec 24, 2024
@potiuk potiuk moved this from Ready to Backlog in CI / DEV ENV planned work Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:dev-env CI, pre-commit, pylint and other changes that do not change the behavior of the final code area:dev-tools
Projects
Status: Backlog
Development

No branches or pull requests

1 participant