Improved developer experience with docker-compose ft. massive refactor
For starters: I do apologize for the giant PR. I had a working docker-compose setup in perhaps an hour or less but then I had a new problem: the actual application was broken. There were so, so many issues that I was forced to code review every single file and fix all the issues that were blocking the app from booting. This resulted in a significant restructuring and a significant diff.
There are immense benefits to the changes I have made though.
- Booting a demo version of the app is extremely simple. Down to three commands: https://gitlab.com/austinpray/meltano/blob/a50da6272514a15655e8308f21f7404858e26f0c/README.md#how-to-install-and-run-meltano
- The build process uses Make so the build command api is super simple. Just run
make
and only the parts of the app that have changed will be rebuilt. - Improvements to the production docker setup. This dev docker-compose setup uses images that are deployable to production. Dev like you prod.
- Removed a ton of assorted jank such as
- python coding errors
- misunderstandings of python's import and module system
- merge conflicts that were committed to master
- files that were gitignored but checked into the repo
Next Steps
- I don't have time to document all the changes so it would be best if we just hopped on a Google Hangout or something and reviewed together.
- Perhaps we should, at a separate time, discuss the overall design of this application? I have some thoughts but I need a quick rundown on where you guys are at design-wise before proceeding.
TODO
- I am sure this breaks whatever madness you guys have going on .gitlab-ci.yml. I see generally what is going on but it would save time if we just talk through it.
- All these changes are just to get the app to boot. I haven't even tested the functionality beyond what is available in the javascript front-end.
Edited by Melty Bot