-
Notifications
You must be signed in to change notification settings - Fork 67
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
Request for new sandbox project: dapr-compose #207
Comments
I would love to get feedback and peer with other contributors on this project. |
This project does have similarities from Project Tye. The main difference is that this project has an opinion on how Dapr projects should be organized locally. Directory structure, file locations and conventions still to be discussed. Theoretically, Tye could (in the future) also adopt the same conventions decided here and understand Dapr projects natively. |
Interesting! It’s something I’m hitting against as well quite frequently since it’s a lot of port management. Might be nice to have an extended scope where it is possible to deploy your app on targets (local, container apps, …) |
We could have support for multiple environments but the app would need to declare a Dockerfile to build an image and a Registry to publish. It can be extended to be an opinionates
in addition to |
I like and support this! However why not do this as part of the Dapr CLI? It would certainly ease a lot of the associated maintenance burdens. So |
It could be part of Dapr CLI but I think it can start as a sandbox project instead because:
Once this project reaches a stable version, we can decide to move it to Dapr CLI and archive the sandbox project. |
Ok that makes sense. About |
I agree. Also, Dapr CLI does invoke daprd today as well - so we are following that pattern already. |
After thinking about this again, I do think this is a better feature in Dapr CLI since users would not need to install yet another tool. |
In local development, would it also help to allow users to run different components using version: 1
common:
env: # any environment variable shared among apps
- name: DEBUG
value: on
services:
- id: kafka
image: docker.io/bitnami/kafka
port: 4040
apps:
- id: webapp
root_directory: ./webapp/
components_directory: ./webapp/components # can be default by convention too, ignore if dir is not found.
config_file: ./webapp/config.yaml # can be default by convention too, ignore if file is not found.
protocol: HTTP
port: 8080
command: python3 app.py |
+1 to this idea. @XavierGeerinck, what did you have in mind for |
@artursouza - Can you close this issue #207 since this will be CLI repo going forward, yes? |
Yes. Closing since this will be part of the CLI. |
In local development, developers need to manually run each service with
dapr run
and keep track of the different ports and components folder (if decide to separate per app).dapr-compose
is a CLI tool that will automatically start any app locally withdapr run
and keep track of termination and restart policies. It all done via a single YAML file:Then, users can simply run:
dapr-compose up
to start all services. If a service crashes, it will be restart with exponential backoff.Which programming languages will be used?
Go
Does the project have any hard dependency on other technologies or cloud vendors? Example: Kubernetes, Azure, AWS, Terraform
It depends on Dapr CLI commands.
Enumerate the repositories this project will need to be created.
dapr-compose
What is the ETA to have this project reach a stable version and graduate to the main Dapr organization?
No ETA.
Who are the maintainers of this project and corresponding employers?
Artur Souza (@artursouza) from Microsoft
The text was updated successfully, but these errors were encountered: