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

Feature/polling client local #82

Open
wants to merge 3 commits into
base: dev
Choose a base branch
from

Conversation

tDalile
Copy link

@tDalile tDalile commented May 9, 2022

  • Add profile options to develop locally
  • Fix to setup the Kafka container for local development for the polling client

Example:
I have added the polling-client-local, backend and frontend profiles. This allows to use the docker-compose_develop.yml to start only the camunda bpm platform and Kafka when using the following command:

docker-compose --file docker-compose_developer.yml --profile polling-client-local up -d

Copy link
Contributor

@mschulte mschulte left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @tDalile,

to get it right: the profile names are based on the intended components you like to start right?
Or do the names are based upon the component i try to locally develop (and the surrounding components are started by the docker-compose file)?

At least we would need to have some documentation on your profiles included in our docs (e.g. a table or something).

cf. also the review-comments i did on your changed compose-file.

The fix for kafka-listeners/protocols seems to be reasonable 👍

Kind regards

@@ -87,6 +112,9 @@ services:

vpw-polling-client:
image: public.ecr.aws/viadee/camunda-kafka-polling-client:latest
profiles:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so "polling-client-local" means we do not fire up a polling client with docker-compose and instead start the respective spring-boot-app in order to develop that piece of software further?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, exactly.

@@ -46,6 +58,9 @@ services:

elasticsearch:
image: elasticsearch:7.14.1
profiles:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we need elasticsearch in every case? even for backend development we would need to have infrastructure for our backend-components (e.g. analyzer) that are running within a local spring-boot app

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on what exactly is being developed. The profiles I suggested worked in my use case, but might not be suitable for other cases. Also, my use of "backend" and "frontend" seems very misleading. Perhaps we should discuss which profiles are generally useful? My understanding is that the following components could be developed outside of docker-compose:

  • camunda-bpm-platform
  • polling client
  • event pipeline
  • analyzer
  • web-app

So we could introduce profiles that each exclude the respective component and start up the remaining ones?

@@ -58,6 +73,9 @@ services:

kibana:
image: kibana:7.14.1
profiles:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same with kibana. useful in every case?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought that Kibana is just a "nice-to-have" besides the web-app? Is it really necessary for development, especially when we mind the limited resources on dev-machines?

@@ -66,6 +84,9 @@ services:
- elasticsearch

analyzer-postgres:
profiles:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we would need a database for local backend-development too. don't we?

@@ -102,6 +130,9 @@ services:

vpw-frontend:
image: public.ecr.aws/viadee/vpw-frontend:latest
profiles:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm confused. i would except "backend" here because we maybe want to have a frontend to test our locally developed backend-components/fixes? i think i didn't get the semantics of the profile names as intended?

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

Successfully merging this pull request may close these issues.

2 participants