diff --git a/ansible/roles/kong-api/defaults/main.yml b/ansible/roles/kong-api/defaults/main.yml index e1e8c4f05d..981d49b320 100644 --- a/ansible/roles/kong-api/defaults/main.yml +++ b/ansible/roles/kong-api/defaults/main.yml @@ -125,10 +125,12 @@ ciosIntegration_prefix: /ciosIntegration tenders_prefix: /tenders mentoring_prefix : /mentoring mentoring_interface_prefix : /interface -designation_prefix: /designation external_enrollment_prefix: /cios-enroll -comp_theme_prefix: /competencyTheme -comp_sub_theme_prefix: /competencySubTheme +designation_prefix : /designation +comp_area_prefix : /competencyArea +comp_theme_prefix : /competencyTheme +comp_sub_theme_prefix : /competencySubTheme +org_prefix : /org # Service URLs @@ -14034,7 +14036,7 @@ kong_apis: config.allowed_payload_size: "{{ medium_request_size_limit }}" - name: homeFeeds - uris: "{{ mentoring_prefix }}/v1/mentees/sessions" + uris: "{{ mentoring_prefix }}/v1/mentees/homeFeed" upstream_url: "{{ mentoring_interface_service_url }}/mentoring/v1/mentees/homeFeed" strip_uri: true plugins: @@ -14248,7 +14250,6 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" - - name: sessionList uris: "{{ mentoring_prefix }}/v1/sessions/list" upstream_url: "{{ mentoring_interface_service_url }}/mentoring/v1/sessions/list" @@ -15775,7 +15776,6 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" - - name: mentoringBulkUpdateMentorNames uris: "{{ mentoring_prefix }}/v1/sessions/bulkUpdateMentorNames" upstream_url: "{{ mentoring_interface_service_url }}/mentoring/v1/sessions/bulkUpdateMentorNames" @@ -15794,10 +15794,9 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" - - - name: mentoringBulkUpdateMentorNames - uris: "{{ mentoring_prefix }}/v1/sessions/bulkUpdateMentorNames" - upstream_url: "{{ mentoring_interface_service_url }}/mentoring/v1/sessions/bulkUpdateMentorNames" + - name: ciosProgressExcel + uris: "{{ ciosIntegration_prefix }}/v1/loadContentProgressFromExcel" + upstream_url: "{{ cios_content_service_url }}/ciosIntegration/v1/loadContentProgressFromExcel" strip_uri: true plugins: - name: jwt @@ -15805,17 +15804,35 @@ kong_apis: - "{{ statsd_pulgin }}" - name: acl config.whitelist: - - 'mentorServiceSysAdmin' + - 'contentAccess' - name: rate-limiting config.policy: local config.hour: "{{ medium_rate_limit_per_hour }}" config.limit_by: credential - name: request-size-limiting - config.allowed_payload_size: "{{ medium_request_size_limit }}" + config.allowed_payload_size: "{{ medium_request_size_limit }}" - - name: designationMasterBulkUpload - uris: "{{ designation_prefix }}/upload" - upstream_url: "{{ cb_pores_service_url }}/designation_prefix/upload" + - name: privateUserCourseEnrollmentList + uris: "{{ course_service_prefix }}/private/v3/user/enrollment/list" + upstream_url: "{{ lms_service_url }}/private/v3/user/courses/list" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'courseAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ small_request_size_limit }}" + + - name: approvedEmailDomains + uris: "{{ user_service_prefix }}/v1/email/approvedDomains" + upstream_url: "{{ sb_cb_ext_service_url }}/user/email/approved/domains" strip_uri: true plugins: - name: jwt @@ -15823,13 +15840,13 @@ kong_apis: - "{{ statsd_pulgin }}" - name: acl config.whitelist: - - 'contentAccess' + - 'courseAccess' - name: rate-limiting config.policy: local - config.hour: "{{ medium_rate_limit_per_hour }}" + config.hour: "{{ large_rate_limit_per_hour }}" config.limit_by: credential - name: request-size-limiting - config.allowed_payload_size: "{{ medium_request_size_limit }}" + config.allowed_payload_size: "{{ small_request_size_limit }}" - name: extEnrollmentCreate uris: "{{ external_enrollment_prefix }}/v1/create" @@ -15842,7 +15859,6 @@ kong_apis: - name: acl config.whitelist: - 'courseAccess' - - 'contentUpdate' - name: rate-limiting config.policy: local config.hour: "{{ large_rate_limit_per_hour }}" @@ -15853,8 +15869,8 @@ kong_apis: config.allowed_payload_size: "{{ medium_request_size_limit }}" - name: extEnrollmentReadByUserId - uris: "{{ external_enrollment_prefix }}/v1/listbyuserid" - upstream_url: "{{ cb_external_enrollment_service_url }}/cios-enroll/v1/listbyuserid" + uris: "{{ external_enrollment_prefix }}/v1/courselist/byuserid" + upstream_url: "{{ cb_external_enrollment_service_url }}/cios-enroll/v1/courselist/byuserid" strip_uri: true plugins: - name: jwt @@ -15862,7 +15878,7 @@ kong_apis: - "{{ statsd_pulgin }}" - name: acl config.whitelist: - - 'contentUpdate' + - 'courseAccess' - name: rate-limiting config.policy: local config.hour: "{{ medium_rate_limit_per_hour }}" @@ -15871,8 +15887,80 @@ kong_apis: config.allowed_payload_size: "{{ medium_request_size_limit }}" - name: extEnrollmentReadByUserIdAndCourseId - uris: "{{ external_enrollment_prefix }}/v1/readby/useridcourseId" - upstream_url: "{{ cb_external_enrollment_service_url }}/cios-enroll/v1/readby/useridcourseId" + uris: "{{ external_enrollment_prefix }}/v1/readby/useridcourseid" + upstream_url: "{{ cb_external_enrollment_service_url }}/cios-enroll/v1/readby/useridcourseid" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'courseAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: designationList + uris: "{{ designation_prefix }}/search" + upstream_url: "{{ cb_pores_service_url }}/designation/search" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: designationCreate + uris: "{{ designation_prefix }}/create" + upstream_url: "{{ cb_pores_service_url }}/designation/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentCreate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: designationUpdate + uris: "{{ designation_prefix }}/update" + upstream_url: "{{ cb_pores_service_url }}/designation/update" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: designationDelete + uris: "{{ designation_prefix }}/delete" + upstream_url: "{{ cb_pores_service_url }}/designation/delete" strip_uri: true plugins: - name: jwt @@ -15888,9 +15976,9 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" - - name: competencySubThemeTermCreate - uris: "{{ comp_sub_theme_prefix }}/create/term" - upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/term/create" + - name: designationRead + uris: "{{ designation_prefix }}/read" + upstream_url: "{{ cb_pores_service_url }}/designation/read" strip_uri: true plugins: - name: jwt @@ -15906,9 +15994,28 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" - - name: competencyThemeTermCreate - uris: "{{ comp_theme_prefix }}/create/term" - upstream_url: "{{ cb_pores_service_url }}/competencyTheme/term/create" + - name: designationUpload + uris: "{{ designation_prefix }}/upload" + upstream_url: "{{ cb_pores_service_url }}/designation/upload" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'orgSuperAdmin' + - 'orgAdmin' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyAreaList + uris: "{{ comp_area_prefix }}/search" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/search" strip_uri: true plugins: - name: jwt @@ -15924,10 +16031,409 @@ kong_apis: - name: request-size-limiting config.allowed_payload_size: "{{ medium_request_size_limit }}" + - name: competencyAreaUpload + uris: "{{ comp_area_prefix }}/upload" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/upload" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'orgSuperAdmin' + - 'orgAdmin' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeList + uris: "{{ comp_theme_prefix }}/search" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/search" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeUpload + uris: "{{ comp_theme_prefix }}/upload" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/upload" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'orgSuperAdmin' + - 'orgAdmin' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeList + uris: "{{ comp_sub_theme_prefix }}/search" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/search" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeUpload + uris: "{{ comp_sub_theme_prefix }}/upload" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/upload" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'orgSuperAdmin' + - 'orgAdmin' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyAreaCreate + uris: "{{ comp_area_prefix }}/create" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentCreate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyAreaUpdate + uris: "{{ comp_area_prefix }}/update" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/update" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyAreaDelete + uris: "{{ comp_area_prefix }}/delete" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/delete" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyAreaRead + uris: "{{ comp_area_prefix }}/read" + upstream_url: "{{ cb_pores_service_url }}/competencyArea/read" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeCreate + uris: "{{ comp_theme_prefix }}/create" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentCreate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeUpdate + uris: "{{ comp_theme_prefix }}/update" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/update" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeDelete + uris: "{{ comp_theme_prefix }}/delete" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/delete" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeRead + uris: "{{ comp_theme_prefix }}/read" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/read" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeCreate + uris: "{{ comp_sub_theme_prefix }}/create" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentCreate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeUpdate + uris: "{{ comp_sub_theme_prefix }}/update" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/update" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeDelete + uris: "{{ comp_sub_theme_prefix }}/delete" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/delete" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeRead + uris: "{{ comp_sub_theme_prefix }}/read" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/read" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: topTenlearners + uris: "/halloffame/top/learners" + upstream_url: "{{ sb_cb_ext_service_url }}/v1/top/learners" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'dataAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: ciosReadByExtId + uris: "{{ cios_prefix }}/v1/content/readby/externalid" + upstream_url: "{{ cb_pores_service_url }}/cios/v1/content/readby/externalid" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentUpdate' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + - name: designationTermCreate uris: "{{ designation_prefix }}/create/term" upstream_url: "{{ cb_pores_service_url }}/designation/term/create" strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencyThemeTermCreate + uris: "{{ comp_theme_prefix }}/create/term" + upstream_url: "{{ cb_pores_service_url }}/competencyTheme/term/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: competencySubThemeTermCreate + uris: "{{ comp_sub_theme_prefix }}/create/term" + upstream_url: "{{ cb_pores_service_url }}/competencySubTheme/term/create" + strip_uri: true + plugins: + - name: jwt + - name: cors + - "{{ statsd_pulgin }}" + - name: acl + config.whitelist: + - 'contentAccess' + - name: rate-limiting + config.policy: local + config.hour: "{{ medium_rate_limit_per_hour }}" + config.limit_by: credential + - name: request-size-limiting + config.allowed_payload_size: "{{ medium_request_size_limit }}" + + - name: OrgFrameworkRead + uris: "{{ org_prefix }}/framework/read" + upstream_url: "{{ cb_pores_service_url }}/org/framework/read" + strip_uri: true plugins: - name: jwt - name: cors @@ -15979,4 +16485,5 @@ kong_apis: config.hour: "{{ medium_rate_limit_per_hour }}" config.limit_by: credential - name: request-size-limiting - config.allowed_payload_size: "{{ small_request_size_limit }}" \ No newline at end of file + config.allowed_payload_size: "{{ small_request_size_limit }}" + diff --git a/ansible/roles/kong-consumer/defaults/main.yml b/ansible/roles/kong-consumer/defaults/main.yml index a24a8297d1..5f28291969 100644 --- a/ansible/roles/kong-consumer/defaults/main.yml +++ b/ansible/roles/kong-consumer/defaults/main.yml @@ -178,7 +178,12 @@ kong_all_consumer_groups: - programsAccess - solutionsUpdate - dbAccess - + - mentorServiceMentee + - mentorServiceMentor + - mentorServiceOrgAdmin + - mentorServiceSysAdmin + - userSuperAccess + kong_consumers: - username: api-admin groups: "{{ kong_all_consumer_groups }}" diff --git a/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env b/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env index 7c87f53ac8..81d3639c9b 100644 --- a/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env +++ b/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env @@ -175,3 +175,4 @@ profile_update_url=/app/user-profile/details enrol_list_fields=contentType,name,channel,mimeType,appIcon,resourceType,identifier,trackable,objectType,organisation,pkgVersion,version,trackable,primaryCategory,posterImage,duration,creatorLogo,license,programDuration,avgRating,batches,endDate,startDate,status,enrollmentType,createdBy,certificates,competencies_v5,firstChildId,leafNodesCount,courseCategory number_of_records_per_trip_content_cache_load=200 +addExtraHrsAndMins.start_date_end_date=false