DataCater / datacater

The developer-friendly ETL platform for transforming data in real-time. Based on Apache Kafka® and Kubernetes®.
https://datacater.io
Other
82 stars 4 forks source link

Remote Development with Quarkus #153

Closed ChrisRousey closed 1 year ago

ChrisRousey commented 1 year ago

Add folowing dependencies:

  1. quarkusDev 'io.quarkus:quarkus-minikube'
  2. ~quarkusDev 'io.quarkus:quarkus-container-image-docker'~ -> not needed, we use jib

Add variables to application.yml (if needed):

  1. quarkus.package.type=mutable-jar
  2. quarkus.live-reload.password=quarkus

change to minikube container registry eval $(minikube -p minikube docker-env)

build application with gradle, it will start in minikube ../gradlew build -x test -Dquarkus.kubernetes.deploy=true -Dquarkus.profile=dev

get your local minikube ip minikube ip

connect local agent to remote dev using minikube ip ./gradlew quarkusRemoteDev -Dquarkus.live-reload.url=http://minikube-ip:8080 -Dquarkus.profile=dev

ChrisRousey commented 1 year ago

notes:

HknLof commented 1 year ago

So it works, but the dev console is not available or it can not reload classes into the jar?

ChrisRousey commented 1 year ago

@HknLof there was a bug because i wasn't starting the host in minikube with the dev profile.

only thing not working as of now is that the Readiness probe of the host is failing due to refused connection. Other than that i think it should work. I'm going to turn the Liveness/Readiness probes off for testing

ChrisRousey commented 1 year ago

@HknLof it's not the probes causing the problems, but our filters and transforms paths are causing our app to fail when running remote.

HknLof commented 1 year ago

So we need to account for mounting the folder by adjusting the Dockerfile?

ChrisRousey commented 1 year ago

That's my guess. We could have a look together on monday if you'd like.

HknLof commented 1 year ago

Currently, we are loading the images with load-image-k8s, that seems to be sufficient at this point. Closing!