DescartesResearch / TeaStore

A micro-service reference test application for model extraction, cloud management, energy efficiency, power prediction, single- and multi-tier auto-scaling
https://se.informatik.uni-wuerzburg.de
Apache License 2.0
118 stars 137 forks source link

Enable HTTPS support on the TeaStore #190

Closed mcarolina5 closed 3 years ago

mcarolina5 commented 3 years ago

The communication between all the microservices of TeaStore (e.g. webui, persistence, registry, image, etc) are performed over HTTPS (with the exception of db). Tested in docker environment.

SimonEismann commented 3 years ago

Thank you again for contributing to the TeaStore! After some minor adjustments to generalize things, we were able to get your implementation to run on different machines. As discussed, we added a feature flag that can be used to turn HTTPS on/off.

Could you take a look at https://github.com/simontrapp/TeaStore with USE_HTTPS=true and see if everything is working as intended? Then I would first merge this branch into the teastore repository and then merge the commits from ttps://github.com/simontrapp/TeaStore in afterwards. Finally, I'd create a new TeaStore version that includes the USE_HTTPS flag. There might be a smoother way to do this, but I'm not that familiar with pull requests :)

mcarolina5 commented 3 years ago

Hello, after looking at the https://github.com/simontrapp/TeaStore and deploying the TeaStore using the docker-compose-https with USE_HTTPS=true, we verified that everything is working as expected. However, if the https flag is set to false in this same docker-compose-https (USE_HTTPS=false), the TeaStore is not available. What would be the process to use this docker compose but with the flag set to false?

In other words, with USE_HTTPS=false we are not able to deploy TeaStore in regular HTTP mode.

SimonEismann commented 3 years ago

Thanks for looking at this, glad to hear that it's working with the HTTP flag! We'll look into what's going wrong with USE_HTTPS=false :)

simontrapp commented 3 years ago

I looked into it. To deploy the HTTPS-enabled version without HTTPS, you just have to remove the USE_HTTPS flag from the compose file (it defaults to "false" in the Dockerfile) and change all occurrences of port number 8443 to 8080 (the default port for the HTTP TeaStore). Then everything works fine, as long as you use self-built container images, since the official ones are not yet updated to the HTTPS version (build script is in the examples folder). I tested it out myself with a fresh repo clone, so I can assure it works.

mcarolina5 commented 3 years ago

We are glad to know that everything is working both with HTTP and HTTPS. Can we further help you to make the HTTPS contribution publicly available in the next release of TeaStore?

SimonEismann commented 3 years ago

I've merged the commit in and will reöease a new version that supports HTTPS soon. Thank you so much for contributing to the TeaStore!