main.yml 180.24 KiB
---
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