Skip to content

Commit 4255f6a

Browse files
authored
Merge pull request #72 from edx/huniafatima/add-devstack-config
chore: add devstack configuration file for all IDAs
2 parents 3c79ad3 + 7ab32f9 commit 4255f6a

18 files changed

+2117
-0
lines changed

docker-compose-host.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ services:
1212
- discovery_node_modules:/edx/app/discovery/discovery/node_modules
1313
- discovery_tox:/edx/app/discovery/discovery/.tox
1414
- ${DEVSTACK_WORKSPACE}/src:/edx/src
15+
- ${PWD}/py_configuration_files/course_discovery.py:/edx/app/discovery/discovery/course_discovery/settings/devstack.py
1516
ecommerce:
1617
volumes:
1718
- ${DEVSTACK_WORKSPACE}/ecommerce:/edx/app/ecommerce/ecommerce
1819
- ecommerce_node_modules:/edx/app/ecommerce/ecommerce/node_modules
1920
- ecommerce_tox:/edx/app/ecommerce/ecommerce/.tox
2021
- ${DEVSTACK_WORKSPACE}/src:/edx/src
22+
- ${PWD}/py_configuration_files/ecommerce.py:/edx/app/ecommerce/ecommerce/ecommerce/settings/devstack.py
2123
forum:
2224
volumes:
2325
- ${DEVSTACK_WORKSPACE}/cs_comments_service:/edx/app/forum/cs_comments_service
@@ -29,16 +31,20 @@ services:
2931
- edxapp_tox:/edx/app/edxapp/edx-platform/.tox
3032
- edxapp_uploads:/edx/var/edxapp/uploads
3133
- ${DEVSTACK_WORKSPACE}/src:/edx/src
34+
- ${PWD}/py_configuration_files/cms.py:/edx/app/edxapp/edx-platform/cms/envs/devstack.py
35+
- ${PWD}/py_configuration_files/lms.py:/edx/app/edxapp/edx-platform/lms/envs/devstack.py
3236
lms-worker:
3337
volumes:
3438
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform
3539
edx_notes_api:
3640
volumes:
3741
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/notes/
3842
- ${DEVSTACK_WORKSPACE}/src:/edx/src
43+
- ${PWD}/py_configuration_files/edx_notes_api.py:/edx/app/notes/notesserver/settings/devstack.py
3944
registrar:
4045
volumes:
4146
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar
47+
- ${PWD}/py_configuration_files/registrar.py:/edx/app/registrar/registrar/registrar/settings/devstack.py
4248
registrar-worker:
4349
volumes:
4450
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar
@@ -50,17 +56,21 @@ services:
5056
- edxapp_tox:/edx/app/edxapp/edx-platform/.tox
5157
- edxapp_uploads:/edx/var/edxapp/uploads
5258
- ${DEVSTACK_WORKSPACE}/src:/edx/src
59+
- ${PWD}/py_configuration_files/cms.py:/edx/app/edxapp/edx-platform/cms/envs/devstack.py
60+
- ${PWD}/py_configuration_files/lms.py:/edx/app/edxapp/edx-platform/lms/envs/devstack.py
5361
cms-worker:
5462
volumes:
5563
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform
5664
insights:
5765
volumes:
5866
- ${DEVSTACK_WORKSPACE}/edx-analytics-dashboard:/edx/app/insights/insights
5967
- insights_node_modules:/edx/app/insights/insights/node_modules
68+
- ${PWD}/py_configuration_files/analytics_dashboard.py:/edx/app/insights/edx_analytics_dashboard/edx_analytics_dashboard/settings/devstack.py
6069
analyticsapi:
6170
volumes:
6271
- ${DEVSTACK_WORKSPACE}/edx-analytics-data-api:/edx/app/analytics_api/analytics_api
6372
- ${DEVSTACK_WORKSPACE}/src:/edx/src
73+
- ${PWD}/py_configuration_files/analytics_data_api.py:/edx/app/analytics_api/analytics_api/analyticsdataserver/settings/devstack.py
6474

6575
# Note that frontends mount `src` to /edx/app/src instead of /edx/src.
6676
# See ADR #5 for rationale.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"""Devstack settings."""
2+
3+
import os
4+
5+
from analyticsdataserver.settings.local import *
6+
7+
########## DATABASE CONFIGURATION
8+
DATABASES = {
9+
'default': {
10+
'ENGINE': 'django.db.backends.mysql',
11+
'NAME': 'analytics-api',
12+
'USER': 'api001',
13+
'PASSWORD': 'password',
14+
'HOST': 'edx.devstack.mysql',
15+
'PORT': '3306',
16+
},
17+
'analytics_v1': {
18+
'ENGINE': 'django.db.backends.mysql',
19+
'NAME': 'reports_v1',
20+
'USER': 'api001',
21+
'PASSWORD': 'password',
22+
'HOST': 'edx.devstack.mysql',
23+
'PORT': '3306',
24+
},
25+
'analytics': {
26+
'ENGINE': 'django.db.backends.mysql',
27+
'NAME': 'reports',
28+
'USER': 'reports001',
29+
'PASSWORD': 'password',
30+
'HOST': 'edx.devstack.mysql',
31+
'PORT': '3306',
32+
}
33+
}
34+
35+
ANALYTICS_DATABASE_V1 = 'analytics_v1'
36+
37+
DB_OVERRIDES = dict(
38+
USER=os.environ.get('DB_USER', DATABASES['default']['USER']),
39+
PASSWORD=os.environ.get('DB_PASSWORD', DATABASES['default']['PASSWORD']),
40+
HOST=os.environ.get('DB_HOST', DATABASES['default']['HOST']),
41+
PORT=os.environ.get('DB_PORT', DATABASES['default']['PORT']),
42+
)
43+
44+
for override, value in DB_OVERRIDES.items():
45+
DATABASES['default'][override] = value
46+
DATABASES['analytics'][override] = value
47+
DATABASES['analytics_v1'][override] = value
48+
49+
DATABASE_ROUTERS = ['analyticsdataserver.router.AnalyticsAPIRouter', 'analyticsdataserver.router.AnalyticsModelsRouter']
50+
51+
########## END DATABASE CONFIGURATION
52+
53+
ALLOWED_HOSTS += ['edx.devstack.analyticsapi']
54+
55+
LMS_BASE_URL = "http://edx.devstack.lms:18000/"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
"""django settings for development on devstack"""
2+
3+
from analytics_dashboard.settings.dev import *
4+
5+
DB_OVERRIDES = {
6+
"PASSWORD": os.environ.get('DB_PASSWORD', DATABASES['default']['PASSWORD']),
7+
"USER": os.environ.get('DB_USER', DATABASES['default']['USER']),
8+
"NAME": os.environ.get('DB_NAME', DATABASES['default']['NAME']),
9+
"HOST": os.environ.get('DB_HOST', DATABASES['default']['HOST']),
10+
"PORT": os.environ.get('DB_PORT', DATABASES['default']['PORT']),
11+
}
12+
13+
for override, value in DB_OVERRIDES.items():
14+
DATABASES['default'][override] = value
15+
16+
DATA_API_URL = os.environ.get("API_SERVER_URL", 'http://edx.devstack.analyticsapi:19001/api/v0')
17+
DATA_API_V1_ENABLED = True
18+
DATA_API_URL_V1 = os.environ.get("API_SERVER_URL", 'http://edx.devstack.analyticsapi:19001/api/v1')
19+
20+
ENROLLMENT_AGE_AVAILABLE = True
21+
22+
# Set these to the correct values for your OAuth2/OpenID Connect provider (e.g., devstack)
23+
SOCIAL_AUTH_EDX_OAUTH2_KEY = os.environ.get('SOCIAL_AUTH_EDX_OAUTH2_KEY', 'insights-sso-key')
24+
SOCIAL_AUTH_EDX_OAUTH2_SECRET = os.environ.get('SOCIAL_AUTH_EDX_OAUTH2_SECRET', 'insights-sso-secret')
25+
SOCIAL_AUTH_EDX_OAUTH2_ISSUER = os.environ.get('SOCIAL_AUTH_EDX_OAUTH2_ISSUER', 'http://localhost:18000')
26+
SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT = os.environ.get('SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT', 'http://edx.devstack.lms:18000')
27+
SOCIAL_AUTH_EDX_OAUTH2_LOGOUT_URL = os.environ.get('SOCIAL_AUTH_EDX_OAUTH2_LOGOUT_URL', 'http://localhost:18000/logout')
28+
SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT = os.environ.get(
29+
'SOCIAL_AUTH_EDX_OAUTH2_PUBLIC_URL_ROOT', 'http://localhost:18000',
30+
)
31+
32+
BACKEND_SERVICE_EDX_OAUTH2_KEY = os.environ.get('BACKEND_SERVICE_EDX_OAUTH2_KEY', 'insights-backend-service-key')
33+
BACKEND_SERVICE_EDX_OAUTH2_SECRET = os.environ.get(
34+
'BACKEND_SERVICE_EDX_OAUTH2_SECRET', 'insights-backend-service-secret'
35+
)
36+
BACKEND_SERVICE_EDX_OAUTH2_PROVIDER_URL = os.environ.get(
37+
'BACKEND_SERVICE_EDX_OAUTH2_PROVIDER_URL', 'http://edx.devstack.lms:18000/oauth2',
38+
)
39+
40+
COURSE_API_URL = 'http://edx.devstack.lms:18000/api/courses/v1/'
41+
GRADING_POLICY_API_URL = 'http://edx.devstack.lms:18000/api/grades/v1/'
42+
43+
MODULE_PREVIEW_URL = 'http://edx.devstack.lms:18000/xblock'
44+
45+
JWT_AUTH = {
46+
'JWT_AUTH_HEADER_PREFIX': 'JWT',
47+
}

0 commit comments

Comments
 (0)