An error occurred while loading the file. Please try again.
-
anmol2302 authored712e6ba5
---
kong_admin_api_url: "http://{{kong_host}}:8001"
# Default statsd_metrics
statsd_metrics: ["request_count", "status_count", "latency", "upstream_latency", "request_size", "response_size"]
statsd_host: monitor_statsd_exporter
statsd_port: 9125
statsd_pulgin:
name: statsd
config.metrics: "{{ statsd_metrics }}"
config.host: "{{ statsd_host }}"
config.port: "{{ statsd_port }}"
# Default Rate limits
small_rate_limit_per_hour: 100
medium_rate_limit_per_hour: 5000
x_medium_rate_limit_per_hour: 5000
large_rate_limit_per_hour: 10000
x2_large_rate_limit_per_hour: 15000
x_large_rate_limit_per_hour: 30000
premium_consumer_small_rate_limit_per_hour: 1000
premium_consumer_medium_rate_limit_per_hour: 10000
premium_consumer_large_rate_limit_per_hour: 100000
# Default max request size in MB
small_request_size_limit: 1
medium_request_size_limit: 10
large_request_size_limit: 100
# Default service prefixes
private_content_prefix: /private/content
content_prefix: /content
course_service_prefix: /course
user_service_prefix: /user
data_service_prefix: /data
notes_service_prefix: /notes
org_service_prefix: /org
echo_service_prefix: /echo
composite_service_prefix: /composite
api_manager_perfix: /api-manager
meta_service_prefix: /meta
dashboard_service_prefix: /dashboard
announcement_service_prefix: /announcement
dialcode_service_prefix: /dialcode
channel_service_prefix: /channel
framework_service_prefix: /framework
badge_service_prefix: /badging
plugin_service_prefix: /plugins
config_service_prefix: /config
textbook_service_prefix: /textbook
lock_service_prefix: /lock
otp_service_prefix: /otp
sso_service_prefix: /sso
cert_service_prefix: /cert
cert_registry_service_prefix: /certreg
desktop_app_prefix: /desktop
license_api_prefix: /license
# Service URLs
knowledge_mw_service_url: "http://knowledge-mw-service:5000"
learning_service_url: "http://learner-service:9000"
vm_learning_service_url: "http://{{learningservice_ip}}:8080/learning-service"
telemetry_service_url: "http://telemetry-service:9001"
player_service_url: "http://player:3000"
echo_service_url: "http://echo:9595"
am_util_url: "http://adminutil:4000"
config_service_url: "http://config-service:8080"
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
user_org_service_url: "http://user-org-service:9000"
lms_service_url: "http://lms-service:9000"
cert_service_url: "http://cert-service:9000"
cert_registry_service_url: "http://cert-registry-service:9000"
content_service_url: "http://content-service:9000"
premium_consumer_rate_limits:
- api: createContent
config.hour: "{{ premium_consumer_small_rate_limit_per_hour }}"
config.limit_by: credential
config.policy: local
- api: updateContent
config.hour: "{{ premium_consumer_medium_rate_limit_per_hour }}"
config.limit_by: credential
config.policy: local
- api: readContent
config.hour: "{{ premium_consumer_large_rate_limit_per_hour }}"
config.limit_by: credential
config.policy: local
# Example:
# kong_apis:
# - name: "readContent"
# request_path: "/v3/public/content/read"
# upstream_url: "{{ learning_service_url }}/v3/public/content/read"
# strip_request_path: true
# plugins:
# - {name: 'jwt'}
# - {name: 'cors'}
# - {name: 'statsd', config.metrics: "{{ statsd_metrics }}" }
# - {name: 'acl', config.whitelist: 'contentUser'}
# - {name: 'rate-limiting', config.hour: "{{ medium_rate_limit_per_hour }}"}
# - {name: 'request-size-limiting', config.allowed_payload_size: "{{ medium_request_size_limit }}" }
kong_apis:
- name: PrivateContentAPIs
request_path: "{{ private_content_prefix }}/v3"
upstream_url: "{{ vm_learning_service_url }}/content/v3"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ PrivateContentAPIs_ACL | default(['privateContentMgmt']) }}"
- 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: PrivateContentCreateAPIs
request_path: "{{ private_content_prefix }}/v3/create"
upstream_url: "{{ content_service_url }}/content/v3/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ PrivateContentCreateAPIs_ACL | default(['privateContentMgmt']) }}"
- 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: PrivateContentUpdateAPIs
141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
request_path: "{{ private_content_prefix }}/v3/update"
upstream_url: "{{ content_service_url }}/content/v3/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ PrivateContentUpdateAPIs_ACL | default(['privateContentMgmt']) }}"
- 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: PrivateContentReadAPIs
request_path: "{{ private_content_prefix }}/v3/read"
upstream_url: "{{ content_service_url }}/content/v3/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ PrivateContentReadAPIs_ACL | default(['privateContentMgmt']) }}"
- 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: createContent
request_path: "{{ content_prefix }}/v1/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createContent_ACL | default(['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: "{{ small_request_size_limit }}"
- name: searchContent
request_path: "{{ content_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/search"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: updateContent
request_path: "{{ content_prefix }}/v1/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/update"
strip_request_path: true
plugins:
- name: jwt
211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateContent_ACL | default(['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: "{{ small_request_size_limit }}"
- name: readContent
request_path: "{{ content_prefix }}/v1/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/read"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: submitContentForReview
request_path: "{{ content_prefix }}/v1/review"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/review"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ submitContentForReview_ACL | default(['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: "{{ small_request_size_limit }}"
- name: publishContent
request_path: "{{ content_prefix }}/v1/publish"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/publish"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ publishContent_ACL | default(['contentAdmin']) }}"
- 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: uploadContent
request_path: "{{ content_prefix }}/v1/upload"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ uploadContent_ACL | default(['contentUpdate']) }}"
- name: rate-limiting
281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ large_request_size_limit }}"
- name: retireContent
request_path: "{{ content_prefix }}/v1/retire"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/retire"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ retireContent_ACL | default(['contentAdmin']) }}"
- 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: createCourse
request_path: "{{ course_service_prefix }}/v1/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createCourse_ACL | default(['courseUpdate']) }}"
- 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: searchCourse
request_path: "{{ course_service_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchCourse_ACL | default(['courseUser']) }}"
- 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: updateCourse
request_path: "{{ course_service_prefix }}/v1/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateCourse_ACL | default(['courseUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: readCourse
request_path: "{{ course_service_prefix }}/v1/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readCourse_ACL | default(['courseUser']) }}"
- 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: submitCourseForReview
request_path: "{{ course_service_prefix }}/v1/review"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/review"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ submitCourseForReview_ACL | default(['courseUpdate']) }}"
- 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: publishCourse
request_path: "{{ course_service_prefix }}/v1/publish"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/publish"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ publishCourse_ACL | default(['courseAdmin']) }}"
- 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: retireCourse
request_path: "{{ course_service_prefix }}/v1/retire"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/retire"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ retireCourse_ACL | default(['courseAdmin']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: getCourseHierarchy
request_path: "{{ course_service_prefix }}/v1/hierarchy"
upstream_url: "{{ knowledge_mw_service_url }}/v1/course/hierarchy"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: courseEnrolment
request_path: "{{ course_service_prefix }}/v1/enrol"
upstream_url: "{{ lms_service_url }}/v1/course/enroll"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ courseEnrolment_ACL | default(['courseUser','mobileApis']) }}"
- 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: courseUnEnrolment
request_path: "{{ course_service_prefix }}/v1/unenrol"
upstream_url: "{{ lms_service_url }}/v1/course/unenroll"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ courseUnEnrolment_ACL | default(['courseUser','mobileApis']) }}"
- 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: listCourseEnrollments
request_path: "{{ course_service_prefix }}/v1/user/enrollment/list"
upstream_url: "{{ lms_service_url }}/v1/user/courses/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listCourseEnrollments_ACL | default(['courseUser','mobileApis']) }}"
- 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: readCourseEnrollment
request_path: "{{ course_service_prefix }}/v1/user/enrollment/read"
upstream_url: "{{ lms_service_url }}/v1/user/courses/read"
491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readCourseEnrollment_ACL | default(['courseUser']) }}"
- 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: readContentState
request_path: "{{ course_service_prefix }}/v1/content/state/read"
upstream_url: "{{ lms_service_url }}/v1/content/state/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readContentState_ACL | default(['courseUser','mobileApis']) }}"
- 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: updateContentState
request_path: "{{ course_service_prefix }}/v1/content/state/update"
upstream_url: "{{ lms_service_url }}/v1/content/state/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateContentState_ACL | default(['courseUser','mobileApis']) }}"
- 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: createUser
request_path: "{{ user_service_prefix }}/v1/create"
upstream_url: "{{ learning_service_url }}/v1/user/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createUser_ACL | default(['userUpdate']) }}"
- 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: createUserVersion2
request_path: "{{ user_service_prefix }}/v2/create"
upstream_url: "{{ learning_service_url }}/v2/user/create"
strip_request_path: true
plugins:
561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createUserVersion2_ACL | default(['userUpdate']) }}"
- 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: updateUser
request_path: "{{ user_service_prefix }}/v1/update"
upstream_url: "{{ learning_service_url }}/v1/user/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUser_ACL | default(['userUpdate','mobileApis']) }}"
- 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: getUserProfile
request_path: "{{ user_service_prefix }}/v1/read"
upstream_url: "{{ learning_service_url }}/v1/user/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserProfile_ACL | default(['publicUser']) }}"
- 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: getUserProfileV2
request_path: "{{ user_service_prefix }}/v2/read"
upstream_url: "{{ learning_service_url }}/v2/user/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserProfileV2_ACL | default(['publicUser','mobileApis']) }}"
- 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: searchUser
request_path: "{{ user_service_prefix }}/v1/search"
upstream_url: "{{ learning_service_url }}/v1/user/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchUser_ACL | default(['publicUser','mobileApis']) }}"
- 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: retireUser
request_path: "{{ user_service_prefix }}/v1/retire"
upstream_url: "{{ learning_service_url }}/v1/user/retire"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ retireUser_ACL | default(['userAdmin']) }}"
- 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: createPage
request_path: "{{ data_service_prefix }}/v1/page/create"
upstream_url: "{{ lms_service_url }}/v1/page/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createPage_ACL | default(['appUpdate']) }}"
- 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: updatePage
request_path: "{{ data_service_prefix }}/v1/page/update"
upstream_url: "{{ lms_service_url }}/v1/page/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updatePage_ACL | default(['appUpdate']) }}"
- 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: getPageSettings
request_path: "{{ data_service_prefix }}/v1/page/read"
upstream_url: "{{ lms_service_url }}/v1/page/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770
config.whitelist: "{{ getPageSettings_ACL | default(['appUpdate']) }}"
- 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: dialAssemble
request_path: "{{ data_service_prefix }}/v1/dial/assemble"
upstream_url: "{{ lms_service_url }}/v1/page/assemble"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: assemblePage
request_path: "{{ data_service_prefix }}/v1/page/assemble"
upstream_url: "{{ lms_service_url }}/v1/page/assemble"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: createNote
request_path: "{{ notes_service_prefix }}/v1/create"
upstream_url: "{{ learning_service_url }}/v1/note/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createNote_ACL | default(['noteUpdate']) }}"
- 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: updateNote
request_path: "{{ notes_service_prefix }}/v1/update"
upstream_url: "{{ learning_service_url }}/v1/note/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateNote_ACL | default(['noteUpdate']) }}"
- 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 }}"
771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
- name: readNote
request_path: "{{ notes_service_prefix }}/v1/read"
upstream_url: "{{ learning_service_url }}/v1/note/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readNote_ACL | default(['noteUser']) }}"
- 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: searchNotes
request_path: "{{ notes_service_prefix }}/v1/search"
upstream_url: "{{ learning_service_url }}/v1/note/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchNotes_ACL | default(['noteUser']) }}"
- 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: createOrg
request_path: "{{ org_service_prefix }}/v1/create"
upstream_url: "{{ learning_service_url }}/v1/org/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createOrg_ACL | default(['orgUpdate']) }}"
- 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: updateOrg
request_path: "{{ org_service_prefix }}/v1/update"
upstream_url: "{{ learning_service_url }}/v1/org/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrg_ACL | default(['orgUpdate']) }}"
- 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: readOrg
request_path: "{{ org_service_prefix }}/v1/read"
841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910
upstream_url: "{{ learning_service_url }}/v1/org/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readOrg_ACL | default(['orgUser']) }}"
- 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: searchOrg
request_path: "{{ org_service_prefix }}/v1/search"
upstream_url: "{{ learning_service_url }}/v1/org/search"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: addMember
request_path: "{{ org_service_prefix }}/v1/member/add"
upstream_url: "{{ learning_service_url }}/v1/org/member/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addMember_ACL | default(['orgUpdate']) }}"
- 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: removeMember
request_path: "{{ org_service_prefix }}/v1/member/remove"
upstream_url: "{{ learning_service_url }}/v1/org/member/remove"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ removeMember_ACL | default(['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: "{{ small_request_size_limit }}"
- name: suspendMember
request_path: "{{ org_service_prefix }}/v1/member/suspend"
upstream_url: "{{ learning_service_url }}/v1/org/member/suspend"
strip_request_path: true
plugins:
- name: jwt
- name: cors
911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ suspendMember_ACL | default(['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: "{{ small_request_size_limit }}"
- name: updateMembership
request_path: "{{ org_service_prefix }}/v1/member/update"
upstream_url: "{{ learning_service_url }}/v1/org/member/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateMembership_ACL | default(['orgUpdate']) }}"
- 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: echo
request_path: "{{ echo_service_prefix }}"
upstream_url: "{{ echo_service_url }}"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ echo_ACL | default(['echoUser']) }}"
- 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: createPageSection
request_path: "{{ data_service_prefix }}/v1/page/section/create"
upstream_url: "{{ lms_service_url }}/v1/page/section/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createPageSection_ACL | default(['appUpdate']) }}"
- 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: updatePageSection
request_path: "{{ data_service_prefix }}/v1/page/section/update"
upstream_url: "{{ lms_service_url }}/v1/page/section/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050
config.whitelist: "{{ updatePageSection_ACL | default(['appUpdate']) }}"
- 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: listPageSections
request_path: "{{ data_service_prefix }}/v1/page/section/list"
upstream_url: "{{ lms_service_url }}/v1/page/section/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listPageSections_ACL | default(['appUpdate']) }}"
- 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: readPageSection
request_path: "{{ data_service_prefix }}/v1/page/section/read"
upstream_url: "{{ lms_service_url }}/v1/page/section/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readPageSection_ACL | default(['appUpdate']) }}"
- 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: readRoleMapping
request_path: "{{ data_service_prefix }}/v1/role/read"
upstream_url: "{{ learning_service_url }}/v1/role/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readRoleMapping_ACL | default(['appUpdate']) }}"
- 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: updateAssessment
request_path: "{{ course_service_prefix }}/v1/assessment/update"
upstream_url: "{{ learning_service_url }}/v1/assessment/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateAssessment_ACL | default(['courseUser']) }}"
- name: rate-limiting
1051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120
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: readAssessmentResult
request_path: "{{ course_service_prefix }}/v1/assessment/result/read"
upstream_url: "{{ learning_service_url }}/v1/assessment/result/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readAssessmentResult_ACL | default(['courseUser']) }}"
- 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: updateOrgStatus
request_path: "{{ org_service_prefix }}/v1/status/update"
upstream_url: "{{ learning_service_url }}/v1/org/status/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrgStatus_ACL | default(['orgUpdate']) }}"
- 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: readUserProfile
request_path: "{{ user_service_prefix }}/v1/profile/read"
upstream_url: "{{ learning_service_url }}/v1/user/getuser"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readUserProfile_ACL | default(['publicUser']) }}"
- 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: registerMobileApp
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_app/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileApp_ACL | default(['mobileAdmin']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
1121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: registerMobileDevice
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_device/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileDevice_ACL | default(['mobileApp','mobileApis']) }}"
- 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: registerMobileAppOpenRAP
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_app_openrap/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_openrap/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileAppOpenRAP_ACL | default(['mobileAdminOpenRAP']) }}"
- 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: registerMobileDeviceOpenRAP
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_device_openrap/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_openrap/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileDeviceOpenRAP_ACL | default(['mobileAppOpenRAP']) }}"
- 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: compositeSearch
request_path: "{{ composite_service_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ compositeSearch_ACL | default(['appUpdate','mobileApis']) }}"
- name: rate-limiting
config.policy: local
1191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260
config.hour: "{{ premium_consumer_large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: listTerms
request_path: "{{ meta_service_prefix }}/v1/terms/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/terms/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listTerms_ACL | default(['configUser']) }}"
- 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: listResourceBundles
request_path: "{{ meta_service_prefix }}/v1/resourcebundles/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/resourcebundles/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listResourceBundles_ACL | default(['configUser']) }}"
- 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: listOrdinals
request_path: "{{ meta_service_prefix }}/v1/ordinals/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/ordinals/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listOrdinals_ACL | default(['configUser']) }}"
- 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: telemetry
request_path: "{{ data_service_prefix }}/v1/telemetry"
upstream_url: "{{ telemetry_service_url }}/v1/telemetry"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ telemetry_ACL | default(['publicUser','mobileApis']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ premium_consumer_large_rate_limit_per_hour }}"
config.limit_by: credential
1261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: flagContent
request_path: "{{ content_prefix }}/v1/flag"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ flagContent_ACL | default(['contentUser','mobileApis']) }}"
- 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: acceptContentFlag
request_path: "{{ content_prefix }}/v1/flag/accept"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/accept"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ acceptContentFlag_ACL | default(['contentAdmin']) }}"
- 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: rejectContentFlag
request_path: "{{ content_prefix }}/v1/flag/reject"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/reject"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ rejectContentFlag_ACL | default(['contentAdmin']) }}"
- 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: getOrgCreationDashboard
request_path: "{{ dashboard_service_prefix }}/v1/creation/org"
upstream_url: "{{ learning_service_url }}/v1/dashboard/creation/org"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getOrgCreationDashboard_ACL | default(['orgUser']) }}"
- 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 }}"
1331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400
- name: getOrgConsumptionDashboard
request_path: "{{ dashboard_service_prefix }}/v1/consumption/org"
upstream_url: "{{ learning_service_url }}/v1/dashboard/consumption/org"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getOrgConsumptionDashboard_ACL | default(['orgUser']) }}"
- 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: getCourseProgressDashboard
request_path: "{{ dashboard_service_prefix }}/v1/progress/course"
upstream_url: "{{ lms_service_url }}/v1/dashboard/progress/course"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getCourseProgressDashboard_ACL | default(['courseUser']) }}"
- 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: getCourseProgressDashboardV2
request_path: "{{ dashboard_service_prefix }}/v2/progress/course"
upstream_url: "{{ lms_service_url }}/v2/dashboard/progress/course"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getCourseProgressDashboardV2_ACL | default(['courseUser']) }}"
- 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: getCourseConsumptionDashboard
request_path: "{{ dashboard_service_prefix }}/v1/consumption/course"
upstream_url: "{{ lms_service_url }}/v1/dashboard/consumption/course"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getCourseConsumptionDashboard_ACL | default(['courseUser']) }}"
- 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: getUserCreationDashboard
1401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470
request_path: "{{ dashboard_service_prefix }}/v1/creation/user"
upstream_url: "{{ learning_service_url }}/v1/dashboard/creation/user"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserCreationDashboard_ACL | default(['publicUser']) }}"
- 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: getUserConsumptionDasbhoard
request_path: "{{ dashboard_service_prefix }}/v1/consumption/user"
upstream_url: "{{ learning_service_url }}/v1/dashboard/consumption/user"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserConsumptionDasbhoard_ACL | default(['publicUser']) }}"
- 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: userBulkUpload
request_path: "{{ user_service_prefix }}/v1/upload"
upstream_url: "{{ learning_service_url }}/v1/user/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ userBulkUpload_ACL | default(['userAdmin']) }}"
- 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: orgBulkUpload
request_path: "{{ org_service_prefix }}/v1/upload"
upstream_url: "{{ learning_service_url }}/v1/org/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ orgBulkUpload_ACL | default(['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: checkUploadJobStatus
request_path: "{{ data_service_prefix }}/v1/upload/status"
upstream_url: "{{ learning_service_url }}/v1/upload/status"
1471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ checkUploadJobStatus_ACL | default(['appAdmin']) }}"
- 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: getUploadJobStatusLink
request_path: "{{ data_service_prefix }}/v1/upload/statusDownloadLink"
upstream_url: "{{ learning_service_url }}/v1/upload/statusDownloadLink"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUploadJobStatusLink_ACL | default(['appAdmin']) }}"
- 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: createBatch
request_path: "{{ course_service_prefix }}/v1/batch/create"
upstream_url: "{{ lms_service_url }}/v1/course/batch/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createBatch_ACL | default(['courseUpdate']) }}"
- 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: updateBatch
request_path: "{{ course_service_prefix }}/v1/batch/update"
upstream_url: "{{ lms_service_url }}/v1/course/batch/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateBatch_ACL | default(['courseUpdate']) }}"
- 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: addUserToBatch
request_path: "{{ course_service_prefix }}/v1/batch/user/add"
upstream_url: "{{ lms_service_url }}/v1/course/batch/users/add"
strip_request_path: true
plugins:
1541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addUserToBatch_ACL | default(['courseUpdate']) }}"
- 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: removeUserFromBatch
request_path: "{{ course_service_prefix }}/v1/batch/user/remove"
upstream_url: "{{ lms_service_url }}/v1/course/batch/users/remove"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ removeUserFromBatch_ACL | default(['courseUpdate']) }}"
- 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: getBatch
request_path: "{{ course_service_prefix }}/v1/batch/read"
upstream_url: "{{ lms_service_url }}/v1/course/batch/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getBatch_ACL | default(['courseUser','mobileApis']) }}"
- 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: getParticipants
request_path: "{{ course_service_prefix }}/v1/batch/participants/list"
upstream_url: "{{ lms_service_url }}/v1/batch/participants/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getParticipants_ACL | default(['courseUser']) }}"
- 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: assignRole
request_path: "{{ user_service_prefix }}/v1/role/assign"
upstream_url: "{{ learning_service_url }}/v1/user/assign/role"
strip_request_path: true
plugins:
- name: jwt
- name: cors
1611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ assignRole_ACL | default(['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: "{{ small_request_size_limit }}"
- name: indexSync
request_path: "{{ data_service_prefix }}/v1/index/sync"
upstream_url: "{{ learning_service_url }}/v1/data/sync"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ indexSync_ACL | default(['appUpdate']) }}"
- 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: blockUser
request_path: "{{ user_service_prefix }}/v1/block"
upstream_url: "{{ learning_service_url }}/v1/user/block"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ blockUser_ACL | default(['userAdmin']) }}"
- 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: unblockUser
request_path: "{{ user_service_prefix }}/v1/unblock"
upstream_url: "{{ learning_service_url }}/v1/user/unblock"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ unblockUser_ACL | default(['userAdmin']) }}"
- 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: uploadMedia
request_path: "{{ content_prefix }}/v1/media/upload"
upstream_url: "{{ learning_service_url }}/v1/file/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
1681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750
config.whitelist: "{{ uploadMedia_ACL | default(['contentUpdate','mobileApis']) }}"
- 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: listCourseBatches
request_path: "{{ course_service_prefix }}/v1/batch/list"
upstream_url: "{{ lms_service_url }}/v1/course/batch/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listCourseBatches_ACL | default(['courseUser','mobileApis']) }}"
- 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: batchBulkEnrolment
request_path: "{{ course_service_prefix }}/v1/batch/bulk/enrollment"
upstream_url: "{{ lms_service_url }}/v1/batch/bulk/enrollment"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ batchBulkEnrolment_ACL | default(['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: "{{ small_request_size_limit }}"
- name: batchBulkUnEnrolment
request_path: "{{ course_service_prefix }}/v1/batch/bulk/unenrollment"
upstream_url: "{{ lms_service_url }}/v1/batch/bulk/unenrollment"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ batchBulkUnEnrolment_ACL | default(['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: "{{ small_request_size_limit }}"
- name: getTenantInfo
request_path: "{{ org_service_prefix }}/v1/tenant/info"
upstream_url: "{{ player_service_url }}/v1/tenant/info"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getTenantInfo_ACL | default(['publicUser','mobileApis']) }}"
- name: rate-limiting
1751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820
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: getContentUploadUrl
request_path: "{{ content_prefix }}/v1/upload/url/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload/url"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getContentUploadUrl_ACL | default(['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: "{{ small_request_size_limit }}"
- name: rejectContent
request_path: "{{ content_prefix }}/v1/reject"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/reject"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ rejectContent_ACL | default(['contentAdmin']) }}"
- 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: deleteNote
request_path: "{{ notes_service_prefix }}/v1/delete"
upstream_url: "{{ learning_service_url }}/v1/note/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ deleteNote_ACL | default(['noteAdmin']) }}"
- 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: sendEmailNotification
request_path: "{{ user_service_prefix }}/v1/notification/email"
upstream_url: "{{ learning_service_url }}/v1/notification/email"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ sendEmailNotification_ACL | default(['userUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
1821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: listAllBadges
request_path: "{{ org_service_prefix }}/v1/badges/list"
upstream_url: "{{ learning_service_url }}/v1/badges/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listAllBadges_ACL | default(['orgUser']) }}"
- 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: addBadgeToUser
request_path: "{{ user_service_prefix }}/v1/badges/add"
upstream_url: "{{ learning_service_url }}/v1/user/badges/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addBadgeToUser_ACL | default(['userUpdate']) }}"
- 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: listOrgTypes
request_path: "{{ org_service_prefix }}/v1/type/list"
upstream_url: "{{ learning_service_url }}/v1/org/type/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listOrgTypes_ACL | default(['publicUser']) }}"
- 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: createOrgType
request_path: "{{ org_service_prefix }}/v1/type/create"
upstream_url: "{{ learning_service_url }}/v1/org/type/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createOrgType_ACL | default(['orgUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
1891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: updateOrgType
request_path: "{{ org_service_prefix }}/v1/type/update"
upstream_url: "{{ learning_service_url }}/v1/org/type/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrgType_ACL | default(['orgUpdate']) }}"
- 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: updateUserloginTime
request_path: "{{ user_service_prefix }}/v1/update/logintime"
upstream_url: "{{ learning_service_url }}/v1/user/update/logintime"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUserloginTime_ACL | default(['userUpdate']) }}"
- 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: getMediaTypes
request_path: "{{ user_service_prefix }}/v1/mediatype/list"
upstream_url: "{{ learning_service_url }}/v1/user/mediatype/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getMediaTypes_ACL | default(['publicUser']) }}"
- 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: DecryptData
request_path: "{{ data_service_prefix }}/v1/user/decrypt"
upstream_url: "{{ learning_service_url }}/v1/user/data/decrypt"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ DecryptData_ACL | default(['appUpdate']) }}"
- 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 }}"
1961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030
- name: encryptData
request_path: "{{ data_service_prefix }}/v1/user/encrypt"
upstream_url: "{{ learning_service_url }}/v1/user/data/encrypt"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ encryptData_ACL | default(['appUpdate']) }}"
- 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: searchAuditHistory
request_path: "{{ data_service_prefix }}/v1/audit/history"
upstream_url: "{{ learning_service_url }}/v1/audit/history"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchAuditHistory_ACL | default(['appAdmin']) }}"
- 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: addUserSkill
request_path: "{{ user_service_prefix }}/v1/skill/add"
upstream_url: "{{ learning_service_url }}/v1/user/skill/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addUserSkill_ACL | default(['publicUser','mobileApis']) }}"
- 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: getUserSkill
request_path: "{{ user_service_prefix }}/v1/skill/read"
upstream_url: "{{ learning_service_url }}/v1/user/skill/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserSkill_ACL | default(['publicUser']) }}"
- 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: getSkills
request_path: "{{ data_service_prefix }}/v1/skills"
2031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100
upstream_url: "{{ learning_service_url }}/v1/skills"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getSkills_ACL | default(['publicUser','mobileApis']) }}"
- 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: updateUserSkill
request_path: "{{ user_service_prefix }}/v1/skill/update"
upstream_url: "{{ learning_service_url }}/v1/user/skill/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUserSkill_ACL | default(['publicUser']) }}"
- 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: addUserSkillEndorsement
request_path: "{{ user_service_prefix }}/v1/skill/endorse/add"
upstream_url: "{{ learning_service_url }}/v1/user/skill/endorse/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addUserSkillEndorsement_ACL | default(['publicUser']) }}"
- 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: getAllData
request_path: "{{ data_service_prefix }}/v1/object/read/list"
upstream_url: "{{ learning_service_url }}/v1/object/read/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAllData_ACL | default(['dataUpdate']) }}"
- 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: getData
request_path: "{{ data_service_prefix }}/v1/object/read"
upstream_url: "{{ learning_service_url }}/v1/object/read"
strip_request_path: true
2101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getData_ACL | default(['dataUpdate']) }}"
- 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: createData
request_path: "{{ data_service_prefix }}/v1/object/create"
upstream_url: "{{ learning_service_url }}/v1/object/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createData_ACL | default(['dataUpdate']) }}"
- 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: "{{ large_request_size_limit }}"
- name: updateData
request_path: "{{ data_service_prefix }}/v1/object/update"
upstream_url: "{{ learning_service_url }}/v1/object/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateData_ACL | default(['dataUpdate']) }}"
- 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: deleteData
request_path: "{{ data_service_prefix }}/v1/object/delete"
upstream_url: "{{ learning_service_url }}/v1/object/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ deleteData_ACL | default(['dataAdmin']) }}"
- 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: searchData
request_path: "{{ data_service_prefix }}/v1/object/search"
upstream_url: "{{ learning_service_url }}/v1/object/search"
strip_request_path: true
plugins:
- name: jwt
2171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchData_ACL | default(['dataUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: getAnnouncementDefinitions
request_path: "{{announcement_service_prefix}}/v1/definitions"
upstream_url: "{{ player_service_url }}/announcement/v1/definitions"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAnnouncementDefinitions_ACL | default(['dataUpdate']) }}"
- 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: createAnnouncement
request_path: "{{announcement_service_prefix}}/v1/create"
upstream_url: "{{ player_service_url }}/announcement/v1/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createAnnouncement_ACL | default(['dataUpdate']) }}"
- 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: cancelAnnouncement
request_path: "{{announcement_service_prefix}}/v1/cancel"
upstream_url: "{{ player_service_url }}/announcement/v1/cancel"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ cancelAnnouncement_ACL | default(['dataUpdate']) }}"
- 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: getAnnouncementInbox
request_path: "{{announcement_service_prefix}}/v1/user/inbox"
upstream_url: "{{ player_service_url }}/announcement/v1/user/inbox"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
2241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310
- name: acl
config.whitelist: "{{ getAnnouncementInbox_ACL | default(['publicUser']) }}"
- 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: getAnnouncementOutbox
request_path: "{{announcement_service_prefix}}/v1/user/outbox"
upstream_url: "{{ player_service_url }}/announcement/v1/user/outbox"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAnnouncementOutbox_ACL | default(['dataUpdate']) }}"
- 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: getAnnouncement
request_path: "{{announcement_service_prefix}}/v1/get"
upstream_url: "{{ player_service_url }}/announcement/v1/get"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAnnouncement_ACL | default(['publicUser']) }}"
- 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: registerClient
request_path: "{{ data_service_prefix }}/v1/client/register"
upstream_url: "{{ learning_service_url }}/v1/client/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerClient_ACL | default(['dataAdmin']) }}"
- 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: updateClientKey
request_path: "{{ data_service_prefix }}/v1/client/key/update"
upstream_url: "{{ learning_service_url }}/v1/client/key/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
2311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380
config.whitelist: "{{ updateClientKey_ACL | default(['dataUpdate']) }}"
- 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: getClientKey
request_path: "{{ data_service_prefix }}/v1/client/key/read"
upstream_url: "{{ learning_service_url }}/v1/client/key/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getClientKey_ACL | default(['dataUpdate']) }}"
- 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: getTenantPreference
request_path: "{{ org_service_prefix }}/v1/tc/read"
upstream_url: "{{ learning_service_url }}/v1/org/tc/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getTenantPreference_ACL | default(['orgUser']) }}"
- 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: createTenantPreference
request_path: "{{ org_service_prefix }}/v1/tc/create"
upstream_url: "{{ learning_service_url }}/v1/org/tc/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createTenantPreference_ACL | default(['orgUpdate']) }}"
- 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: updateTenantPreference
request_path: "{{ org_service_prefix }}/v1/tc/update"
upstream_url: "{{ learning_service_url }}/v1/org/tc/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateTenantPreference_ACL | default(['orgUpdate']) }}"
- name: rate-limiting
2381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450
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: updateUserTcStatus
request_path: "{{ user_service_prefix }}/v1/tc/update"
upstream_url: "{{ learning_service_url }}/v1/user/tc/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUserTcStatus_ACL | default(['publicUser']) }}"
- 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: createLocation
request_path: "{{ org_service_prefix }}/v1/location/create"
upstream_url: "{{ learning_service_url }}/v1/notification/location/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createLocation_ACL | default(['orgUpdate']) }}"
- 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: getLocation
request_path: "{{ org_service_prefix }}/v1/location/read"
upstream_url: "{{ learning_service_url }}/v1/notification/location/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getLocation_ACL | default(['publicUser']) }}"
- 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: deleteLocation
request_path: "{{ org_service_prefix }}/v1/location/delete"
upstream_url: "{{ learning_service_url }}/v1/notification/location/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ deleteLocation_ACL | default(['orgAdmin']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
2451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: updateLocation
request_path: "{{ org_service_prefix }}/v1/location/update"
upstream_url: "{{ learning_service_url }}/v1/notification/location/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateLocation_ACL | default(['orgUpdate']) }}"
- 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: profileVisibility
request_path: "{{ user_service_prefix }}/v1/profile/visibility"
upstream_url: "{{ learning_service_url }}/v1/user/profile/visibility"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ profileVisibility_ACL | default(['publicUser']) }}"
- 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: sendNotification
request_path: "{{ data_service_prefix }}/v1/notification/send"
upstream_url: "{{ learning_service_url }}/v1/notification/send"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ sendNotification_ACL | default(['dataUpdate']) }}"
- 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: announcementResend
request_path: "{{ announcement_service_prefix }}/v1/resend"
upstream_url: "{{ player_service_url }}/announcement/v1/resend"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementResend_ACL | default(['dataUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
2521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: announcementReceived
request_path: "{{ announcement_service_prefix }}/v1/received"
upstream_url: "{{ player_service_url }}/announcement/v1/received"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementReceived_ACL | default(['publicUser']) }}"
- 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: announcementRead
request_path: "{{ announcement_service_prefix }}/v1/read"
upstream_url: "{{ player_service_url }}/announcement/v1/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementRead_ACL | default(['publicUser']) }}"
- 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: metricsSearchData
request_path: "{{ data_service_prefix }}/v1/object/metrics"
upstream_url: "{{ learning_service_url }}/v1/object/metrics"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ metricsSearchData_ACL | default(['dataUpdate']) }}"
- 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: updateSystemSettings
request_path: "{{ data_service_prefix }}/v1/system/settings/list"
upstream_url: "{{ learning_service_url }}/v1/system/settings/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateSystemSettings_ACL | default(['publicUser']) }}"
- 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 }}"
2591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660
- name: getAudienceCount
request_path: "{{ data_service_prefix }}/v1/notification/audience"
upstream_url: "{{ learning_service_url }}/v1/notification/audience"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAudienceCount_ACL | default(['dataUpdate']) }}"
- 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: generateDialcodes
request_path: "{{ dialcode_service_prefix }}/v1/generate"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/generate"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ generateDialcodes_ACL | default(['dialcodeUpdate']) }}"
- 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: readDialcode
request_path: "{{ dialcode_service_prefix }}/v1/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readDialcode_ACL | default(['dialcodeUser','mobileApis']) }}"
- 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: updateDialcode
request_path: "{{ dialcode_service_prefix }}/v1/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateDialcode_ACL | default(['dialcodeUpdate']) }}"
- 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: listDialcodes
request_path: "{{ dialcode_service_prefix }}/v1/list"
2661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listDialcodes_ACL | default(['dialcodeUpdate']) }}"
- 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: publishDialcode
request_path: "{{ dialcode_service_prefix }}/v1/publish"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publish"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ publishDialcode_ACL | default(['dialcodeAdmin']) }}"
- 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: searchDialcodes
request_path: "{{ dialcode_service_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchDialcodes_ACL | default(['dialcodeUpdate']) }}"
- 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: qrCodeBatchProcessStatus
request_path: "{{ dialcode_service_prefix }}/v1/process/status"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/status"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ qrCodeBatchProcessStatus_ACL | default(['dialcodeUpdate']) }}"
- 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: qrCodeBatchProcessRetry
request_path: "{{ dialcode_service_prefix }}/v1/process/retry"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/retry"
strip_request_path: true
2731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ qrCodeBatchProcessRetry_ACL | default(['dialcodeUpdate']) }}"
- 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: createPublisher
request_path: "{{ dialcode_service_prefix }}/v1/publisher/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createPublisher_ACL | default(['dialcodeUpdate']) }}"
- 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: updatePublisher
request_path: "{{ dialcode_service_prefix }}/v1/publisher/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updatePublisher_ACL | default(['dialcodeUpdate']) }}"
- 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: readPublisher
request_path: "{{ dialcode_service_prefix }}/v1/publisher/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readPublisher_ACL | default(['dialcodeUpdate']) }}"
- 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: linkDialcodeContent
request_path: "{{ dialcode_service_prefix }}/v1/content/link"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/content/link"
strip_request_path: true
plugins:
- name: jwt
2801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ linkDialcodeContent_ACL | default(['dialcodeUpdate']) }}"
- 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: readChannel
request_path: "{{ channel_service_prefix }}/v1/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/read"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ x_large_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: listChannel
request_path: "{{ channel_service_prefix }}/v1/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listChannel_ACL | default(['domainUser']) }}"
- 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: searchChannel
request_path: "{{ channel_service_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchChannel_ACL | default(['domainUser']) }}"
- 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: createChannel
request_path: "{{ channel_service_prefix }}/v1/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createChannel_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
2871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940
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: updateChannel
request_path: "{{ channel_service_prefix }}/v1/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateChannel_ACL | default(['domainUpdate']) }}"
- 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: readFramework
request_path: "{{ framework_service_prefix }}/v1/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/read"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ premium_consumer_large_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: listFramework
request_path: "{{ framework_service_prefix }}/v1/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listFramework_ACL | default(['domainUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ x_medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: createFramework
request_path: "{{ framework_service_prefix }}/v1/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createFramework_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ x_medium_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
2941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010
- name: updateFramework
request_path: "{{ framework_service_prefix }}/v1/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateFramework_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: copyFramework
request_path: "{{ framework_service_prefix }}/v1/copy"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/copy"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ copyFramework_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: readFrameworkTerm
request_path: "{{ framework_service_prefix }}/v1/term/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readFrameworkTerm_ACL | default(['domainUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ x_large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: searchFrameworkTerm
request_path: "{{ framework_service_prefix }}/v1/term/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchFrameworkTerm_ACL | default(['domainUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: createFrameworkTerm
3011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080
request_path: "{{ framework_service_prefix }}/v1/term/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createFrameworkTerm_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: updateFrameworkTerm
request_path: "{{ framework_service_prefix }}/v1/term/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateFrameworkTerm_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: readFrameworkCategory
request_path: "{{ framework_service_prefix }}/v1/category/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readFrameworkCategory_ACL | default(['domainUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: searchFrameworkCategory
request_path: "{{ framework_service_prefix }}/v1/category/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchFrameworkCategory_ACL | default(['domainUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: createFrameworkCategory
request_path: "{{ framework_service_prefix }}/v1/category/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/create"
3081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createFrameworkCategory_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: updateFrameworkCategory
request_path: "{{ framework_service_prefix }}/v1/category/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateFrameworkCategory_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: updateCourseHierarchy
request_path: '{{ course_service_prefix }}/v1/hierarchy/update'
upstream_url: '{{ knowledge_mw_service_url }}/v1/course/hierarchy/update'
strip_request_path: true
plugins:
- name: jwt
- name: cors
- '{{ statsd_pulgin }}'
- name: acl
config.whitelist: "{{ updateCourseHierarchy_ACL | default(['courseUser']) }}"
- 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: submitDatasetRequest
request_path: "{{ data_service_prefix }}/v1/dataset/request/submit"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dataset/request/submit"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ submitDatasetRequest_ACL | default(['publicUser']) }}"
- 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: listDatasetRequest
request_path: "{{ data_service_prefix }}/v1/dataset/request/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dataset/request/list"
strip_request_path: true
plugins:
3151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listDatasetRequest_ACL | default(['publicUser']) }}"
- 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: readDatasetRequest
request_path: "{{ data_service_prefix }}/v1/dataset/request/read"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dataset/request/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readDatasetRequest_ACL | default(['publicUser']) }}"
- 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: channelDatasetRequest
request_path: "{{ data_service_prefix }}/v1/dataset/request"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dataset/request"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ channelDatasetRequest_ACL | default(['publicUser']) }}"
- 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: createAssertion
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/create"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createAssertion_ACL | default(['orgUpdate']) }}"
- 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: getAssertion
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/read"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
3221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAssertion_ACL | default(['publicUser']) }}"
- 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: getAssertionList
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/search"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAssertionList_ACL | default(['publicUser']) }}"
- 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: revokeAssertion
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/delete"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ revokeAssertion_ACL | default(['orgUpdate']) }}"
- 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: createBadgeClass
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/create"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createBadgeClass_ACL | default(['orgUpdate']) }}"
- 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: getBadgeClass
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/read"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
3291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360
config.whitelist: "{{ getBadgeClass_ACL | default(['publicUser']) }}"
- 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: searchBadgeClass
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/search"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchBadgeClass_ACL | default(['publicUser']) }}"
- 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: deleteBadgeClass
request_path: "{{ badge_service_prefix }}/v1/issuer/badge/delete"
upstream_url: "{{ learning_service_url }}/v1/issuer/badge/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ deleteBadgeClass_ACL | default(['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: createissuer
request_path: "{{ badge_service_prefix }}/v1/issuer/create"
upstream_url: "{{ learning_service_url }}/v1/issuer/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createissuer_ACL | default(['orgUpdate']) }}"
- 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: getIssuerDetails
request_path: "{{ badge_service_prefix }}/v1/issuer/read"
upstream_url: "{{ learning_service_url }}/v1/issuer/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getIssuerDetails_ACL | default(['publicUser']) }}"
- name: rate-limiting
3361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430
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: getAllIssuer
request_path: "{{ badge_service_prefix }}/v1/issuer/list"
upstream_url: "{{ learning_service_url }}/v1/issuer/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getAllIssuer_ACL | default(['publicUser']) }}"
- 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: deleteIssuer
request_path: "{{ badge_service_prefix }}/v1/issuer/delete"
upstream_url: "{{ learning_service_url }}/v1/issuer/delete"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ deleteIssuer_ACL | default(['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: createForm
request_path: "{{ data_service_prefix }}/v1/form/create"
upstream_url: "{{ player_service_url }}/plugin/v1/form/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createForm_ACL | default(['dataUpdate']) }}"
- 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: updateForm
request_path: "{{ data_service_prefix }}/v1/form/update"
upstream_url: "{{ player_service_url }}/plugin/v1/form/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateForm_ACL | default(['dataUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
3431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: announcementtypeCreate
request_path: "{{ announcement_service_prefix }}/v1/manage/announcement-type/create"
upstream_url: "{{ player_service_url }}/announcement/v1/manage/announcement-type/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementtypeCreate_ACL | default(['dataUpdate']) }}"
- 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: announcementtypeUpdate
request_path: "{{ announcement_service_prefix }}/v1/manage/announcement-type/update"
upstream_url: "{{ player_service_url }}/announcement/v1/manage/announcement-type/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementtypeUpdate_ACL | default(['dataUpdate']) }}"
- 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: announcementtypeList
request_path: "{{ announcement_service_prefix }}/v1/manage/announcement-type/list"
upstream_url: "{{ player_service_url }}/announcement/v1/manage/announcement-type/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ announcementtypeList_ACL | default(['dataUpdate']) }}"
- 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: readForm
request_path: "{{ data_service_prefix }}/v1/form/read"
upstream_url: "{{ player_service_url }}/plugin/v1/form/read"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: masterLocationCreate
3501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570
request_path: "{{ data_service_prefix }}/v1/location/create"
upstream_url: "{{ learning_service_url }}/v1/location/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ masterLocationCreate_ACL | default(['orgUpdate']) }}"
- 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: masterLocationUpdate
request_path: "{{ data_service_prefix }}/v1/location/update"
upstream_url: "{{ learning_service_url }}/v1/location/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ masterLocationUpdate_ACL | default(['orgUpdate']) }}"
- 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: masterLocationSearch
request_path: "{{ data_service_prefix }}/v1/location/search"
upstream_url: "{{ learning_service_url }}/v1/location/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ masterLocationSearch_ACL | default(['publicUser','mobileApis']) }}"
- 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: masterLocationUpload
request_path: "{{ data_service_prefix }}/v1/bulk/location/upload"
upstream_url: "{{ learning_service_url }}/v1/bulk/location/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ masterLocationUpload_ACL | default(['orgUpdate']) }}"
- 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: copyContent
request_path: "{{ content_prefix }}/v1/copy"
3571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/copy"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ copyContent_ACL | default(['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 }}"
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: fetchURLMetaInformation
request_path: "{{ content_prefix }}/v1/fetchmeta"
upstream_url: "{{ knowledge_mw_service_url }}/v1/url/fetchmeta"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ fetchURLMetaInformation_ACL | default(['contentUser']) }}"
- 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: publishFramework
request_path: "{{ framework_service_prefix }}/v1/publish"
upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/publish"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ publishFramework_ACL | default(['domainUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: pluginSearch
request_path: "{{ plugin_service_prefix }}/v1/search"
upstream_url: "{{ knowledge_mw_service_url }}/v1/plugins/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ pluginSearch_ACL | default(['publicUser']) }}"
- 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: updateCollaborators
request_path: "{{ content_prefix }}/v1/collaborator/update"
upstream_url: "{{ knowledge_mw_service_url }}/v1/content/collaborator/update"
3641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateCollaborators_ACL | default(['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: "{{ small_request_size_limit }}"
- name: reserveDialcode
request_path: "{{ dialcode_service_prefix }}/v1/reserve"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/reserve"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ reserveDialcode_ACL | default(['dialcodeAdmin']) }}"
- 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: releaseDialcode
request_path: "{{ dialcode_service_prefix }}/v1/release"
upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/release"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ releaseDialcode_ACL | default(['dialcodeAdmin']) }}"
- 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: createLock
request_path: "{{ lock_service_prefix }}/v1/create"
upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createLock_ACL | default(['contentUser']) }}"
- 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: refreshLock
request_path: "{{ lock_service_prefix }}/v1/refresh"
upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/refresh"
strip_request_path: true
plugins:
3711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ refreshLock_ACL | default(['contentUser']) }}"
- 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: retireLock
request_path: "{{ lock_service_prefix }}/v1/retire"
upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/retire"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ retireLock_ACL | default(['contentUser']) }}"
- 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: listLock
request_path: "{{ lock_service_prefix }}/v1/list"
upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listLock_ACL | default(['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: "{{ small_request_size_limit }}"
- name: createSession
request_path: "{{ sso_service_prefix }}/v1/create/session"
upstream_url: "{{ player_service_url }}/v1/sso/create/session"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createSession_ACL | default(['publicUser']) }}"
- 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 }}"
# Data pipeline
- name: "datasetSubmitRequest"
request_path: "{{ data_service_prefix }}/v3/dataset/request/submit"
upstream_url: "{{ sunbird_analytics_api_base_url }}/dataset/request/submit"
strip_request_path: true
plugins:
3781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl', config.whitelist: "{{ datasetSubmitRequest_ACL | default(['publicUser']) }}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "datasetReadRequest"
request_path: "{{ data_service_prefix }}/v3/dataset/request/read"
upstream_url: "{{ sunbird_analytics_api_base_url }}/dataset/request/read"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ datasetReadRequest_ACL | default(['publicUser']) }}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "datasetListRequest"
request_path: "{{ data_service_prefix }}/v3/dataset/request/list"
upstream_url: "{{ sunbird_analytics_api_base_url }}/dataset/request/list"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ datasetListRequest_ACL | default(['publicUser']) }}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "deviceRegister"
request_path: "/v3/device/register"
upstream_url: "{{ sunbird_analytics_api_base_url }}/v1/device/register"
strip_request_path: true
plugins:
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "deviceProfile"
request_path: "/v3/device/profile"
upstream_url: "{{ sunbird_analytics_api_base_url }}/v1/device/profile"
strip_request_path: true
plugins:
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "channelSpecificTelemetryExhaust"
request_path: "{{ data_service_prefix }}/v3/dataset/get"
upstream_url: "{{ sunbird_analytics_api_base_url }}/dataset/get"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ channelSpecificTelemetryExhaust_ACL | default(['publicUser']) }}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "dataproductsCumulativeMetrics"
request_path: "{{ data_service_prefix }}/v3/metrics"
upstream_url: "{{ sunbird_analytics_api_base_url }}/metrics"
strip_request_path: true
plugins:
- {name: 'jwt'}
3851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ dataproductsCumulativeMetrics_ACL | default(['publicUser'])}}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "experimentcreate"
request_path: "{{ data_service_prefix }}/v1/experiement/create"
upstream_url: "{{ sunbird_analytics_api_base_url }}/experiment/create"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ experimentcreate_ACL | default(['publicUser'])}}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "experimentread"
request_path: "{{ data_service_prefix }}/v1/experiement/get"
upstream_url: "{{ sunbird_analytics_api_base_url }}/experiment/get"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ experimentread_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "configRefresh"
request_path: "{{ config_service_prefix }}/v1/refresh"
upstream_url: "{{ config_service_url }}/config-service/v1/refresh"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ configRefresh_ACL | default(['dataAdmin'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ small_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "getConfigByKey"
request_path: "{{ config_service_prefix }}/v1/read"
upstream_url: "{{ config_service_url }}/config-service/v1/read"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ getConfigByKey_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ large_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "addSystemSettings"
request_path: "{{ data_service_prefix }}/v1/system/settings/set"
upstream_url: "{{ learning_service_url }}/v1/system/settings/set"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ addSystemSettings_ACL | default(['dataAdmin'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "getSystemSettings"
3921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990
request_path: "{{ data_service_prefix }}/v1/system/settings/get"
upstream_url: "{{ learning_service_url }}/v1/system/settings/get"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: acl
config.whitelist: "{{ getSystemSettings_ACL | default(['publicUser','mobileApis']) }}"
- name: "getConfigStatus"
request_path: "{{ config_service_prefix }}/v1/status"
upstream_url: "{{ config_service_url }}/config-service/v1/status"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ getConfigStatus_ACL | default(['dataAdmin'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ small_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "getConfigHealth"
request_path: "{{ config_service_prefix }}/v1/health"
upstream_url: "{{ config_service_url }}/config-service/v1/health"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ getConfigHealth_ACL | default(['dataAdmin'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ small_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: onboardConsumer
request_path: "{{ api_manager_perfix }}/v1/consumer/create/jwt"
upstream_url: "{{ am_util_url }}/v1/consumer/create/jwt"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ onboardConsumer_ACL | default(['kongConsumer']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ small_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: KongConsumerApi
request_path: "{{ api_manager_perfix }}/v1/consumer"
upstream_url: "{{ am_util_url }}/v1/consumer"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ KongConsumerApi_ACL | default(['kongConsumer']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ small_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
3991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060
- name: uploadTOC
request_path: "{{ textbook_service_prefix }}/v1/toc/upload"
upstream_url: "{{ lms_service_url }}/v1/textbook/toc/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ uploadTOC_ACL | default(['contentAdmin']) }}"
- 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: downloadTOC
request_path: "{{ textbook_service_prefix }}/v1/toc/download"
upstream_url: "{{ lms_service_url }}/v1/textbook/toc/download"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ downloadTOC_ACL | default(['contentAdmin']) }}"
- 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: acceptTermsAndCondition
request_path: "{{ user_service_prefix }}/v1/tnc/accept"
upstream_url: "{{ learning_service_url }}/v1/user/tnc/accept"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ acceptTermsAndCondition_ACL | default(['publicUser','mobileApis']) }}"
- 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: generateOtp
request_path: "{{ otp_service_prefix }}/v1/generate"
upstream_url: "{{ learning_service_url }}/v1/otp/generate"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ generateOtp_ACL | default(['publicUser','mobileApis']) }}"
- 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: verifyOtp
request_path: "{{ otp_service_prefix }}/v1/verify"
4061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130
upstream_url: "{{ learning_service_url }}/v1/otp/verify"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ verifyOtp_ACL | default(['publicUser','mobileApis']) }}"
- 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: getUserByKey
request_path: "{{ user_service_prefix }}/v1/get"
upstream_url: "{{ learning_service_url }}/v1/user/get"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserByKey_ACL | default(['appUpdate']) }}"
- 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: registerMobileAppTeacherAid
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_app_teacheraid/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_teacheraid/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileAppTeacherAid_ACL | default(['mobileAdminTeacherAid']) }}"
- 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: registerMobileDeviceTeacherAid
request_path: "{{ api_manager_perfix }}/v1/consumer/mobile_device_teacheraid/credential/register"
upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_teacheraid/credential/register"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ registerMobileDeviceTeacherAid_ACL | default(['mobileAppTeacherAid']) }}"
- 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: "contentBadgeLink"
request_path: "{{ badge_service_prefix }}/v1/content/link"
4131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200
upstream_url: "{{ lms_service_url }}/v1/content/link"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ contentBadgeLink_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "contentBadgeUnLink"
request_path: "{{ badge_service_prefix }}/v1/content/unlink"
upstream_url: "{{ lms_service_url }}/v1/content/unlink"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ contentBadgeUnLink_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "privateUserUpdate"
request_path: "{{ user_service_prefix }}/private/v1/update"
upstream_url: "{{ learning_service_url }}/private/user/v1/update"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ privateUserUpdate_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "getUserType"
request_path: "{{ user_service_prefix }}/v1/type/list"
upstream_url: "{{ learning_service_url }}/v1/user/type/list"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ getUserType_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "masterLocationDelete"
request_path: "{{data_service_prefix }}/v1/location/delete"
upstream_url: "{{ learning_service_url }}/v1/location/delete"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ masterLocationDelete_ACL | default(['locationAdmin'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "privateUserRead"
request_path: "{{ user_service_prefix }}/private/v1/read"
upstream_url: "{{ learning_service_url }}/private/user/v1/read"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ privateUserRead_ACL | default(['publicUser'])}}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
4201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270
- name: privateUserAssignRole
request_path: "{{ user_service_prefix }}/private/v1/assign/role"
upstream_url: "{{ learning_service_url }}/private/user/v1/assign/role"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl', config.whitelist: "{{ privateUserAssignRole_ACL | default(['publicUser'])}}" }
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: createUserV3
request_path: "{{ user_service_prefix }}/v1.3/create"
upstream_url: "{{ user_org_service_url }}/v1.3/user/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createUserV3_ACL | default(['userUpdate']) }}"
- 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: createUserVersion2V3
request_path: "{{ user_service_prefix }}/v2.3/create"
upstream_url: "{{ user_org_service_url }}/v2.3/user/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createUserVersion2V3_ACL | default(['userUpdate']) }}"
- 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: getUserProfileV3
request_path: "{{ user_service_prefix }}/v1.3/read"
upstream_url: "{{ user_org_service_url }}/v1.3/user/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserProfileV3_ACL | default(['publicUser']) }}"
- 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: getUserProfileV2V3
request_path: "{{ user_service_prefix }}/v2.3/read"
upstream_url: "{{ user_org_service_url }}/v2.3/user/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
4271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserProfileV2V3_ACL | default(['publicUser']) }}"
- 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: readUserProfileV3
request_path: "{{ user_service_prefix }}/v1.3/profile/read"
upstream_url: "{{ user_org_service_url }}/v1.3/user/getuser"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readUserProfileV3_ACL | default(['publicUser']) }}"
- 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: getUserByKeyV3
request_path: "{{ user_service_prefix }}/v1.3/get"
upstream_url: "{{ user_org_service_url }}/v1.3/user/get"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserByKeyV3_ACL | default(['appUpdate']) }}"
- 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: searchUserV3
request_path: "{{ user_service_prefix }}/v1.3/search"
upstream_url: "{{ user_org_service_url }}/v1.3/user/search"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ searchUserV3_ACL | default(['publicUser']) }}"
- 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: getMediaTypesV3
request_path: "{{ user_service_prefix }}/v1.3/mediatype/list"
upstream_url: "{{ user_org_service_url }}/v1.3/user/mediatype/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
4341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410
config.whitelist: "{{ getMediaTypesV3_ACL | default(['publicUser']) }}"
- 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: profileVisibilityV3
request_path: "{{ user_service_prefix }}/v1.3/profile/visibility"
upstream_url: "{{ user_org_service_url }}/v1.3/user/profile/visibility"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ profileVisibilityV3_ACL | default(['publicUser','mobileApis']) }}"
- 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: getUserTypeV3
request_path: "{{ user_service_prefix }}/v1.3/type/list"
upstream_url: "{{ user_org_service_url }}/v1.3/user/type/list"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl', config.whitelist: "{{ getUserTypeV3_ACL | default(['publicUser']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: blockUserV3
request_path: "{{ user_service_prefix }}/v1.3/block"
upstream_url: "{{ user_org_service_url }}/v1.3/user/block"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ blockUserV3_ACL | default(['userAdmin']) }}"
- 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: unblockUserV3
request_path: "{{ user_service_prefix }}/v1.3/unblock"
upstream_url: "{{ user_org_service_url }}/v1.3/user/unblock"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ unblockUserV3_ACL | default(['userAdmin']) }}"
- 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 }}"
4411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480
- name: readRoleMappingV3
request_path: "{{ data_service_prefix }}/v1.3/role/read"
upstream_url: "{{ user_org_service_url }}/v1.3/role/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readRoleMappingV3_ACL | default(['appUpdate']) }}"
- 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: assignRoleV3
request_path: "{{ user_service_prefix }}/v1.3/role/assign"
upstream_url: "{{ user_org_service_url }}/v1.3/user/assign/role"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ assignRoleV3_ACL | default(['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: "{{ small_request_size_limit }}"
- name: "privateUserAssignRoleV3"
request_path: "{{ user_service_prefix }}/private/v1.3/assign/role"
upstream_url: "{{ user_org_service_url }}/private/user/v1.3/assign/role"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ privateUserAssignRoleV3_ACL | default(['publicUser']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: updateUserV3
request_path: "{{ user_service_prefix }}/v1.3/update"
upstream_url: "{{ user_org_service_url }}/v1.3/user/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUserV3_ACL | default(['userUpdate']) }}"
- 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: "privateUserUpdateV3"
request_path: "{{ user_service_prefix }}/private/v1.3/update"
upstream_url: "{{ user_org_service_url }}/private/user/v1.3/update"
strip_request_path: true
plugins:
- {name: 'jwt'}
4481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ privateUserUpdateV3_ACL | default(['publicUser']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: updateUserloginTimeV3
request_path: "{{ user_service_prefix }}/v1.3/update/logintime"
upstream_url: "{{ user_org_service_url }}/v1.3/user/update/logintime"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateUserloginTimeV3_ACL | default(['userUpdate']) }}"
- 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: acceptTermsAndConditionV3
request_path: "{{ user_service_prefix }}/v1.3/tnc/accept"
upstream_url: "{{ user_org_service_url }}/v1.3/user/tnc/accept"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ acceptTermsAndConditionV3_ACL | default(['publicUser']) }}"
- 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: DecryptDataV3
request_path: "{{ data_service_prefix }}/v1.3/user/decrypt"
upstream_url: "{{ user_org_service_url }}/v1.3/user/data/decrypt"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ DecryptDataV3_ACL | default(['appUpdate']) }}"
- 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: encryptDataV3
request_path: "{{ data_service_prefix }}/v1.3/user/encrypt"
upstream_url: "{{ user_org_service_url }}/v1.3/user/data/encrypt"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ encryptDataV3_ACL | default(['appUpdate']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
4551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: createOrgV3
request_path: "{{ org_service_prefix }}/v1.3/create"
upstream_url: "{{ user_org_service_url }}/v1.3/org/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createOrgV3_ACL | default(['orgUpdate']) }}"
- 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: updateOrgV3
request_path: "{{ org_service_prefix }}/v1.3/update"
upstream_url: "{{ user_org_service_url }}/v1.3/org/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrgV3_ACL | default(['orgUpdate']) }}"
- 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: readOrgV3
request_path: "{{ org_service_prefix }}/v1.3/read"
upstream_url: "{{ user_org_service_url }}/v1.3/org/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readOrgV3_ACL | default(['orgUser']) }}"
- 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: searchOrgV3
request_path: "{{ org_service_prefix }}/v1.3/search"
upstream_url: "{{ user_org_service_url }}/v1.3/org/search"
strip_request_path: true
plugins:
- name: cors
- "{{ statsd_pulgin }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: ip
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: addMemberV3
4621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690
request_path: "{{ org_service_prefix }}/v1.3/member/add"
upstream_url: "{{ user_org_service_url }}/v1.3/org/member/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addMemberV3_ACL | default(['orgUpdate']) }}"
- 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: removeMemberV3
request_path: "{{ org_service_prefix }}/v1.3/member/remove"
upstream_url: "{{ user_org_service_url }}/v1.3/org/member/remove"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ removeMemberV3_ACL | default(['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: "{{ small_request_size_limit }}"
- name: updateOrgStatusV3
request_path: "{{ org_service_prefix }}/v1.3/status/update"
upstream_url: "{{ user_org_service_url }}/v1.3/org/status/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrgStatusV3_ACL | default(['orgUpdate']) }}"
- 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: listOrgTypesV3
request_path: "{{ org_service_prefix }}/v1.3/type/list"
upstream_url: "{{ user_org_service_url }}/v1.3/org/type/list"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ listOrgTypesV3_ACL | default(['publicUser']) }}"
- 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: createOrgTypeV3
request_path: "{{ org_service_prefix }}/v1.3/type/create"
upstream_url: "{{ user_org_service_url }}/v1.3/org/type/create"
4691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createOrgTypeV3_ACL | default(['orgUpdate']) }}"
- 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: updateOrgTypeV3
request_path: "{{ org_service_prefix }}/v1.3/type/update"
upstream_url: "{{ user_org_service_url }}/v1.3/org/type/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateOrgTypeV3_ACL | default(['orgUpdate']) }}"
- 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: "telemetryErrorLogging"
request_path: "/data/v1/client/logs"
upstream_url: "{{ sunbird_analytics_api_base_url }}/data/v1/client/logs"
strip_request_path: true
plugins:
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: generateCertificate
request_path: "{{ cert_service_prefix }}/v1/certs/generate"
upstream_url: "{{ cert_service_url }}/v1/certs/generate"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ generateCertificate_ACL | default(['orgUpdate']) }}"
- 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: "certValidation"
request_path: "{{ user_service_prefix }}/v1/certs/validate"
upstream_url: "{{ learning_service_url }}/private/user/v1/certs/validate"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ certValidation_ACL | default(['userUpdate']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
4761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830
- name: createCertTemplate
request_path: "{{ cert_service_prefix }}/v1/template/create"
upstream_url: "{{ cert_service_url }}/cert/v1/template/create"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ createCertTemplate_ACL | default(['orgUpdate']) }}"
- 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: updateCertTemplate
request_path: "{{ cert_service_prefix }}/v1/template/update"
upstream_url: "{{ cert_service_url }}/cert/v1/template/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateCertTemplate_ACL | default(['orgUpdate']) }}"
- 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: readCertTemplate
request_path: "{{ cert_service_prefix }}/v1/template/read"
upstream_url: "{{ cert_service_url }}/cert/v1/template/read"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ readCertTemplate_ACL | default(['orgUpdate']) }}"
- 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: "orgAssignKeys"
request_path: "{{ org_service_prefix }}/v1/assign/key"
upstream_url: "{{ learning_service_url }}/v1/org/assign/key"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ orgAssignKeys_ACL | default(['orgAdmin']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: "mergeUserAccounts"
request_path: "{{ user_service_prefix }}/v1/account/merge"
upstream_url: "{{ learning_service_url }}/private/user/v1/account/merge"
strip_request_path: true
plugins:
- {name: 'jwt'}
- {name: 'cors'}
4831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900
- "{{ statsd_pulgin }}"
- {name: 'acl',config.whitelist: "{{ mergeUserAccounts_ACL | default(['publicUser']) }}"}
- {name: 'rate-limiting', config.policy: "local", config.hour: "{{ medium_rate_limit_per_hour }}"}
- {name: 'request-size-limiting', config.allowed_payload_size: "{{ small_request_size_limit }}" }
- name: qrCodeDownload
request_path: "{{ course_service_prefix }}/v1/qrcode/download"
upstream_url: "{{ lms_service_url }}/v1/course/qrcode/download"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ qrCodeDownload_ACL | default(['courseUser']) }}"
- 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: courseIssueCertificate
request_path: "{{ course_service_prefix }}/batch/cert/v1/issue"
upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/issue"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ courseIssueCertificate_ACL | default(['courseUser']) }}"
- 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: courseBatchAddCertificateTemplate
request_path: "{{ course_service_prefix }}/batch/cert/v1/template/add"
upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ courseBatchAddCertificateTemplate_ACL | default(['courseUser']) }}"
- 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: courseBatchRemoveCertificateTemplate
request_path: "{{ course_service_prefix }}/batch/cert/v1/template/remove"
upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/remove"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ courseBatchRemoveCertificateTemplate_ACL | default(['courseUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ medium_rate_limit_per_hour }}"
config.limit_by: credential
4901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: downloadCertificate
request_path: "{{ user_service_prefix }}/v1/certs/download"
upstream_url: "{{ learning_service_url }}/v1/user/certs/download"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ downloadCertificate_ACL | default(['publicUser']) }}"
- 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: UserBulkUploadv2
request_path: "{{ user_service_prefix }}/v2/bulk/upload"
upstream_url: "{{ learning_service_url }}/v2/bulk/user/upload"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ UserBulkUploadv2_ACL | default(['userAdmin']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ small_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ medium_request_size_limit }}"
- name: downloadRegCertificate
request_path: "{{ cert_registry_service_prefix }}/v1/certs/download"
upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/download"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ downloadRegCertificate_ACL | default(['publicUser']) }}"
- 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: validateRegCertificate
request_path: "{{ cert_registry_service_prefix }}/v1/certs/validate"
upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/validate"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ validateRegCertificate_ACL | default(['publicUser']) }}"
- 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 }}"
4971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040
- name: addRegCertificate
request_path: "{{ cert_registry_service_prefix }}/v1/certs/add"
upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/add"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ addRegCertificate_ACL | default(['publicUser']) }}"
- 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: userMigrate
request_path: "{{ user_service_prefix }}/v1/migrate"
upstream_url: "{{ learning_service_url }}/v1/user/migrate"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ userMigrate_ACL | default(['publicUser','mobileApis']) }}"
- 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: verifyRegCertificate
request_path: "{{ cert_registry_service_prefix }}/v1/certs/verify"
upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/verify"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ verifyRegCertificate_ACL | default(['publicUser']) }}"
- 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: updateDesktopApp
request_path: "{{ desktop_app_prefix }}/v1/update"
upstream_url: "{{ player_service_url }}/v1/desktop/update"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ updateDesktopApp_ACL | default(['contentUser']) }}"
- name: rate-limiting
config.policy: local
config.hour: "{{ large_rate_limit_per_hour }}"
config.limit_by: credential
- name: request-size-limiting
config.allowed_payload_size: "{{ small_request_size_limit }}"
- name: userFeed
5041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110
request_path: "{{ user_service_prefix }}/v1/feed"
upstream_url: "{{ learning_service_url }}/v1/user/feed"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ userFeed_ACL | default(['publicUser','mobileApis']) }}"
- 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: freshDesk
request_path: "/tickets/v1/create"
upstream_url: "{{ freshDesk_url }}/api/v2/tickets"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- name: request-transformer
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ freshDesk_ACL | default(['publicUser']) }}"
- 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: request-transformer
config.replace.headers: "Authorization: Basic {{ freshDesk_token }}"
- name: LicenseAPI
request_path: "{{ license_api_prefix }}/v3"
upstream_url: "{{ content_service_url }}/license/v3"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ LicenseAPI_ACL | default(['domainUser']) }}"
- 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: userExistenceApi
request_path: "{{ user_service_prefix }}/v1/exists"
upstream_url: "{{ learning_service_url }}/v1/user/exists"
strip_request_path: true
plugins:
- name: jwt
- name: cors
- "{{ statsd_pulgin }}"
- name: acl
config.whitelist: "{{ getUserByKey_ACL | default(['appUpdate']) }}"
- 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 }}"
51115112