As Superset extends flask SecurityManager with its own implementation, it's not obvious how to connect Superset with OAuth2 authorization servers that are not covered under flask.
This commit will try to dockerize superset in local development
environment.
The basic design is:
- Enable superset, redis and postgres service instead of using sqlite,
just want to simulate production environment settings
- Use environment variables to config various app settings. It's easy to
run and config superset to any environment if we use environment than
traditional config files
- For local development environment, we just expose postgres and redis
to local host machine thus you can connect local port via `psql` or
`redis-cli`
- Wrap start up command in a standard `docker-entrypoint.sh`, and use
`tail -f /dev/null` combined with manually `superset runserver -d` to
make sure that code error didn't cause the container to fail.
- Use volumes to share code between host and container, thus you can use
your favourite tools to modify code and your code will run in
containerized environment
- Use volumes to persistent postgres and redis data, and also
`node_modules` data.
- If we don't cache `node_modules` in docker volume, then every time
run docker build, the `node_modules` directory, will is about 500 MB
large, will be sent to docker daemon, and make the build quite slow.
- Wrap initialization commands to a single script `docker-init.sh`
After this dockerize setup, any developers who want to contribute to
superset, just follow three easy steps:
```
git clone https://github.com/apache/incubator-superset/
cd incubator-superset
cp contrib/docker/{docker-build.sh,docker-compose.yml,docker-entrypoint.sh,docker-init.sh,Dockerfile} .
cp contrib/docker/superset_config.py superset/
bash -x docker-build.sh
docker-compose up -d
docker-compose exec superset bash
bash docker-init.sh
```
* Add helm chart to install superset in kubernetes
* set resources into unlimited
* Add descriptions to Chart.yaml
* add an entry in docs/installation.rst
* fixed RSTs so images will show up on github
* fresh screenshots on main page
* removing irrelevant portions
* moved a set of sections under 'Misc'
* rebuilt the Gallery with all screenshots
Ubuntu 16.04 by default install python2.7 alongside with python 3.5 and set python2.7 as default. If you have created a virtualenv with python3.5 compilation fails due to wrong python-dev library installed.
If you install ``python3.5-dev`` the build for the wheel package of ``cryptography`` run fine.
* db_engine_specs: added engine spec for clickhouse
* models: group by time without join on subquery
if this is enabled, it will remove the subquery when grouping by time,
and group by time will be rewritten as group by timeslot, ...
this particularly fixes clickhouse backend
* docs: added clickhouse
* models: allow using secondary dttm columns as constraints
* superset/forms: configurable default slice since time
* superset/models: respect dialect quoting
* dttm handling, codeclimate tweaks
When adding a Redshift database, the docs said to use a connection
string that started with `redshift+psycopg2://...`, but this results
in a Python error from how SQLAlchemy executes the `get_schema_names`
method (first reported [here](https://github.com/airbnb/superset/issues/2364#issuecomment-284705179)).
The fix is to use `postgresql+psycog2://...` for the Redshift connection
string.