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

DevService: Start Temporal stack #17

Open
8 tasks
melloware opened this issue Aug 9, 2024 · 9 comments · May be fixed by #71
Open
8 tasks

DevService: Start Temporal stack #17

melloware opened this issue Aug 9, 2024 · 9 comments · May be fixed by #71
Assignees
Labels
enhancement New feature or request

Comments

@melloware
Copy link
Contributor

melloware commented Aug 9, 2024

Basically start a Dev Service stack using someting like that docker compose stack:

https://github.com/temporalio/docker-compose

This will give it a true Quarkus feel.

  • create 2 containers:
  • - temporalio/auto-setup
  • - temporalio/ui
  • create a default config to use sqlite
  • add an option to allow the dev to replace the default config
  • create a proxy for ui (like mailpit)
  • Add URL to local UI to Dev UI Card
  • take a beer !
@melloware melloware added the enhancement New feature or request label Aug 9, 2024
@melloware melloware changed the title DevService: Start Temporal as Dev Service DevService: Start Temporal stack Aug 9, 2024
@ggrebert
Copy link
Contributor

👍 could be nice !

@melloware
Copy link
Contributor Author

@ggrebert any help would be appreciated! Thank you so much for the GRPC fix!

@ggrebert
Copy link
Contributor

with pleasure.
and thank you for Quakus Insight ❤️

For the docker-compose, the default one seems to be too large (pg + elasticsearch + temporal)

What to you think about the MySQL one?

@melloware
Copy link
Contributor Author

I am OK with whatever one works. I didn't know if we would have to turn that Docker Compose into a single container on DockerHub to make it work with TestContainers?

@ggrebert
Copy link
Contributor

We should:

  • create 2 containers:
    • temporalio/auto-setup
    • temporalio/ui
  • create a default config to use sqlite
  • add an option to allow the dev to replace the default config
  • create a proxy for ui (like mailpit)
  • take a beer !

@melloware
Copy link
Contributor Author

I absolutely love this idea.

@gsmet
Copy link
Member

gsmet commented Aug 12, 2024

It's very nice to see you collaborating on this!

@ggrebert ggrebert linked a pull request Aug 22, 2024 that will close this issue
@tmulle
Copy link

tmulle commented Feb 4, 2025

I asked the Temporal Slack java-sdk channel about their recommendations for running Quarkus in a TestContainer environment and will let you know what they say.

I've been working on a new project using Temporal after the success of the previous production deployment of the initial application and find it would be really awesome to have a Temporal spin up automatically, especially for anyone not really versed in Temporal server setup themselves and just want a quick way to test their code.

If you haven't joined their channel, I recommend it. They are very active and good group of people.

https://temporalio.slack.com/archives/CTT84KXK9/p1738627889685729

This is my message:

I work on the Quarkus Temporal extension we mentioned previously. We would like to make Temporal work with the TestContainer/Dev Services architecture so we can have a nice developer experience when using Temporal.
https://github.com/quarkiverse/quarkus-temporal

Right now, I spin up a separate instance using the default docker-compose.yml and then run Quarkus in dev mode and connect to my server. This works but it’d be really nice to spin up a simple instance automatically like Quarkus does with Databases, Keycloak, etc.

I know there are lots of docker compose variants at https://github.com/temporalio/docker-compose.

I was wondering and maybe this isn’t feasible, but can temporal run with a SQLite backend or H2 so it is super fast and light on resources for a dev mode?

Otherwise, I’m thinking the postgres or mysql variants?

@tmulle
Copy link

tmulle commented Feb 4, 2025

I got a response back from Temporal's advocate Tihomir Surdilovic and he mentioned the following:

We could look at https://github.com/temporalio/cli
see command refrerence : https://docs.temporal.io/cli for the embedded temporal server with sqlite persistence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants