Skip to content

Improved developer experience with docker-compose ft. massive refactor

Austin Pray requested to merge austinpray/meltano:docker into master

ref: !51 (comment 100608351)

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

  1. 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.
  2. 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

  1. 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.
  2. 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

Merge request reports