* Decouple extensions from Flask app.
This separates the extension registry from the Flask app and also introduces a separate registry for preriodic tasks.
Fix#3466.
* Address review feedback.
* Update redash/extensions.py
Co-Authored-By: jezdez <jannis@leidel.info>
* Minor comment in requirements.
* Refactoring after getting feedback.
* Uncoupled bin/bundle-extensions from Flas app instance.
* Load bundles in bundle script and don’t rely on Flask.
* Upgraded to importlib-metadata 0.9.
* Add missing requirement.
* Fix TypeError.
* Added requirements for bundle_extension script.
* Install bundles requirement file correctly.
* Decouple bundle loading code from Redash.
* Install bundle requirements from requirements.txt.
* Use circleci/node for build-docker-image step, too.
* Speed up builds by skipping requirements_all_ds.txt
* Update docker compose file version
* Start services before running commands
* Add boto and Athena dependencies to requirements_dev.txt
1. Simplify user creation to create a non system user (so the uid will usually
match the host user).
2. Set the user to redash & remove the need to change user in docker entrypoint.
I realized that it makes more sense to run Webpack on the host machine
as usually you will need to install Node's tools on the host to enjoy
better intelisense and eslint support in the editor.
On top of that, installing Node.js on most developer machines should be
relatively easy.
Also changed **docker_init_postgres.sh**. Since we don't have postgres
user now, then we cannot use `sudo -u postgres`. The alternative will be
running `psql --username=blahblah`.
Signed-off-by: John Wu <webmaster@leapoahead.com>
Given how docker caching works, it is better the group multiple
`apt-get` instructions into one when possible because it prevents docker
from building too many layers.
Signed-off-by: John Wu <webmaster@leapoahead.com>
Create postgres user because we are now using `postgres-client` packages
which does not create postgres user by default. We need this user when
running `docker_init_postgres.sh`, so let's create it by hand.
Signed-off-by: John Wu <webmaster@leapoahead.com>
By using Dockerfile `RUN` command, we can enable docker to cache our
build. Also, much more easier to maintain.
Signed-off-by: John Wu <webmaster@leapoahead.com>