This repository has been archived by the owner on Jun 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: adds superset docker services and open edx integrations
* install custom requirements for mysql and OAuth2 * configure Superset to use the Open edX mysql service * install custom oauth2 manager and course permissions plugin * init OAuth2 application on LMS
- Loading branch information
1 parent
e6d11af
commit 99cddf7
Showing
9 changed files
with
670 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
tutorsuperset/templates/superset/apps/docker/docker-bootstrap.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# Copied from original: | ||
# | ||
# https://github.com/apache/superset/blob/969c963/docker/docker-bootstrap.sh | ||
|
||
set -eo pipefail | ||
|
||
REQUIREMENTS_LOCAL="/app/docker/requirements-local.txt" | ||
# If Cypress run – overwrite the password for admin and export env variables | ||
if [ "$CYPRESS_CONFIG" == "true" ]; then | ||
export SUPERSET_CONFIG=tests.integration_tests.superset_test_config | ||
export SUPERSET_TESTENV=true | ||
export SUPERSET__SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://superset:superset@db:5432/superset | ||
fi | ||
# | ||
# Make sure we have dev requirements installed | ||
# | ||
if [ -f "${REQUIREMENTS_LOCAL}" ]; then | ||
echo "Installing local overrides at ${REQUIREMENTS_LOCAL}" | ||
pip install -r "${REQUIREMENTS_LOCAL}" | ||
else | ||
echo "Skipping local overrides" | ||
fi | ||
|
||
if [[ "${1}" == "worker" ]]; then | ||
echo "Starting Celery worker..." | ||
celery --app=superset.tasks.celery_app:app worker -Ofair -l INFO | ||
elif [[ "${1}" == "beat" ]]; then | ||
echo "Starting Celery beat..." | ||
celery --app=superset.tasks.celery_app:app beat --pidfile /tmp/celerybeat.pid -l INFO -s "${SUPERSET_HOME}"/celerybeat-schedule | ||
elif [[ "${1}" == "app" ]]; then | ||
echo "Starting web app..." | ||
flask run -p 8088 --with-threads --reload --debugger --host=0.0.0.0 | ||
elif [[ "${1}" == "app-gunicorn" ]]; then | ||
echo "Starting web app..." | ||
/usr/bin/run-server.sh | ||
fi |
79 changes: 79 additions & 0 deletions
79
tutorsuperset/templates/superset/apps/docker/docker-init.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
# Modified from original: | ||
# | ||
# https://github.com/apache/superset/blob/969c963/docker/docker-init.sh | ||
|
||
set -e | ||
|
||
STEP_CNT=4 | ||
|
||
echo_step() { | ||
cat <<EOF | ||
###################################################################### | ||
Init Step ${1}/${STEP_CNT} [${2}] -- ${3} | ||
###################################################################### | ||
EOF | ||
} | ||
# Initialize the database | ||
echo_step "1" "Starting" "Applying DB migrations" | ||
superset db upgrade | ||
echo_step "1" "Complete" "Applying DB migrations" | ||
|
||
# If Cypress run – overwrite the password for admin and export env variables | ||
if [ "$CYPRESS_CONFIG" == "true" ]; then | ||
ADMIN_USERNAME="admin" | ||
ADMIN_PASSWORD="general" | ||
export SUPERSET_CONFIG=tests.integration_tests.superset_test_config | ||
export SUPERSET_TESTENV=true | ||
export SUPERSET__SQLALCHEMY_DATABASE_URI=postgresql+psycopg2://superset:superset@db:5432/superset | ||
# Create an admin user | ||
echo_step "2" "Starting" "Setting up admin user ( $ADMIN_USERNAME / $ADMIN_PASSWORD )" | ||
superset fab create-admin \ | ||
--username $ADMIN_USERNAME \ | ||
--firstname Superset \ | ||
--lastname Admin \ | ||
--email admin@superset.com \ | ||
--password $ADMIN_PASSWORD | ||
echo_step "2" "Complete" "Setting up admin user" | ||
fi | ||
|
||
# Create default roles and permissions | ||
echo_step "3" "Starting" "Setting up roles and perms" | ||
superset init | ||
echo_step "3" "Complete" "Setting up roles and perms" | ||
|
||
if [ "$SUPERSET_LOAD_EXAMPLES" = "yes" ]; then | ||
# Load some data to play with | ||
echo_step "4" "Starting" "Loading examples" | ||
# If Cypress run which consumes superset_test_config – load required data for tests | ||
if [ "$CYPRESS_CONFIG" == "true" ]; then | ||
superset load_test_users | ||
superset load_examples --load-test-data | ||
else | ||
superset load_examples | ||
fi | ||
echo_step "4" "Complete" "Loading examples" | ||
fi |
2 changes: 2 additions & 0 deletions
2
tutorsuperset/templates/superset/apps/docker/requirements-local.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
authlib # OAuth2 | ||
mysqlclient |
Oops, something went wrong.