* remove all building from start script
* add sherif's change of not caching gradle deps first
* prefer cached dependencies
* use mount for gradle cache and stop running the server-dist build twice
* only use docker compose
* use build file again
* separate tests
* add test entrypoint
* make testable by pushing image
* get build working with only docker compose
* simplify name
* create webapp_base so we can run tests on it
* run tests
* separate base image builds
* correct tag for webapp-base
* make names line up
* another one
* make tests non-interactive
* final
* use CI mode for the test run
* readable logs in CI
* update documentation
* use auto instead of rich
* add note to readme about running tests before pushing a public docker image
* start sharing logic with persistence class
* get discovery worker working in a hacky way
* misc fixes
* working with nothign running
* fix
* log errors in discovery workers for now
* use singer names for the fields and the correct level of config json
* add logging config and .configuration selection in the correct place
* temporarily commit worthless db creds
* add filter_dbs to speed up discovery
* increase discovery timeout to one minute
* switch back to using actual output files
* missed files
* fix whitespace
* wip
* run scheduler with ServerApp
* use .env for environment
* working scheduling end to end
* use new db schema / tooling
* tmp commit
* complete postgres switchover
* reduce debug logging
* fix bug preventing repeat runs of a job
* refactor
* more refactoring
* add comments to job submitter
* use same log4j config
* don't use star import
* move echoworker
* treat cancelled as completed
* rename
* use scheduled executor
* use jackson instead of gson
* commit autogenerated
* Add project structure. Add markup for 1st screen
* Get rid of yarn
* Update react-scripts version. Move types to dev-deps
* Enable more checks for ts
* Fix types errors. Add initial markup for onboarding
* Add dropdown component. Add part of onboarding form
* Remove pro-fonts. Edit frequency form
* Add markup for create source
* Edit ServiceForm components
* Add destination page
* Update index and readme files
* add database image to docker compose
* add database setup
* allow connetions from a connect string in env variables
* add a test for the docker case
* add pg init script in docker-compose
* fix env and add server dependency on db
* convert schema to postgres
* use postgres driver
* fix build
* fix edge cases (dependencies between containers, data dirs, etc)
* use docker wait
* remove debugging logging
* add grant
* working test and working docker-compose
* use beforeall
* use key instead of id for k-v metadata
* clean up env names
* fix typo
In response to feedback on this PR #17 and after fiddling around with what implementing some endpoints looks like, I've made two updates to the configuration persistence:
* The whole class is synchronized, to try to avoid any concurrency issues in the MVP.
* Added a couple exception to the persistence interface. The philosophy I used here was that
* we expose named exceptions that are actionable to the user. e.g. config not found, or you are trying to insert or access a config that does not pass validation.
* we do NOT expose named exceptions related to the internal of the database (e.g. data corruption or we can't access the disk). we let these get handled as runtime exceptions.