From abac29d49e1191a7b380163608ed5f3ed311ff5a Mon Sep 17 00:00:00 2001 From: Mohammad Ahtasham ul Hassan <60315450+aht007@users.noreply.github.com> Date: Thu, 1 Dec 2022 14:59:14 +0500 Subject: [PATCH] feat: analyticsapi config for native image (#986) --- Makefile | 2 +- configuration_files/analytics_api.yml | 76 +++++++++++++++++++++++++++ docker-compose.yml | 4 +- 3 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 configuration_files/analytics_api.yml diff --git a/Makefile b/Makefile index 82d6b813db..393326111a 100644 --- a/Makefile +++ b/Makefile @@ -448,7 +448,7 @@ dev.shell.xqueue_consumer: docker-compose exec xqueue_consumer env TERM=$(TERM) /edx/app/xqueue/devstack.sh open dev.shell.analyticsapi: - docker exec -it edx.devstack.analyticsapi env TERM=$(TERM) /edx/app/analytics_api/devstack.sh open + docker exec -it edx.devstack.analyticsapi env TERM=$(TERM) bash -c '/bin/bash' dev.shell.insights: docker-compose exec insights env TERM=$(TERM) bash -c 'eval $$(source /edx/app/insights/insights_env; echo PATH="$$PATH";) && /bin/bash' diff --git a/configuration_files/analytics_api.yml b/configuration_files/analytics_api.yml new file mode 100644 index 0000000000..927073e1d8 --- /dev/null +++ b/configuration_files/analytics_api.yml @@ -0,0 +1,76 @@ +AGGREGATE_PAGE_SIZE: 10 +ANALYTICS_DATABASE: reports +API_AUTH_TOKEN: put-your-api-token-here +API_ROOT: null +BACKEND_SERVICE_EDX_OAUTH2_KEY: analytics_api-backend-service-key +BACKEND_SERVICE_EDX_OAUTH2_PROVIDER_URL: http://127.0.0.1:8000/oauth2 +BACKEND_SERVICE_EDX_OAUTH2_SECRET: analytics_api-backend-service-secret +CACHES: + default: + BACKEND: django.core.cache.backends.memcached.MemcachedCache + KEY_PREFIX: analytics_api + LOCATION: + - memcache +CSRF_COOKIE_SECURE: false +DATABASES: + default: + ENGINE: django.db.backends.mysql + HOST: db.edx + NAME: analytics-api + PASSWORD: password + PORT: '3306' + USER: api001 + reports: + ENGINE: django.db.backends.mysql + HOST: db.edx + NAME: reports + PASSWORD: password + PORT: '3306' + USER: reports001 +DATETIME_FORMAT: '%Y-%m-%dT%H%M%S' +DATE_FORMAT: '%Y-%m-%d' +DEFAULT_PAGE_SIZE: 25 +EDX_DRF_EXTENSIONS: + OAUTH2_USER_INFO_URL: http://127.0.0.1:8000/user_info +ELASTICSEARCH_AWS_ACCESS_KEY_ID: null +ELASTICSEARCH_AWS_SECRET_ACCESS_KEY: null +ELASTICSEARCH_CONNECTION_CLASS: null +ELASTICSEARCH_CONNECTION_DEFAULT_REGION: us-east-1 +ELASTICSEARCH_LEARNERS_HOST: localhost +ELASTICSEARCH_LEARNERS_INDEX: roster_1_2 +ELASTICSEARCH_LEARNERS_UPDATE_INDEX: index_updates +EXTRA_APPS: [] +JWT_AUTH: + JWT_AUTH_COOKIE_HEADER_PAYLOAD: edx-jwt-cookie-header-payload + JWT_AUTH_COOKIE_SIGNATURE: edx-jwt-cookie-signature + JWT_AUTH_REFRESH_COOKIE: edx-jwt-refresh-cookie + JWT_ISSUERS: + - AUDIENCE: SET-ME-PLEASE + ISSUER: http://127.0.0.1:8000/oauth2 + SECRET_KEY: SET-ME-PLEASE + JWT_PUBLIC_SIGNING_JWK_SET: '' +LANGUAGE_CODE: en-us +LMS_BASE_URL: http://127.0.0.1:8000/ +MAX_PAGE_SIZE: 100 +MEDIA_STORAGE_BACKEND: + DEFAULT_FILE_STORAGE: django.core.files.storage.FileSystemStorage + MEDIA_ROOT: /edx/var/analytics_api/media + MEDIA_URL: /media/ +REPORT_DOWNLOAD_BACKEND: + COURSE_REPORT_FILE_LOCATION_TEMPLATE: '{course_id}_{report_name}.csv' + DEFAULT_FILE_STORAGE: django.core.files.storage.FileSystemStorage + MEDIA_ROOT: /edx/var/analytics_api/static/reports + MEDIA_URL: http://localhost:8100/static/reports/ +SECRET_KEY: Your secret key here +SESSION_EXPIRE_AT_BROWSER_CLOSE: false +SOCIAL_AUTH_EDX_OAUTH2_ISSUER: http://127.0.0.1:8000 +SOCIAL_AUTH_EDX_OAUTH2_KEY: analytics_api-sso-key +SOCIAL_AUTH_EDX_OAUTH2_LOGOUT_URL: http://127.0.0.1:8000/logout +SOCIAL_AUTH_EDX_OAUTH2_SECRET: analytics_api-sso-secret +SOCIAL_AUTH_EDX_OAUTH2_URL_ROOT: http://127.0.0.1:8000 +SOCIAL_AUTH_REDIRECT_IS_HTTPS: false +STATICFILES_DIRS: +- static +STATICFILES_STORAGE: django.contrib.staticfiles.storage.StaticFilesStorage +STATIC_ROOT: /edx/var/analytics_api/staticfiles +TIME_ZONE: UTC diff --git a/docker-compose.yml b/docker-compose.yml index d9c5526454..d5aaead694 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -497,7 +497,7 @@ services: - ${PWD}/configuration_files/insights.yml:/edx/etc/insights.yml analyticsapi: - image: edxops/analytics_api:${OPENEDX_RELEASE:-latest} + image: edxops/analytics-api-dev:${OPENEDX_RELEASE:-latest} container_name: edx.devstack.analyticsapi hostname: analyticsapi depends_on: @@ -512,10 +512,12 @@ services: DB_USER: analytics001 DB_PASSWORD: password ELASTICSEARCH_LEARNERS_HOST: edx.devstack.elasticsearch710 + working_dir: /edx/app/analytics_api/analytics_api ports: - "19001:19001" volumes: - /edx/var/analyticsapi + - ${PWD}/configuration_files/analytics_api.yml:/edx/etc/analytics_api.yml registrar: command: bash -c 'source /edx/app/registrar/registrar_env && while true; do python /edx/app/registrar/registrar/manage.py runserver 0.0.0.0:18734; sleep 2; done'