diff --git a/docker-compose-host.yml b/docker-compose-host.yml index 98ab20a..743891f 100644 --- a/docker-compose-host.yml +++ b/docker-compose-host.yml @@ -171,6 +171,21 @@ services: - ${DEVSTACK_WORKSPACE}/frontend-app-ora-grading:/edx/app/frontend-app-ora-grading - frontend_app_ora_grading_node_modules:/edx/app/frontend-app-ora-grading/node_modules - ${DEVSTACK_WORKSPACE}/src:/edx/app/src + frontend-app-admin-portal: + volumes: + - ${DEVSTACK_WORKSPACE}/frontend-app-admin-portal:/edx/app/frontend-app-admin-portal + - frontend_app_admin_portal_node_modules:/edx/app/frontend-app-admin-portal/node_modules + - ${DEVSTACK_WORKSPACE}/src:/edx/app/src + frontend-app-learner-portal-enterprise: + volumes: + - ${DEVSTACK_WORKSPACE}/frontend-app-learner-portal-enterprise:/edx/app/frontend-app-learner-portal-enterprise + - frontend_app_learner_portal_enterprise_node_modules:/edx/app/frontend-app-learner-portal-enterprise/node_modules + - ${DEVSTACK_WORKSPACE}/src:/edx/app/src + frontend-app-enterprise-checkout: + volumes: + - ${DEVSTACK_WORKSPACE}/frontend-app-enterprise-checkout:/edx/app/frontend-app-enterprise-checkout + - frontend_app_enterprise_checkout_node_modules:/edx/app/frontend-app-enterprise-checkout/node_modules + - ${DEVSTACK_WORKSPACE}/src:/edx/app/src frontend-app-learner-dashboard: volumes: - ${DEVSTACK_WORKSPACE}/frontend-app-learner-dashboard:/edx/app/frontend-app-learner-dashboard @@ -228,6 +243,9 @@ volumes: frontend_app_payment_node_modules: frontend_app_program_console_node_modules: frontend_app_publisher_node_modules: + frontend_app_admin_portal_node_modules: + frontend_app_learner_portal_enterprise_node_modules: + frontend_app_enterprise_checkout_node_modules: credentials_tox: discovery_tox: ecommerce_tox: diff --git a/docker-compose.yml b/docker-compose.yml index a02b349..b9cd295 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1200,6 +1200,60 @@ services: depends_on: - lms + frontend-app-admin-portal: + extends: + file: microfrontend.yml + service: microfrontend + working_dir: '/edx/app/frontend-app-admin-portal' + container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.frontend-app-admin-portal" + environment: + PARAGON_BRAND_PACKAGE: '@edx/brand-edx.org@2.x' + networks: + default: + aliases: + - edx.devstack.frontend-app-admin-portal + ports: + - "1991:1991" + depends_on: + - lms + - enterprise-access + + frontend-app-learner-portal-enterprise: + extends: + file: microfrontend.yml + service: microfrontend + working_dir: '/edx/app/frontend-app-learner-portal-enterprise' + container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.frontend-app-learner-portal-enterprise" + environment: + PARAGON_BRAND_PACKAGE: '@edx/brand-edx.org@2.x' + networks: + default: + aliases: + - edx.devstack.frontend-app-learner-portal-enterprise + ports: + - "8734:8734" + depends_on: + - lms + - enterprise-access + + frontend-app-enterprise-checkout: + extends: + file: microfrontend.yml + service: microfrontend + working_dir: '/edx/app/frontend-app-enterprise-checkout' + container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.frontend-app-enterprise-checkout" + environment: + PARAGON_BRAND_PACKAGE: '@edx/brand-edx.org@2.x' + networks: + default: + aliases: + - edx.devstack.frontend-app-enterprise-checkout + ports: + - "1989:1989" + depends_on: + - lms + - enterprise-access + volumes: coursegraph_data: discovery_assets: diff --git a/docs/service_list.rst b/docs/service_list.rst index bda6d04..19a62de 100644 --- a/docs/service_list.rst +++ b/docs/service_list.rst @@ -10,73 +10,79 @@ Most developers will be best served by working with specific combinations of the Instead of a service name or list, you can also run commands like ``make dev.provision`` / ``make dev.pull.large-and-slow`` / ``make dev.up.large-and-slow``. This is a larger list than most people will need for most of their work, and includes all of the services marked "Default" in the below table. (Some of these targets use ``large-and-slow`` in their name as a warning; others may be changed to use this over time.) However, you can change this list by modifying the ``DEFAULT_SERVICES`` option as described in :doc:`advanced_configuration`. -+------------------------------------+-------------------------------------+----------------+--------------+ -| Service | URL | Type | Role | -+====================================+=====================================+================+==============+ -| `lms`_ | http://localhost:18000/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `cms`_ | http://localhost:18010/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `forum`_ | http://localhost:44567/api/v1/ | Ruby/Sinatra | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `discovery`_ | http://localhost:18381/api-docs/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `ecommerce`_ | http://localhost:18130/dashboard/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `credentials`_ | http://localhost:18150/api/v2/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `edx_notes_api`_ | http://localhost:18120/api/v1/ | Python/Django | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-learner-dashboard`_ | http://localhost:1996/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-learner-record`_ | http://localhost:1990/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-learning`_ | http://localhost:2000/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-payment`_ | http://localhost:1998/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-publisher`_ | http://localhost:18400/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-gradebook`_ | http://localhost:1994/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-authn`_ | http://localhost:1999/ | MFE (React.js) | Default | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `codejail`_ | http://localhost:18030/ | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `registrar`_ | http://localhost:18734/api-docs/ | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-program-console`_ | http://localhost:1976/ | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-library-authoring`_ | http://localhost:3001/ | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-course-authoring`_ | http://localhost:2001/ | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-account`_ | http://localhost:1997/ | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-profile`_ | http://localhost:1995/ | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `xqueue`_ | http://localhost:18040/api/v1/ | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `coursegraph`_ | http://localhost:7474/browser | Tooling (Java) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `insights`_ | http://localhost:18110 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `analyticsapi`_ | http://localhost:19001 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `license-manager`_ | http://localhost:18171 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `frontend-app-ora-grading`_ | http://localhost:1993 | MFE (React.js) | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `designer`_ | http://localhost:18808 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `enterprise-catalog`_ | http://localhost:18160/ | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `enterprise-access`_ | http://localhost:18270 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `enterprise-subsidy`_ | http://localhost:18280 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ -| `edx-exams`_ | http://localhost:18740 | Python/Django | Extra | -+------------------------------------+-------------------------------------+----------------+--------------+ ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| Service | URL | Type | Role | ++===========================================+=====================================+================+==============+ +| `lms`_ | http://localhost:18000/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `cms`_ | http://localhost:18010/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `forum`_ | http://localhost:44567/api/v1/ | Ruby/Sinatra | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `discovery`_ | http://localhost:18381/api-docs/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `ecommerce`_ | http://localhost:18130/dashboard/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `credentials`_ | http://localhost:18150/api/v2/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `edx_notes_api`_ | http://localhost:18120/api/v1/ | Python/Django | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-learner-dashboard`_ | http://localhost:1996/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-learner-record`_ | http://localhost:1990/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-learning`_ | http://localhost:2000/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-payment`_ | http://localhost:1998/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-publisher`_ | http://localhost:18400/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-gradebook`_ | http://localhost:1994/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-authn`_ | http://localhost:1999/ | MFE (React.js) | Default | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `codejail`_ | http://localhost:18030/ | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `registrar`_ | http://localhost:18734/api-docs/ | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-program-console`_ | http://localhost:1976/ | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-library-authoring`_ | http://localhost:3001/ | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-course-authoring`_ | http://localhost:2001/ | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-account`_ | http://localhost:1997/ | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-profile`_ | http://localhost:1995/ | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `xqueue`_ | http://localhost:18040/api/v1/ | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `coursegraph`_ | http://localhost:7474/browser | Tooling (Java) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `insights`_ | http://localhost:18110 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `analyticsapi`_ | http://localhost:19001 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `license-manager`_ | http://localhost:18171 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-ora-grading`_ | http://localhost:1993 | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `designer`_ | http://localhost:18808 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `enterprise-catalog`_ | http://localhost:18160/ | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `enterprise-access`_ | http://localhost:18270 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `enterprise-subsidy`_ | http://localhost:18280 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-admin-portal`_ | http://localhost:1991 | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-learner-portal-enterprise`_ | http://localhost:8734 | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `frontend-app-enterprise-checkout`_ | http://localhost:1989 | MFE (React.js) | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ +| `edx-exams`_ | http://localhost:18740 | Python/Django | Extra | ++-------------------------------------------+-------------------------------------+----------------+--------------+ Some common service combinations include: @@ -115,4 +121,7 @@ Some common service combinations include: .. _license-manager: https://github.com/openedx/license-manager .. _enterprise-access: https://github.com/openedx/enterprise-access .. _enterprise-subsidy: https://github.com/openedx/enterprise-subsidy +.. _frontend-app-admin-portal: https://github.com/openedx/frontend-app-admin-portal +.. _frontend-app-learner-portal-enterprise: https://github.com/openedx/frontend-app-learner-portal-enterprise +.. _frontend-app-enterprise-checkout: https://github.com/edx/frontend-app-enterprise-checkout .. _edx-exams: https://github.com/edx/edx-exams diff --git a/options.mk b/options.mk index e7ca882..0e317ce 100644 --- a/options.mk +++ b/options.mk @@ -67,7 +67,7 @@ credentials+discovery+ecommerce+edx_notes_api+forum+frontend-app-authn+frontend- # Separated by plus signs. # Separated by plus signs. Listed in alphabetical order for clarity. EDX_SERVICES ?= \ -analyticsapi+codejail+enterprise-subsidy+credentials+cms+cms-worker+cms_watcher+discovery+ecommerce+edx-exams+edx_notes_api+forum+frontend-app-account+frontend-app-learner-dashboard+frontend-app-learner-record+frontend-app-profile+frontend-app-authn+frontend-app-course-authoring+frontend-app-gradebook+frontend-app-ora-grading+frontend-app-learning+frontend-app-library-authoring+frontend-app-payment+frontend-app-program-console+frontend-app-publisher+insights+lms+lms-worker+lms_watcher+registrar+registrar-worker+xqueue+xqueue_consumer+enterprise-catalog+license-manager+designer+enterprise-access +analyticsapi+codejail+enterprise-subsidy+credentials+cms+cms-worker+cms_watcher+discovery+ecommerce+edx-exams+edx_notes_api+forum+frontend-app-account+frontend-app-learner-dashboard+frontend-app-learner-record+frontend-app-profile+frontend-app-authn+frontend-app-course-authoring+frontend-app-gradebook+frontend-app-ora-grading+frontend-app-learning+frontend-app-library-authoring+frontend-app-payment+frontend-app-program-console+frontend-app-publisher+insights+lms+lms-worker+lms_watcher+registrar+registrar-worker+xqueue+xqueue_consumer+enterprise-catalog+license-manager+designer+enterprise-access+frontend-app-admin-portal+frontend-app-learner-portal-enterprise+frontend-app-enterprise-checkout # Services with database migrations. # Should be a subset of $(EDX_SERVICES). @@ -76,7 +76,7 @@ analyticsapi+codejail+enterprise-subsidy+credentials+cms+cms-worker+cms_watcher+ # Note: This list should contain _all_ db-backed services, even if not # configured to run; the list will be filtered later against $(DEFAULT_SERVICES). DB_SERVICES ?= \ -credentials+cms+discovery+ecommerce+enterprise-access+lms+registrar+license-manager +credentials+cms+discovery+ecommerce+enterprise-access+enterprise-subsidy+lms+registrar+license-manager # Services with static assets to be built. # Should be a subset of $(EDX_SERVICES). diff --git a/py_configuration_files/lms.py b/py_configuration_files/lms.py index db6686a..3c6a9fc 100644 --- a/py_configuration_files/lms.py +++ b/py_configuration_files/lms.py @@ -273,6 +273,10 @@ def should_show_debug_toolbar(request): # lint-amnesty, pylint: disable=missing ENTERPRISE_ADMIN_PORTAL_NETLOC = 'localhost:1991' ENTERPRISE_ADMIN_PORTAL_BASE_URL = 'http://' + ENTERPRISE_ADMIN_PORTAL_NETLOC +########################## ENTERPRISE CHECKOUT ############################## +ENTERPRISE_CHECKOUT_NETLOC = 'localhost:1989' +ENTERPRISE_CHECKOUT_BASE_URL = 'http://' + ENTERPRISE_CHECKOUT_NETLOC + ########################## GRADEBOOK APP ############################## WRITABLE_GRADEBOOK_URL = 'http://localhost:1994' @@ -312,6 +316,7 @@ def should_show_debug_toolbar(request): # lint-amnesty, pylint: disable=missing 'localhost:1996', # frontend-app-learner-dashboard ENTERPRISE_LEARNER_PORTAL_NETLOC, # frontend-app-learner-portal-enterprise ENTERPRISE_ADMIN_PORTAL_NETLOC, # frontend-app-admin-portal + ENTERPRISE_CHECKOUT_NETLOC, # frontend-app-enterprise-checkout ]) ###################### JWTs ###################### @@ -550,6 +555,7 @@ def should_show_debug_toolbar(request): # lint-amnesty, pylint: disable=missing 'http://localhost:2002', # frontend-app-discussions 'http://localhost:1991', # frontend-app-admin-portal 'http://localhost:8734', # frontend-app-learner-portal-enterprise + 'http://localhost:1989', # frontend-app-enterprise-checkout 'http://localhost:1999', # frontend-app-authn 'http://localhost:18450', # frontend-app-support-tools 'http://localhost:1994', # frontend-app-gradebook diff --git a/repo.sh b/repo.sh index 0a76127..8467e15 100755 --- a/repo.sh +++ b/repo.sh @@ -54,6 +54,9 @@ non_release_repos=( "https://github.com/openedx/frontend-app-profile.git" "https://github.com/openedx/frontend-app-ora-grading.git" "https://github.com/openedx/enterprise-subsidy.git" + "https://github.com/openedx/frontend-app-admin-portal.git" + "https://github.com/openedx/frontend-app-learner-portal-enterprise.git" + "https://github.com/edx/frontend-app-enterprise-checkout.git" "https://github.com/edx/edx-exams.git" ) @@ -91,6 +94,9 @@ non_release_ssh_repos=( "git@github.com:openedx/frontend-app-profile.git" "git@github.com:openedx/frontend-app-ora-grading.git" "git@github.com:openedx/enterprise-subsidy.git" + "git@github.com:openedx/frontend-app-admin-portal.git" + "git@github.com:openedx/frontend-app-learner-portal-enterprise.git" + "git@github.com:edx/frontend-app-enterprise-checkout.git" "git@github.com:edx/edx-exams.git" )