- <#if message?has_content>
-
- ${message.summary}
+
+
+
+
+
+
+
+ ${msg("enterCode")}
+
+
+ <#if message?has_content>
+
+ ${message.summary}
+
+ #if>
+
+
+ <#if client?? && client.baseUrl?has_content>
+
+ #if>
- #if>
-
- <#if client?? && client.baseUrl?has_content>
-
- #if>
+
-
#if>
diff --git a/ansible/artifacts/sunbird/login/template.ftl b/ansible/artifacts/sunbird/login/template.ftl
index 597358b24b..861559e4b0 100644
--- a/ansible/artifacts/sunbird/login/template.ftl
+++ b/ansible/artifacts/sunbird/login/template.ftl
@@ -1,7 +1,6 @@
<#macro registrationLayout bodyClass="" displayInfo=false displayMessage=true>
-
-
+
@@ -9,9 +8,11 @@
+
-
+
+
<#if properties.meta?has_content>
<#list properties.meta?split(' ') as meta>
@@ -38,8 +39,7 @@
-
-
+
@@ -88,21 +88,15 @@
if(sessionTenant){
var imgSrc = "${url.resourcesPath}/img/tenants/"+sessionTenant+".png";
}else{
- var imgSrc = "${url.resourcesPath}/img/logo.png";
+ var imgSrc = "${url.resourcesPath}/img/iGOT_Karmayogi_logo.jpg";
}
var logoImg = document.querySelector(".ui.header img");
if(logoImg){
logoImg.setAttribute('class','logo-image');
- if(sessionTenant) {
- var logoname = sessionTenant + 'logo';
- logoImg.setAttribute('alt',logoname);
- } else {
- var logoname = 'Sunbird logo';
- logoImg.setAttribute('alt',logoname);
- }
+ logoImg.setAttribute('alt',sessionTenant);
logoImg.src = imgSrc;
- logoImg.addEventListener("error", ()=>{ logoImg.onerror=null;logoImg.src='${url.resourcesPath}/img/logo.png'});
+ logoImg.addEventListener("error", ()=>{ logoImg.onerror=null;logoImg.src='${url.resourcesPath}/img/iGOT_Karmayogi_logo.jpg'});
}
@@ -117,7 +111,6 @@
-
#macro>
diff --git a/ansible/artifacts/sunbird/login/theme.properties b/ansible/artifacts/sunbird/login/theme.properties
index 153e0d1014..4f566f31c0 100644
--- a/ansible/artifacts/sunbird/login/theme.properties
+++ b/ansible/artifacts/sunbird/login/theme.properties
@@ -13,9 +13,9 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-# scripts=js/login.js?v=1.15.b
+#
parent=base
-styles=css/semantic.min.css?v=1.15.b css/login.css?v=1.15.b
-scripts=js/jquery-3.3.1.min.js?v=1.15.b js/telemetry_service.js?v=1.15.b
+styles=css/semantic.min.css?v=1.18.b css/login.css?v=1.28.b
+scripts=js/login.js?v=1.27.b
kcFeedbackAreaClass=ui info message
diff --git a/ansible/bootstrap.yml b/ansible/bootstrap.yml
index 429d8b7127..27d77d255d 100644
--- a/ansible/bootstrap.yml
+++ b/ansible/bootstrap.yml
@@ -4,11 +4,11 @@
- "{{inventory_dir}}/secrets.yml"
pre_tasks:
- name: Python predependency
- raw: bash -c "test -e /usr/bin/python" || (sudo apt update && sudo apt install -y python)
+ raw: bash -c "test -e /usr/bin/python" || (sudo apt update && sudo apt install -y python2)
- name: Installing other packages
apt:
state: present
- name: ['python-pkg-resources', 'python2-pip']
+ name: ['python-pkg-resources', 'python-pip']
when: ansible_distribution_version | float < 18
- name: Installing other packages
apt:
@@ -19,18 +19,16 @@
- bootstrap_any
tags:
- bootstrap_any
- - all
-- hosts: "{{hosts}}"
- gather_facts: no
+- hosts: "{{ hosts }}"
become: yes
ignore_unreachable: yes
vars_files:
- "{{inventory_dir}}/secrets.yml"
roles:
- - role: azure-cli
+ - role: gcloud-cli
tags:
- - azure_cli
+ - gcloud_cli
- hosts: "{{ hosts| default('all') }}"
become: yes
@@ -42,4 +40,3 @@
- vm-agents-nodeexporter
tags:
- node_exporter
- - all
diff --git a/ansible/cassandra-backup.yml b/ansible/cassandra-backup.yml
index fdfa7933db..373420e45e 100644
--- a/ansible/cassandra-backup.yml
+++ b/ansible/cassandra-backup.yml
@@ -6,18 +6,21 @@
become: yes
serial: true
tasks:
- - name: taking cassandra snapshots
- shell: |
- nodetool clearsnapshot
- nodetool snapshot -t "cassandra-backup-{{ lookup('pipe', 'date +%Y%m%d') }}-{{ ansible_hostname }}-new"
+ - name: taking cassandra snapshots
+ shell: |
+ nodetool clearsnapshot
+ nodetool snapshot -t "cassandra-backup-{{ lookup('pipe', 'date +%Y%m%d') }}-{{ ansible_hostname }}-new"
-# Once snaphot is done,
+# Once snaphot is done,
# We can take the snapshot and compress it and upload it
# This will take some cpu and memory in the nodes
# Because of that we're running it serially, so that it won't affect the perfomance
- hosts: cassandra
become: yes
vars_files:
- - ['{{ inventory_dir }}/secrets.yml']
+ - ["{{ inventory_dir }}/secrets.yml"]
roles:
- - {name: cassandra-backup, vars: [ additional_arguments: "--disablesnapshot"]}
+ - {
+ name: cassandra-backup,
+ vars: [additional_arguments: "--disablesnapshot"],
+ }
diff --git a/ansible/docker_image_push.yml b/ansible/docker_image_push.yml
index 6a5eefa34b..fed92d7482 100644
--- a/ansible/docker_image_push.yml
+++ b/ansible/docker_image_push.yml
@@ -2,22 +2,41 @@
- name: "Push docker images to any docker registry"
hosts: local
become: yes
+ vars:
+ service_account_local_path: /tmp/gcr_service_account_key.json
vars_files:
- - ['{{inventory_dir}}/secrets.yml']
- become: yes
+ - ["{{inventory_dir}}/secrets.yml"]
tasks:
- name: login to registry
docker_login:
registry: "{{ vault_docker_registry_url }}"
username: "{{ vault_docker_registry_user }}"
password: "{{ vault_docker_registry_password }}"
- tags: docker-login
+ tags:
+ - azure
+ - block:
+ - name: Write GCR service account key to a temporary file
+ copy:
+ content: "{{ gcr_docker_login_service_account }}"
+ dest: "{{ service_account_local_path }}"
+
+ - name: Authenticate Docker to GCR
+ shell: >
+ cat "{{ service_account_local_path }}" | docker login -u _json_key --password-stdin {{ vault_docker_registry_url }}
+ no_log: true
+
+ - name: Remove temporary GCR service account key file
+ file:
+ path: "{{ service_account_local_path }}"
+ state: absent
+ tags:
+ - gcr-docker-login
- - name: Push image to registry
- docker_image:
- name: "{{ hub_org }}/{{ image_name }}:{{ image_tag }}"
- push: yes
-
- - file:
- path: "/root/.docker"
- state: absent
+ - block:
+ - name: Push image to registry
+ shell: >
+ docker push "{{ hub_org }}/{{ image_name }}:{{ image_tag }}"
+ - file:
+ path: "/root/.docker"
+ state: absent
+ tags: always
diff --git a/ansible/es.yml b/ansible/es.yml
index c526414f47..1ea8ebee4f 100644
--- a/ansible/es.yml
+++ b/ansible/es.yml
@@ -15,7 +15,6 @@
- role: es5-snapshot-purge
tags:
- es_backup
- run_once: true
- hosts: log-es-backup
become: yes
diff --git a/ansible/inventory/env/group_vars/all.yml b/ansible/inventory/env/group_vars/all.yml
index df20586566..8c5055996b 100644
--- a/ansible/inventory/env/group_vars/all.yml
+++ b/ansible/inventory/env/group_vars/all.yml
@@ -16,7 +16,11 @@ sunbird_instance: "{{env}}"
env_short_name: "{{env}}"
sunbird_env: "{{env}}" #Ekstep environment to connect to. Use `qa` for non-prod deployments, and `prod` for prod deployment.
sunbird_app_name: "{{env}}"
-env_prefix: "{{env}}"
+
+#artifact upload
+
+
+#plugins
# Keycloak
keycloak_api_management_user_first_name: "admin"
@@ -26,7 +30,6 @@ keycloak_api_management_username: "{{core_vault_sunbird_sso_username}}"
keycloak_api_management_user_password: "{{core_vault_sunbird_sso_password}}"
keycloak_management_user: "admin"
keycloak_management_password: "{{core_vault_keycloak_password}}"
-tenant_name: sunbird
## Learner service
sunbird_url_shortner_access_token: "{{vault_core_url_shortner_access_token}}"
@@ -38,6 +41,17 @@ sunbird_es_port: 9300
mail_server_port: 587
upstream_url: "{{sunbird_public_storage_account_name}}.blob.core.windows.net/{{sunbird_content_azure_storage_container}}"
+## Mailing list
+# !! Override for specific alert groups; Default will be alerts_mailing_list
+# Enable below override below variables in common.yml for team specific alerts
+
+# monitor_alerts_slack_channel: ""
+# app_alerts_mailing_list: ""
+# devops_alerts_mailing_list: ""
+# site_alerts_mailing_list: ""
+# keycloak_alerts_mailing_list: ""
+# api_manager_alerts_mailing_list: ""
+
# Learner
sunbird_user_profile_field_default_visibility: private
@@ -49,24 +63,31 @@ sunbird_portal_user_upload_ref_link: http://www.sunbird.org/features-documentati
content_service_whitelisted_channels: ""
content_service_blacklisted_channels: ""
+# Badger
+badger_url: http://azureaccountname.blob.core.windows.net/ # Is it a dummy var?
+badger_file_storage: storages.backends.azure_storage.AzureStorage
+badger_admin_email:
+
## Below passwords are used by DB install scripts when creating databases. Please use strong passwords.
sunbird_pg_user: "{{core_vault_postgres_username}}"
application_postgres_user: "{{core_vault_postgres_username}}"
application_postgres_password: "{{core_vault_postgres_password}}"
keycloak_postgres_user: "{{core_vault_postgres_username}}"
keycloak_postgres_password: "{{core_vault_postgres_password}}"
+badger_postgres_password: "{{core_vault_postgres_password}}"
kong_postgres_user: "{{core_vault_postgres_username}}"
kong_postgres_password: "{{core_vault_postgres_password}}"
enc_postgres_user: "{{core_vault_postgres_username}}"
-uci_postgres_user: "{{core_vault_postgres_username}}"
-uci_postgres_password: "{{core_vault_postgres_password}}"
+badger_postgres_user: "{{core_vault_postgres_username}}"
user_org_service_postgres_user: "{{core_vault_postgres_username}}"
ansible_vault_password: "{{ core_vault_ansible_vault_password }}"
jenkins_admin_username: "{{core_vault_jenkins_admin_username}}"
jenkins_admin_password: "{{core_vault_jenkins_admin_password}}"
+vault_badging_authorization_key: "{{core_vault_badging_authorization_key}}"
vault_postgres_exporter_password: "{{core_vault_postgres_password}}"
## Postgres configuration
+swarm_address_space: "{{groups['swarm-manager'][0].split(\".\")[0]}}.0.0.0/8" #Application server address space (e.g. 10.3.0.0/24), also the agentpublicSubnet if using Azure scripts provided
keycloak_address_space: "{{groups['keycloak'][0].split(\".\")[0]}}.0.0.0/8"
postgres_address_space: "{{groups['postgresql-master'][0].split(\".\")[0]}}.0.0.0/8"
@@ -82,9 +103,9 @@ kong_host: kong
application_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
enc_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
user_org_service_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
+badger_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
keycloak_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
kong_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
-uci_postgres_host: "{{groups['postgres'][0]}}" #Private IP of Postgres server
sunbird_cassandra_host: "{{groups['cassandra']|join(',')}}" #Private IP of Cassandra server
sunbird_es_host: "{{groups['es']| join(',')}}"
@@ -113,8 +134,8 @@ sunbird_auth_version: 1.0v
## Content Repo configuration
sunbird_api_auth_token: "{{ core_vault_sunbird_api_auth_token }}" #Authorization key (JWT) to access Sunbird APIs. This will be in the output of deploy-apis.sh script, extracting it out is documented in the deployment wiki.
-sunbird_ekstep_api_key: "{{ core_vault_sunbird_api_auth_token }}"
-sunbird_plugin_repo_api_key: "{{ core_vault_sunbird_api_auth_token }}"
+sunbird_ekstep_api_key: "{{ core_vault_sunbird_ekstep_api_key }}" #Authorization key (JWT) to access Ekstep APIs. Steps to generate this are documented on {{proto}}://github.com/project-sunbird/sunbird-commons/wiki/Obtaining-API-token-for-accessing-ekstep-APIs
+sunbird_plugin_repo_api_key: "{{ core_vault_sunbird_ekstep_api_key }}"
sunbird_trampoline_secret: "{{ core_vault_sunbird_trampoline_secret }}"
# ADVANCED CONFIGURATIONS
@@ -129,12 +150,13 @@ cassandra_root_dir: '/etc/cassandra'
cassandra_version: '3.9'
cassandra_port: 9042
cassandra_rpc_address: 0.0.0.0
-cassandra_restore_dir: "/home/{{ ansible_ssh_user }}/"
+cassandra_restore_dir: /home/deployer/
cassandra_backup_azure_container_name: cassandra-backup
cassandra_backup_dir: /data/cassandra/backup
### Release 5.0.0 ###
cassandra_multi_dc_enabled: false
+
keycloak_realm: sunbird
sunbird_content_player_url: "http://kong:8000/"
sunbird_learner_player_url: "http://kong:8000/"
@@ -157,6 +179,7 @@ sunbird_keycloak_public: true
sunbird_cache_store: "memory"
sunbird_portal_title_name: "{{sunbird_app_name}}"
sunbird_sso_publickey: "{{core_vault_sunbird_sso_publickey}}"
+sunbird_fcm_account_key: "{{core_vault_sunbird_fcm_account_key}}"
sunbird_msg_91_auth: "{{core_vault_msg_91_auth_key}}"
sunbird_telemetry_pdata_id: "{{env}}.sunbird.learning.service"
sunbird_encryption_key: "{{ core_vault_sunbird_encryption_key }}"
@@ -169,16 +192,16 @@ keycloak_password: "{{core_vault_keycloak_password}}"
#Content Service Vars
sunbird_content_repo_api_base_url: "http://{{learningservice_ip}}:8080/learning-service"
-sunbird_content_repo_api_key: "{{ core_vault_sunbird_api_auth_token }}"
-sunbird_search_service_api_key: "{{ core_vault_sunbird_api_auth_token }}"
-sunbird_dial_repo_api_key: "{{ core_vault_sunbird_api_auth_token }}"
+sunbird_content_repo_api_key: "{{ core_vault_sunbird_ekstep_api_key }}"
+sunbird_search_service_api_key: "{{ core_vault_sunbird_ekstep_api_key }}"
+sunbird_dial_repo_api_base_url: "{{sunbird_ekstep_api_base_url}}"
+sunbird_dial_repo_api_key: "{{ core_vault_sunbird_ekstep_api_key }}"
sunbird_plugin_repo_api_base_url: "{{ sunbird_search_service_api_base_url }}"
sunbird_data_service_api_base_url: "{{sunbird_ekstep_api_base_url}}"
-sunbird_data_service_api_key: "{{ core_vault_sunbird_api_auth_token }}"
-sunbird_content_service_api_base_url: "http://content-service.{{namespace}}.svc.cluster.local:9000"
-sunbird_user_service_api_base_url: "http://learner-service.{{namespace}}.svc.cluster.local:9000"
+sunbird_data_service_api_key: "{{ core_vault_sunbird_ekstep_api_key }}"
+sunbird_content_service_api_base_url: "http:///content-service.{{namespace}}.svc.cluster.local:9000"
+sunbird_user_service_api_base_url: "http:///learner-service.{{namespace}}.svc.cluster.local:9000"
sunbird_group_service_api_base_url: "http://groups-service:9000"
-plugin_media_base_url: "{{proto}}://{{domain_name}}"
#API Manager
kong_postgres_port: 5432
@@ -196,14 +219,17 @@ jenkins_replicas: 2
postgres_replication_user_name: "{{ core_vault_postgres_username }}"
postgres_password: "{{ core_vault_postgres_password }}"
+
postgresql_hba_entries:
- { type: local, database: all, user: postgres, auth_method: peer }
- { type: local, database: all, user: all, auth_method: peer }
- { type: host, database: all, user: all, address: '127.0.0.1/32', auth_method: md5 }
- { type: host, database: all, user: all, address: '::1/128', auth_method: md5 }
+ - { type: host, database: all, user: "{{ postgres_exporter_user }}", address: '{{ swarm_address_space }}', auth_method: md5 }
- { type: host, database: replication, user: "{{ postgres_replication_user_name }}", address: '{{ postgres_address_space }}', auth_method: md5 }
+ - { type: host, database: all, user: all, address: '{{ swarm_address_space }}', auth_method: md5 }
- { type: host, database: all, user: all, address: '{{ keycloak_address_space }}', auth_method: md5 }
- - { type: host, database: all, user: all, address: '0.0.0.0/0', auth_method: md5 }
+
proxy_prometheus_admin_creds: "{{ core_vault_proxy_prometheus_admin_creds }}"
vault_docker_registry_url: "{{core_vault_docker_registry_url}}"
@@ -216,8 +242,9 @@ prometheus_data_dir: /var/dockerdata/prometheus/data
logger_es_host: "{{ groups['log-es'][0] }}"
logger_es_port: 9200
+#kibana_image: kibana:5.4.3
-oauth2_proxy_redirect_url: "{{proto}}://{{proxy_server_name}}/oauth2/callback"
+kibana_oauth_redirect_url: "{{proto}}://{{proxy_server_name}}/oauth2/callback"
keycloak: True
api__host: "{{proxy_server_name}}"
@@ -249,16 +276,16 @@ monitor_alerts_mail_server_port: "{{ mail_server_port }}"
monitor_alerts_mail_server_username: "{{ mail_server_username }}"
monitor_alerts_mail_server_password: "{{ core_vault_mail_server_password }}"
+#badger
+badger_admin_password: "{{core_vault_badger_admin_password}}"
+badger_postgres_database: badger
+badger_host: "{{ groups['postgresql-master'][0]}}"
+badger_container: badgr
+sunbird_http_orgin: "{{proto}}://{{proxy_server_name}}/badging"
+
#enc-service
enc_postgres_database: "{{env}}-keys"
-#uci service variables
-# postgres dbs
-uci_bot_postgres_database: "uci-botdb"
-uci_forms_postgres_database: "uci-formsdb"
-uci_odk_postgres_database: "uci-odk-aggregate"
-uci_fusionauth_postgres_database: "uci-fusionauth"
-
#kafka vars
zk_hosts: "127.0.0.1:2181"
kafka_conf_dir: /etc/kafka
@@ -298,7 +325,7 @@ sunbird_open_saber_bridge_enable: 'false'
# --- Content service specific ENV vars --- #
sunbird_content_service_enable_logging: 'true'
-sunbird_language_service_api_key: "{{core_vault_sunbird_api_auth_token}}"
+sunbird_language_service_api_key: "{{core_vault_sunbird_ekstep_api_key}}"
sunbird_installation_display_name: "{{sunbird_app_name}} {{env}}"
sunbird_ekstep_proxy_base_url: "https://{{ekstep_s3_env}}.ekstep.in" #Base URL of the Ekstep environment. Use `https://qa.ekstep.in/` for non-prod deployments, and `https://community.ekstep.in/` for prod deployment.
sunbird_ekstep_api_base_url: "{{sunbird_ekstep_proxy_base_url}}/api" #API base URL of the Ekstep environment. Use `https://qa.ekstep.in/api` for non-prod deployments, and use `https://api.ekstep.in/` for prod deployment.
@@ -309,9 +336,10 @@ kong_version: 1.5.0-gold
# Data pipeline vars
learning_analytics_service_url: 'http://{{learningservice_ip}}:9000'
+
#encryption Service
sunbird_allowed_login:
-sunbird_course_batch_notification_enabled: 'true'
+sunbird_course_batch_notification_enabled: 'False'
sunbird_device_register_api: "{{proto}}://{{api_proxy_name}}/v3/device/register/"
sunbird_course_batch_notification_signature: sunbird
@@ -323,6 +351,7 @@ sunbird_qrimage_topic: "{{env}}.qrimage.request"
sunbird_azure_report_container_name: reports
+
sunbird_google_captcha_site_key: "{{core_vault_sunbird_google_captcha_site_key_portal}}"
sunbird_google_oauth_clientId: "{{core_vault_sunbird_google_oauth_clientId_portal}}"
sunbird_google_oauth_clientSecret: "{{core_vault_sunbird_google_oauth_clientSecret_portal}}"
@@ -335,15 +364,98 @@ grafana_admin_password: "{{core_vault_grafana_admin_password}}"
grafana_editor_password: "{{core_vault_grafana_editor_password}}"
grafana_dashboards_git_repo_url_with_credentails: "{{core_vault_grafana_dashboards_git_repo_url_with_credentails}}"
monitor_alerts_slack_url: "{{core_vault_monitor_alerts_slack_url}}"
-kong__test_jwt: "{{ core_vault_sunbird_api_auth_token }}"
+kong__test_jwt: "{{core_vault_kong__test_jwt}}"
+
+############# Postgres users and databases ###############
+postgresql_users:
+ - name: "{{kong_postgres_user}}"
+ login_host: "{{kong_postgres_host}}"
+ login_password: "{{kong_postgres_password}}"
+ password: "{{postgres_password}}"
+ db: "{{kong_postgres_database}}"
+ login_user: "{{kong_postgres_user}}"
+ priv: "ALL"
+ - name: "{{keycloak_postgres_user}}"
+ login_host: "{{keycloak_postgres_host}}"
+ login_password: "{{keycloak_postgres_password}}"
+ password: "{{postgres_password}}"
+ db: "{{keycloak_postgres_database}}"
+ login_user: "{{keycloak_postgres_user}}"
+ priv: "ALL"
+ - name: "{{application_postgres_user}}"
+ login_host: "{{application_postgres_host}}"
+ login_password: "{{application_postgres_password}}"
+ password: "{{postgres_password}}"
+ db: "{{application_postgres_database}}"
+ login_user: "{{application_postgres_user}}"
+ priv: "ALL"
+ - name: "{{badger_postgres_user}}"
+ login_host: "{{badger_postgres_host}}"
+ login_password: "{{badger_postgres_password}}"
+ password: "{{postgres_password}}"
+ login_user: "{{badger_postgres_user}}"
+ db: "{{badger_postgres_database}}"
+ priv: "ALL"
+ - name: "{{user_org_service_postgres_user}}"
+ login_host: "{{user_org_service_postgres_host}}"
+ login_password: "{{user_org_service_postgres_password}}"
+ password: "{{user_org_service_postgres_password}}"
+ db: "{{user_org_service_postgres_database}}"
+ login_user: "{{user_org_service_postgres_user}}"
+ priv: "ALL"
+ - name: "{{enc_postgres_user}}"
+ login_host: "{{enc_postgres_host}}"
+ login_password: "{{enc_postgres_password}}"
+ password: "{{enc_postgres_password}}"
+ db: "{{enc_postgres_database}}"
+ login_user: "{{enc_postgres_user}}"
+ priv: "ALL"
+
+
+postgresql_databases:
+ - name: "{{kong_postgres_database}}"
+ login_host: "{{kong_postgres_host}}"
+ login_password: "{{kong_postgres_password}}"
+ owner: "{{kong_postgres_user}}"
+ login_user: "{{kong_postgres_user}}"
+ - name: "{{keycloak_postgres_database}}"
+ login_host: "{{keycloak_postgres_host}}"
+ login_password: "{{keycloak_postgres_password}}"
+ owner: "{{keycloak_postgres_user}}"
+ login_user: "{{keycloak_postgres_user}}"
+ - name: "{{application_postgres_database}}"
+ login_host: "{{application_postgres_host}}"
+ login_password: "{{application_postgres_password}}"
+ owner: "{{application_postgres_user}}"
+ login_user: "{{application_postgres_user}}"
+ - name: "{{badger_postgres_database}}"
+ login_host: "{{badger_postgres_host}}"
+ login_password: "{{badger_postgres_password}}"
+ owner: "{{badger_postgres_user}}"
+ login_user: "{{badger_postgres_user}}"
+ - name: "{{user_org_service_postgres_database}}"
+ login_host: "{{user_org_service_postgres_host}}"
+ login_password: "{{user_org_service_postgres_password}}"
+ owner: "{{user_org_service_postgres_user}}"
+ login_user: "{{user_org_service_postgres_user}}"
+ - name: "{{enc_postgres_database}}"
+ login_host: "{{enc_postgres_host}}"
+ login_password: "{{enc_postgres_password}}"
+ owner: "{{enc_postgres_user}}"
+ login_user: "{{enc_postgres_user}}"
+
+##########################################################
####### App ES ########
+
+
app_es_etc_cluster_name: "{{env}}"
app_es_etc_discovery_zen_minimum_master_nodes: "{{groups['es']| length | int}}"
app_es_snapshot_host: "{{ groups['es'][0] }}"
app_es_restore_host: "{{ groups['es'][0] }}"
app_es_snapshot_base_path: application
+
#######Log Es
log_es_etc_cluster_name: "{{env}}-log"
log_es_snapshot_host: "{{ groups['log-es'][0] }}"
@@ -367,6 +479,7 @@ sunbird_cloud_storage_urls: 'https://s3.ap-south-1.amazonaws.com/ekstep-public-{
sunbird_email_max_recipients_limit: 100
sunbird_cassandra_consistency_level: local_quorum
sunbird_cassandra_replication_strategy: '{"class":"SimpleStrategy","replication_factor":"1"}'
+medium_rate_limit_per_hour: 5000
sunbird_lock_expiry_time: 3600
app_es_heap_size: 1500m
log_es_heap_size: 1500m
@@ -385,6 +498,9 @@ vault_sms_method_type: "{{core_vault_sms_method_type}}"
# telemetry
default_channel_id: "in.ekstep"
+##
+
+trampoline_secret: "{{core_vault_trampoline_secret}}"
es_api_host: "{{inventory_hostname}}"
sunbird_linked_content_base_url: "{{proto}}://{{proxy_server_name}}/play/content/"
enc_postgres_password: "{{core_vault_postgres_password}}"
@@ -395,6 +511,10 @@ config_refresh_interval: 10
config_service_enabled: false
config_cache_ttl: 600
+#### backup storage secret
+#backup_azure_storage_access_key: "{{core_vault_sunbird_azure_storage_key}}"
+#backup_azure_storage_account_name: "{{azure_account_name}}"
+
#es-backup
app_es_snapshot_host: "{{ groups['es'][0] }}"
app_snapshot_base_path: applicationelasticsearch
@@ -428,15 +548,21 @@ kafka_brokers: "{{groups['processing-cluster-kafka']|join(':9092,')}}:9092"
__lms_host__: "http://{{private_ingressgateway_ip}}/learner"
sunbird_redis_host: "{{ groups['lp-redis'][0] }}"
+
### Release 2.1.0 ###
sunbird_portal_offline_tenant: ""
-sunbird_portal_offline_supported_languages: "English, Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Oriya, Punjabi, Tamil, Telugu, Urdu"
+sunbird_portal_offline_supported_languages: "English"
sunbird_portal_offline_app_release_date: "17/3/2020"
sunbird_portal_offline_app_version: "1.2.0"
sunbird_portal_offline_app_download_url: ""
sunbird_portal_log_level: "debug"
### Release 2.2.0 ###
+sunbird_google_android_keycloak_client_id: ''
+sunbird_google_android_keycloak_secret: ''
+sunbird_trampoline_android_keycloak_client_id: ''
+sunbird_trampoline_android_keycloak_secret: ''
+sunbird_android_keycloak_client_id: ''
sunbird_user_org_api_base_url: http://{{sunbird_swarm_manager_lb_ip}}:9000
### Release-2.3.0 ###
@@ -448,7 +574,6 @@ kafka_topics_instruction: "{{env_name}}.coursebatch.job.request"
kafka_urls: "{{groups['processing-cluster-kafka']|join(':9092,')}}:9092"
kafka_topics_certificate_instruction: "{{env_name}}.issue.certificate.request"
kafka_topics_contentstate_invalid: "{{env_name}}.contentstate.invalid"
-kafka_enrolment_sync_topic: "{{env_name}}.batch.enrolment.sync.request"
cert_service_container_name: "{{env}}-e-credentials"
cert_service_cloud_storage_type: "{{cert_service_cloud_storage_type}}"
@@ -489,6 +614,7 @@ language_read_elb_url: bolt://{{ groups['learning-neo4j-node1'][0] }}:8687
language_write_elb_url: bolt://{{ groups['learning-neo4j-node1'][0] }}:8687
mw_shard_id: 1
sunbird_lp_redis_host: "{{groups['lp-redis-ps'][0]}}"
+#lp_azure_account_name: "{{azure_account_name}}"
#Druid Proxy APi service
druid_proxy_replicas: 1
@@ -502,6 +628,10 @@ lp_kafka_url: "{{sunbird_processing_kafka_host}}"
content_import_required_props: '["name","code","mimeType","primaryCategory","artifactUrl","framework"]'
content_import_remove_props: '["downloadUrl","variants","previewUrl","streamingUrl","itemSets","level1Name","level1Concept","level2Name","level2Concept","level3Name","level3Concept","me_totalPlaySessionCount","me_totalTimeSpentInSec","me_totalSessionsCount","me_totalTimespent","me_totalInteractions","me_creationSessions","me_creationTimespent","me_averageInteractionsPerMin","me_averageSessionsPerDevice","me_totalDevices","me_averageTimespentPerSession","me_averageRating","me_totalDownloads","me_totalSideloads","me_totalRatings","me_totalComments","me_totalDialcode","me_totalDialcodeLinkedToContent","me_totalDialcodeAttached","me_hierarchyLevel","origin","originData","contentPolicyCheck","questions"]'
+# Print Service
+#kp_sunbird_account_name: "{{azure_account_name}}"
+#kp_sunbird_account_key: "{{core_vault_sunbird_azure_storage_key}}"
+
#Sunbird-Portal release-2.6.5 #
sunbird_portal_updateLoginTimeEnabled: false
@@ -515,6 +645,10 @@ search_index_host: "{{ groups['composite-search-cluster']|join(':9200,')}}:9200"
compositesearch_index_name: "compositesearch"
sunbird_report_service_url: "http://kong:8000/data/v1/report-service"
+
+# Datapipeline
+dp_play_http_secret_key: "mysecretdpplaysecretkey"
+
# LMS Service vars
group_activity_agg_cache_ttl: 3600
group_activity_agg_cache_enable: false
@@ -522,7 +656,8 @@ group_activity_agg_cache_enable: false
# nodebb variables
mongo_nodebb_host: "{{ groups['mongo'] | join(',')}}"
sunbird_nodebb_storage_key: "{{ core_vault_sunbird_nodebb_storage_key }}"
-kibana_service: "kibana.logging.svc.cluster.local:5601"
+kibana_service: "http://kibana.logging.svc.cluster.local:5601"
+sunbird_dial_repo_api_base_url: "http://{{dialservice_ip}}:9001"
#report service
dp_postgres_host: "{{ groups['postgres'][0] }}"
@@ -554,4 +689,197 @@ sunbird_trampoline_desktop_keycloak_client_id: trampoline-desktop
# DIAL-service schema
dial_plugin_container_name: "sunbird-dial-{{env}}"
-dial_service_schema_base_path: "https://{{sunbird_public_storage_account_name}}.blob.core.windows.net/{{dial_plugin_container_name}}/jsonld-schema/local"
+dial_service_schema_base_path: "https://{{sunbird_public_storage_account_name}}.blob.core.windows.net/{{dial_plugin_container_name}}/schemas/local"
+
+plugin_media_base_url: "{{proto}}://{{domain_name}}"
+tenant_name: sunbird
+
+###################################################
+##### These variables are from sunbird-cb/cb-devops
+###################################################
+# Variables common to all the roles, but which not not dependant on the environmwent will stay here
+
+#sunbird-service-variables
+
+sb_learner_service: learner-service
+sb_learner_service_port: 9000
+
+
+service_ui_static_service: lex-ui-static
+service_ui_proxies_service: lex-ui-proxies
+service_notification_service: lex-notification-service
+service_lex_core_lhub_service: lex-core-lhub-service
+service_sb_hub_service: sb-hub-service
+service_content_validation_service: content_validation_service
+service_sb_hub_graph_service: sb-hub-graph-service
+service_profanity_filter_service: profanity-filter
+service_ui_cbp_igot_service: ui-cbp-igot
+service_scoring_engine_service: scoring-engine-service
+service_workflow_handler_service: workflow-handler-service
+service_sb_cb_ext_service: sb-cb-ext-service
+service_ui_mdo_igot_service: ui-mdo-igot
+service_ui_spv_igot_service: ui-spv-igot
+service_profanity_image_moderation_service: profanity-image-moderation
+service_pm_analytics_service: pm-analytics-service
+service_wat_sourcing_service: wat-sourcing-service
+service_profanity_moderator_admin_service: profanity-moderator-admin-service
+service_form_service: form-service
+service_static_domian_service: static-domian-service
+service_faq_assistant_service: faq-assistant
+service_pdf_generator_service: pdf-generator-service
+service_fracentity_service: fracentity-service
+service_ml_kb_portal_service: ml-kb-portal-service
+service_cb_pores_service: cb-pores-service
+service_content_partner_provider_service: content-partner-provider
+
+# Ports
+service_bulk_upload_port: 3009
+service_content_service_port: 80
+service_dbms_api_port: 5801
+service_khub_migration_port: 3014
+service_lex_core_port: 7001
+service_more_like_this_port: 3015
+service_sb_ext_auth_tool_port: 3011
+service_sb_ext_port: 5902
+service_social_forum_port: 3000
+service_telemetry_port: 9001
+service_ui_proxies_port: 9001
+service_ui_static_port: 3002
+service_sb_telemetry_port: 8091
+service_sb_telemetry_port: 9001
+service_pid_service_port: 3008
+service_notification_service_port: 5805
+service_lex_core_critical_port: 7001
+service_lex_core_high_port: 7001
+service_lex_core_lhub_port: 7004
+service_lex_core_cassandra_port: 7001
+service_lex_hierarchy_service_port: 5906
+service_opensaber_port: 8080
+service_sb_hub_port: 3013
+service_content_validation_port: 6590
+service_sb_hub_graph_port: 4013
+service_profanity_filter_port: 5000
+service_ui_cbp_igot_port: 3024
+service_scoring_engine_port: 7014
+service_workflow_handler_port: 5099
+service_sb_cb_ext_port: 7001
+service_ui_mdo_igot_port: 3034
+service_ui_spv_igot_port: 3044
+service_frac_backend_port: 8095
+service_frac_web_service_port: 5000
+service_frac_collab_service_port: 8080
+service_profanity_image_moderation_port: 5006
+service_pm_web_service_port: 5000
+service_pm_analytics_port: 8091
+service_pm_zuul_port: 8080
+service_pm_user_port: 8081
+service_frac_dictionary_service_port: 3040
+service_ui_cbc_igot_port: 3054
+service_pm_microsurvey_port: 8099
+service_pm_microsurvey_web_service_port: 5000
+service_content_tagging_port: 5008
+service_wat_sourcing_web_port: 5000
+service_wat_sourcing_port: 5000
+service_developer_console_web_portal_port: 5000
+service_developer_console_service_port: 8080
+service_profanity_moderator_admin_port: 4000
+service_form_port: 8099
+service_static_domian_port: 80
+service_faq_assistant_port: 4003
+service_pdf_generator_port: 3000
+service_fracentity_port: 8083
+service_ml_kb_portal_port: 80
+service_karmaquest_port: 7001
+service_cb_pores_port: 7001
+service_demand_capture_port: 8080
+service_content_partner_provider_port: 8055
+
+# Network alias names, so that one service can talk to another
+network_alias_content_service: private-content-service
+network_alias_static_host: nginx-public-ingress-metrics
+network_alias_telemetry_service: telemetry-service
+network_alias_sb_ext_service: sb-ext-service
+network_alias_sb_ext_authoring_service: sb-ext-authoring-service
+network_alias_ui_static_service: ui-static
+network_alias_ui_proxies: ui-proxies
+network_alias_more_like_this_service: more-like-this
+network_alias_social_forum_service: social-forum
+network_alias_lex_core_service: lex-core
+network_alias_bulk_upload_service: bulk-upload-service
+network_alias_khub_migration_service: khub-migration-service
+network_alias_dbms_api_service: dbms-api
+network_alias_sb_telemetry_service: telemetry-service
+network_alias_pid_service: eagle-user-profile
+network_alias_notification_service: notification-service
+network_alias_lex_core_critical_service: lex-core
+network_alias_lex_core_cassandra_service: lex-core
+network_alias_lex_core_high_service: sb-cb-ext-service
+network_alias_lex_core_lhub_service: lex-core-lhub
+network_alias_lex_hierarchy_service: hierarchy-service
+network_alias_opensaber: sb-opensaber
+network_alias_sb_hub_service: sb-hub-service
+network_alias_content_validation_service: content-validation-service
+network_alias_sb_hub_graph_service: hub-graph-service
+network_alias_profanity_filter_service: profanity-filter
+network_alias_ui_cbp_igot_service: ui-cbp-igot
+network_alias_scoring_engine_service: scoring-engine-service
+network_alias_workflow_handler_service: workflow-handler-service
+network_alias_sb_cb_ext_service: sb-cb-ext-service
+network_alias_ui_mdo_igot_service: ui-mdo-igot
+network_alias_ui_spv_igot_service: ui-spv-igot
+network_alias_profanity_image_moderation_service: profanity-image-moderation
+network_alias_pm_analytics_service: pm-analytics-service
+network_alias_profanity_moderator_admin_service: profanity-moderator-admin-service
+network_alias_static_domian_service: static-domian-service
+network_alias_faq_assistant_service: faq-assistant
+network_alias_pdf_generator_service: pdf-generator-service
+network_alias_fracentity_service: fracentity-service
+network_alias_ml_kb_portal_service: ml-kb-portal-service
+network_alias_cb_pores_service: cb-pores-service
+network_alias_demand_capture_service: demand-capture
+network_alias_content_partner_provider_service: content-partner-provider
+
+# Image names, this is used by the service alone, but since we want to have all the images in one place, we are oncfiguring the images here
+image_ui_static: ui-static
+image_ui_proxies: ui-proxies
+image_ui_static_fusion: ui-static
+image_content_validation_service: content-validation-service
+image_sb_hub_graph_service: sb-hub-graph-service
+image_profanity_filter_service: profanity-filter
+image_ui_cbp_igot: ui-cbp-igot
+image_workflow_handler_service: workflow-handler-service
+image_scoring_engine_service: scoring-engine-service
+image_sb_cb_ext_service: sb-cb-ext-service
+image_ui_mdo_igot: ui-mdo-igot
+image_ui_spv_igot: ui-spv-igot
+image_frac_backend_service: frac_backend_service
+image_frac_web_service: frac-web-service
+image_frac_collab_service: frac-collab-service
+image_profanity_image_moderation_service: profanity-image-moderation
+image_pm_web_service: pm-web-service
+image_pm_analytics_service: pm-analytics-service
+image_pm_zuul_service: pm-zuul-service
+image_pm_user_service: pm-user-service
+image_frac_dictionary_service: frac-dictionary-service
+image_ui_cbc_igot: ui-cbc-igot
+image_pm_microsurvey_service: pm-microsurvey-service
+image_pm_microsurvey_web_service: pm-survey-web-service
+image_content_tagging_service: content_tagging
+image_wat_sourcing_web_service: wat-sourcing-web-service
+image_wat_sourcing_service: wat-sourcing-service
+image_developer_console_web_portal: developer-console-web-portal
+image_developer_console_service: developer-console-service
+image_profanity_moderator_admin_service: profanity-moderator-admin-service
+image_form_service: form-service
+image_static_domian: static_domain
+image_faq_assistant_service: faq-assistant
+image_pdf_generator_service: pdf-generator
+image_fracentity_service: fracentity-service
+image_ml_kb_portal_service: kb-portal
+image_karmaquest_service: karmaquest-service
+image_cb_pores_service: cb-pores-service
+image_demand_capture_service: demand-capture
+image_content_partner_provider_service: content-partner-provider
+
+#####################bulk-upload-spv#########
+host_bulk_upload: /mydata/bulk_upload
diff --git a/ansible/postgresql-backup.yml b/ansible/postgresql-backup.yml
index 04ea941d4e..8fa5227c9d 100644
--- a/ansible/postgresql-backup.yml
+++ b/ansible/postgresql-backup.yml
@@ -1,4 +1,4 @@
-- hosts: postgres
+- hosts: postgresql-backup
become: yes
vars_files:
- ['{{inventory_dir}}/secrets.yml', 'secrets/{{env}}.yml']
diff --git a/ansible/provision.yml b/ansible/provision.yml
index 80b12aae2b..a062f3f7ae 100644
--- a/ansible/provision.yml
+++ b/ansible/provision.yml
@@ -49,7 +49,7 @@
- name: install setfacl support
become: yes
apt:
- name: ['acl', 'python-psycopg2']
+ name: ['acl', 'python3-psycopg2']
roles:
- postgresql
tags:
diff --git a/ansible/roles/artifacts-upload-gcp/tasks/main.yml b/ansible/roles/artifacts-upload-gcp/tasks/main.yml
new file mode 100644
index 0000000000..cd57f19acb
--- /dev/null
+++ b/ansible/roles/artifacts-upload-gcp/tasks/main.yml
@@ -0,0 +1,33 @@
+---
+- name: Set GCP environment variables
+ set_fact:
+ gcp_environment:
+ GOOGLE_APPLICATION_CREDENTIALS: "/tmp/gcp_service_account.json"
+
+- name: Create temporary directory for GCP service account file
+ file:
+ path: /tmp/gcp_service_account.json
+ state: touch
+
+- name: Write GCP service account file
+ copy:
+ content: "{{ service_account }}"
+ dest: /tmp/gcp_service_account.json
+ mode: "0600"
+
+- name: Authenticate gcloud login
+ shell: gcloud auth activate-service-account --key-file /tmp/gcp_service_account.json
+
+- name: Ensure Google Cloud Storage bucket exists
+ shell: gsutil mb gs://{{ artifacts_container }} || true
+ environment: "{{ gcp_environment }}"
+
+- name: Upload to Google Cloud Storage
+ shell: gsutil cp -r {{ artifact_path }} gs://{{ artifacts_container }}/{{ artifact }}
+ async: 3600
+ poll: 10
+
+- name: Remove temporary GCP service account file
+ file:
+ path: /tmp/gcp_service_account.json
+ state: absent
diff --git a/ansible/roles/cassandra-backup/defaults/main.yml b/ansible/roles/cassandra-backup/defaults/main.yml
index 148bcf83b2..443972a9d4 100644
--- a/ansible/roles/cassandra-backup/defaults/main.yml
+++ b/ansible/roles/cassandra-backup/defaults/main.yml
@@ -1,3 +1,4 @@
-cassandra_root_dir: '/etc/cassandra'
-data_dir: '/var/lib/cassandra/data'
-cassandra_backup_azure_container_name: core-cassandra
\ No newline at end of file
+cassandra_root_dir: "/etc/cassandra"
+data_dir: "/var/lib/cassandra/data"
+cassandra_backup_azure_container_name: core-cassandra
+cassandra_backup_folder: cassandra-backup-{{ ansible_host }}
diff --git a/ansible/roles/cassandra-backup/meta/main.yml b/ansible/roles/cassandra-backup/meta/main.yml
index 23b18a800a..32cf5dda7e 100644
--- a/ansible/roles/cassandra-backup/meta/main.yml
+++ b/ansible/roles/cassandra-backup/meta/main.yml
@@ -1,2 +1 @@
-dependencies:
- - azure-cli
\ No newline at end of file
+dependencies: []
diff --git a/ansible/roles/cassandra-backup/tasks/main.yml b/ansible/roles/cassandra-backup/tasks/main.yml
index a6611c8ebf..013e9068f6 100755
--- a/ansible/roles/cassandra-backup/tasks/main.yml
+++ b/ansible/roles/cassandra-backup/tasks/main.yml
@@ -32,21 +32,16 @@
debug:
var: doc_data
-- name: Ensure azure blob storage container exists
- command: az storage container create --name {{ cassandra_backup_azure_container_name }}
- ignore_errors: true
- environment:
- AZURE_STORAGE_ACCOUNT: "{{ sunbird_management_storage_account_name }}"
- AZURE_STORAGE_KEY: "{{ sunbird_management_storage_account_key }}"
-
-- name: Upload to azure blob storage
- command: "azcopy copy {{cassandra_backup_gzip_file_name}} 'https://{{sunbird_management_storage_account_name}}.blob.core.windows.net/{{cassandra_backup_azure_container_name}}{{sunbird_management_storage_account_sas}}' --recursive"
- environment:
- AZCOPY_CONCURRENT_FILES: 10 # How many files azcopy should read concurrently.
- args:
- chdir: /data/cassandra/backup
- async: 10800
- poll: 10
+- set_fact:
+ cassandra_backup_name: "cassanra_backup_{{ lookup('pipe', 'date +%Z-%Y-%m-%d-%H-%M-%S') }}"
+- name: upload to gcs
+ include_role:
+ name: artifacts-upload-gcp
+ vars:
+ artifacts_container: "{{ backup_bucket }}/{{ cassandra_backup_folder }}"
+ artifact_path: "/data/cassandra/backup"
+ artifact: "{{ cassandra_backup_name }}"
+ service_account: "{{ gcp_backups_service_account }}"
- name: clean up backup dir after upload
file: path="{{ cassandra_backup_dir }}" state=absent
diff --git a/ansible/roles/elasticsearch/elasticsearch.iml b/ansible/roles/elasticsearch/elasticsearch.iml
new file mode 100644
index 0000000000..1578adc390
--- /dev/null
+++ b/ansible/roles/elasticsearch/elasticsearch.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ansible/roles/es-gcs-snapshot/defaults/main.yml b/ansible/roles/es-gcs-snapshot/defaults/main.yml
index 3c2efa9a7f..e0c92de69f 100644
--- a/ansible/roles/es-gcs-snapshot/defaults/main.yml
+++ b/ansible/roles/es-gcs-snapshot/defaults/main.yml
@@ -7,6 +7,5 @@ snapshot_create_request_body: {
}
# Override these values
-es_snapshot_host: "localhost"
snapshot_base_path: "default"
-es_gcs_backup_folder_name: "elasticsearch-snapshots"
\ No newline at end of file
+es_gcs_backup_folder_name: "elasticsearch-snapshots-{{ ansible_host }}"
\ No newline at end of file
diff --git a/ansible/roles/es-gcs-snapshot/tasks/main.yml b/ansible/roles/es-gcs-snapshot/tasks/main.yml
index 55f50b17ad..d450f9366c 100644
--- a/ansible/roles/es-gcs-snapshot/tasks/main.yml
+++ b/ansible/roles/es-gcs-snapshot/tasks/main.yml
@@ -6,7 +6,7 @@
- name: Create GCS Repository
uri:
- url: "http://{{ es_snapshot_host }}:9200/_snapshot/{{ snapshot_base_path }}"
+ url: "http://{{ ansible_host }}:9200/_snapshot/{{ snapshot_base_path }}"
method: PUT
body: "{{ snapshot_create_request_body | to_json }}"
headers:
@@ -14,29 +14,29 @@
- name: Take new snapshot
uri:
- url: "http://{{ es_snapshot_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
+ url: "http://{{ ansible_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
method: PUT
headers:
Content-Type: "application/json"
- name: Print all snapshots
uri:
- url: "http://{{ es_snapshot_host }}:9200/_snapshot/{{ snapshot_base_path }}/_all"
+ url: "http://{{ ansible_host }}:9200/_snapshot/{{ snapshot_base_path }}/_all"
method: GET
- name: Print status of current snapshot
uri:
- url: "http://{{ es_snapshot_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
+ url: "http://{{ ansible_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
method: GET
- name: "Wait for backup to be completed"
uri:
- url: "http://{{ es_snapshot_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
+ url: "http://{{ ansible_host }}:9200/_snapshot/{{ snapshot_base_path }}/{{ snapshot_number }}"
method: GET
return_content: yes
status_code: 200
body_format: json
register: result
until: result.json.snapshots[0].state == 'SUCCESS'
- retries: 120
- delay: 10
+ retries: 240
+ delay: 30
diff --git a/ansible/roles/es-mapping/files/indices/orgv3.json b/ansible/roles/es-mapping/files/indices/orgv2.json
similarity index 99%
rename from ansible/roles/es-mapping/files/indices/orgv3.json
rename to ansible/roles/es-mapping/files/indices/orgv2.json
index 6f5dabc867..0a44cddb42 100644
--- a/ansible/roles/es-mapping/files/indices/orgv3.json
+++ b/ansible/roles/es-mapping/files/indices/orgv2.json
@@ -47,4 +47,4 @@
"aliases" : {
"org_alias" : {}
}
-}
\ No newline at end of file
+}
diff --git a/ansible/roles/es-mapping/files/mappings/orgv3-mapping.json b/ansible/roles/es-mapping/files/mappings/orgv2-mapping.json
similarity index 99%
rename from ansible/roles/es-mapping/files/mappings/orgv3-mapping.json
rename to ansible/roles/es-mapping/files/mappings/orgv2-mapping.json
index 5f952a7940..d4e1628919 100644
--- a/ansible/roles/es-mapping/files/mappings/orgv3-mapping.json
+++ b/ansible/roles/es-mapping/files/mappings/orgv2-mapping.json
@@ -158,7 +158,7 @@
"analyzer": "keylower"
}
},
- "analyzer": "cs_index_analyzer",
+ "analyzer": "cs_search_analyzer",
"search_analyzer": "cs_search_analyzer"
},
"orgType": {
diff --git a/ansible/roles/es6/es6.iml b/ansible/roles/es6/es6.iml
new file mode 100644
index 0000000000..1578adc390
--- /dev/null
+++ b/ansible/roles/es6/es6.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ansible/roles/es6/tasks/elasticsearch-plugins.yml b/ansible/roles/es6/tasks/elasticsearch-plugins.yml
index 5d4e2d8153..fd79d28ac2 100644
--- a/ansible/roles/es6/tasks/elasticsearch-plugins.yml
+++ b/ansible/roles/es6/tasks/elasticsearch-plugins.yml
@@ -15,11 +15,11 @@
#List currently installed plugins. We have to list the directories as the list commmand fails if the ES version is different than the plugin version.
- name: Check installed elasticsearch plugins
- become: yes
+ become: true
shell: "ls {{es_home}}/plugins {{list_command}}"
register: installed_plugins
changed_when: False
- ignore_errors: yes
+ ignore_errors: true
environment:
CONF_DIR: "{{ conf_dir }}"
ES_PATH_CONF: "{{ conf_dir }}"
@@ -47,9 +47,9 @@
# This removes any currently installed plugins (to prevent errors when reinstalling)
- name: Remove elasticsearch plugins
- become: yes
+ become: true
command: "{{es_home}}/bin/elasticsearch-plugin remove {{item}} --silent"
- ignore_errors: yes
+ ignore_errors: true
with_items: "{{ plugins_to_remove | default([]) }}"
notify: restart elasticsearch
register: plugin_removed
@@ -59,7 +59,7 @@
ES_INCLUDE: "{{ instance_default_file }}"
- name: Install elasticsearch plugins
- become: yes
+ become: true
command: "{{es_home}}/bin/elasticsearch-plugin install {{ item.plugin }} --batch --silent"
register: plugin_installed
failed_when: "'ERROR' in plugin_installed.stdout"
@@ -73,10 +73,10 @@
ES_INCLUDE: "{{ instance_default_file }}"
ES_JAVA_OPTS: "{% if item.proxy_host is defined and item.proxy_host != '' and item.proxy_port is defined and item.proxy_port != ''%} -Dhttp.proxyHost={{ item.proxy_host }} -Dhttp.proxyPort={{ item.proxy_port }} -Dhttps.proxyHost={{ item.proxy_host }} -Dhttps.proxyPort={{ item.proxy_port }} {% elif es_proxy_host is defined and es_proxy_host != '' %} -Dhttp.proxyHost={{ es_proxy_host }} -Dhttp.proxyPort={{ es_proxy_port }} -Dhttps.proxyHost={{ es_proxy_host }} -Dhttps.proxyPort={{ es_proxy_port }} {% endif %}"
until: plugin_installed.rc == 0
- retries: 5
- delay: 5
+ retries: 60
+ delay: 10
#Set permissions on plugins directory
- name: Set Plugin Directory Permissions
- become: yes
+ become: true
file: state=directory path={{ es_home }}/plugins owner={{ es_user }} group={{ es_group }} recurse=yes
diff --git a/ansible/roles/gcloud-cli/tasks/main.yml b/ansible/roles/gcloud-cli/tasks/main.yml
new file mode 100644
index 0000000000..5b31429322
--- /dev/null
+++ b/ansible/roles/gcloud-cli/tasks/main.yml
@@ -0,0 +1,19 @@
+---
+- name: Add gcloud signing key
+ apt_key:
+ url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
+ state: present
+
+- name: Add gcloud repository into sources list
+ apt_repository:
+ repo: "deb https://packages.cloud.google.com/apt cloud-sdk main"
+ state: present
+
+- name: Install google cloud cli with specific version and dependent packages
+ apt:
+ pkg:
+ - ca-certificates
+ - curl
+ - apt-transport-https
+ - gnupg
+ - google-cloud-cli=478.0.0-0
diff --git a/ansible/roles/jenkins/jenkins.iml b/ansible/roles/jenkins/jenkins.iml
new file mode 100644
index 0000000000..f2316ace2a
--- /dev/null
+++ b/ansible/roles/jenkins/jenkins.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ansible/roles/keycloak-deploy/defaults/main.yml b/ansible/roles/keycloak-deploy/defaults/main.yml
index 1f841c4545..1146addf99 100644
--- a/ansible/roles/keycloak-deploy/defaults/main.yml
+++ b/ansible/roles/keycloak-deploy/defaults/main.yml
@@ -3,7 +3,7 @@ sunbird_auth_version: 1.0v
wildfly_dir: /opt/keycloak
wildfly_user: keycloak
wildfly_group: keycloak
-keycloak_heap_size: 512m
+keycloak_heap_size: 8g
keycloak_metaspace_size: 256m
keycloak_home: /opt/keycloak
login_theme: artifacts/sunbird/login
diff --git a/ansible/roles/keycloak-deploy/files/python-keycloak-0.12.0/keycloak/keycloak_main.py b/ansible/roles/keycloak-deploy/files/python-keycloak-0.12.0/keycloak/keycloak_main.py
index 4705499cb4..10c41d8f87 100644
--- a/ansible/roles/keycloak-deploy/files/python-keycloak-0.12.0/keycloak/keycloak_main.py
+++ b/ansible/roles/keycloak-deploy/files/python-keycloak-0.12.0/keycloak/keycloak_main.py
@@ -1,8 +1,9 @@
import json
+import urllib.request
+import argparse
from keycloak import KeycloakOpenID
from keycloak import KeycloakAdmin
-import urllib2, argparse, json
# Import realm
def keycloak_import_realm(keycloak_realm_file):
@@ -17,7 +18,7 @@ def keycloak_create_user(email, username, firstName, lastName, password):
"enabled": True,
"firstName": firstName,
"lastName": lastName,
- "credentials": [{"value": "12345","type": password}],
+ "credentials": [{"value": password, "type": "password"}],
"realmRoles": ["user_default"]})
# Create the user and assign the role to access the user management API
@@ -25,12 +26,16 @@ def update_user_roles(config):
realm_json = json.load(open(config['keycloak_realm_json_file_path']))
# Get the id of realm-management
+ client_id = None
for client in realm_json['clients']:
if config['clientId'] == client['clientId']:
client_id = client["id"]
break
- user = keycloak_admin.get_users({"username":config['keycloak_api_management_username']})
+ if client_id is None:
+ raise ValueError("Client ID not found in realm JSON")
+
+ user = keycloak_admin.get_users({"username": config['keycloak_api_management_username']})
user_id = user[0]['id']
# Read the role from file
@@ -40,13 +45,13 @@ def update_user_roles(config):
roles = json.loads(json_data)
# Get only client roles
- clientRoles = roles[config['clientId']]
+ client_roles = roles[config['clientId']]
- keycloak_admin.assign_client_role(user_id, client_id, clientRoles)
+ keycloak_admin.assign_client_role(user_id, client_id, client_roles)
-if __name__ == "__main__":
- parser = argparse.ArgumentParser(description='Configure keycloak user apis')
- parser.add_argument('keycloak_bootstrap_config', help='configuration json file that is needed for keycloak bootstrap')
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description='Configure keycloak user APIs')
+ parser.add_argument('keycloak_bootstrap_config', help='Configuration JSON file needed for keycloak bootstrap')
args = parser.parse_args()
with open(args.keycloak_bootstrap_config) as keycloak_bootstrap_config:
@@ -55,35 +60,34 @@ def update_user_roles(config):
try:
# Get access token
keycloak_admin = KeycloakAdmin(server_url=config['keycloak_auth_server_url'],
- username=config['keycloak_management_user'],
- password=config['keycloak_management_password'],
- realm_name="master",
- client_id='admin-cli',
- verify=False)
+ username=config['keycloak_management_user'],
+ password=config['keycloak_management_password'],
+ realm_name="master",
+ client_id='admin-cli',
+ verify=False)
# Import realm
keycloak_import_realm(config['keycloak_realm_json_file_path'])
# Set realm name to sunbird
keycloak_admin.realm_name = config['keycloak_realm']
- # Add user for user api
+ # Add user for user API
keycloak_create_user(email=config['keycloak_api_management_user_email'],
- username=config['keycloak_api_management_username'],
- firstName=config['keycloak_api_management_user_first_name'],
- lastName=config['keycloak_api_management_user_last_name'],
- password=config['keycloak_api_management_user_password'])
+ username=config['keycloak_api_management_username'],
+ firstName=config['keycloak_api_management_user_first_name'],
+ lastName=config['keycloak_api_management_user_last_name'],
+ password=config['keycloak_api_management_user_password'])
- # Update user roles for access user management API's
+ # Update user roles for access user management APIs
config['clientId'] = "realm-management"
update_user_roles(config)
# Update user roles for SSO
config['clientId'] = "admin-cli"
update_user_roles(config)
- # If keycloak is returning the error realm does exists
+ # If Keycloak is returning the error realm does exist
except Exception as e:
if "409" in str(e):
- print "Skipping error: " + str(e)
+ print("Skipping error: " + str(e))
else:
- raise
-
+ raise
\ No newline at end of file
diff --git a/ansible/roles/keycloak-deploy/tasks/bootstrap.yml b/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
index dcefe36e30..55f54ad7a9 100644
--- a/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
+++ b/ansible/roles/keycloak-deploy/tasks/bootstrap.yml
@@ -26,7 +26,7 @@
- name: start keycloak with script upload feature temporarily
shell: "nohup {{keycloak_home}}/bin/standalone.sh -Dkeycloak.profile.feature.upload_scripts=enabled -b={{ansible_default_ipv4.address}} -bprivate={{ansible_default_ipv4.address}} --server-config standalone-ha.xml &"
- become: yes
+ become: true
become_user: "{{ wildfly_user }}"
notify: wait for keycloak to start
@@ -34,11 +34,11 @@
- name: Install dependencies for keycloak
apt:
- name: ["python-setuptools"]
+ name: ["python-setuptools", "python3.7-dev", "python3.7-distutils"]
update_cache: true
- name: Ensure python packages are installed
- apt:
+ apt:
name: ["python-pip", "python-dev"]
update_cache: yes
when: ansible_os_family == 'Debian' and ansible_distribution_version | float < 18
@@ -55,7 +55,7 @@
dest: /tmp/
- name: Initialize python library to run keycloak bootstrap script
- shell: cd /tmp/python-keycloak-0.12.0 && python setup.py install
+ shell: cd /tmp/python-keycloak-0.12.0 && python3.7 setup.py install
- name: Save keycloak vars to json
template:
@@ -81,7 +81,7 @@
dest: /tmp
- name: Run the keycloak bootstrap script
- shell: cd /tmp/keycloak/ && python keycloak_main.py /tmp/keycloak-bootstrap.conf.json
+ shell: cd /tmp/keycloak/ && python3.7 keycloak_main.py /tmp/keycloak-bootstrap.conf.json
register: out
until: '"404" not in out.stderr'
retries: 2
diff --git a/ansible/roles/keycloak-deploy/tasks/deploy.yml b/ansible/roles/keycloak-deploy/tasks/deploy.yml
index fde6de9c08..dc39604f01 100644
--- a/ansible/roles/keycloak-deploy/tasks/deploy.yml
+++ b/ansible/roles/keycloak-deploy/tasks/deploy.yml
@@ -18,6 +18,10 @@
regexp: "{{ item.var }}.*"
with_items:
- {var: 'sunbird_user_service_base_url', value: '{{ sunbird_user_service_base_url }}'}
+ - {var: 'sunbird_authorization', value: '{{ core_vault_sunbird_ekstep_api_key }}'}
+ - {var: 'sunbird_lms_base_url', value: 'https://{{ nginx_proxy_server_name }}/api'}
+ - {var: 'sunbird_login_otp_template', value: 'loginWithOTP'}
+ - {var: 'sunbird_login_otp_email_subject', value: '"OTP Details for Login"'}
- name: Remove old ENV Vars from environemt file
lineinfile:
@@ -26,8 +30,6 @@
regexp: "{{ item.var }}.*"
state: absent
with_items:
- - {var: 'sunbird_lms_base_url'}
- - {var: 'sunbird_authorization'}
- {var: 'sunbird_encryption_key'}
- {var: 'sunbird_sso_username'}
- {var: 'sunbird_sso_password'}
@@ -131,10 +133,10 @@
- name: SMS provider configuration file
template:
- src: "roles/keycloak-deploy/templates/Msg91Creds.json.j2"
- dest: "sunbird_auth_{{ sunbird_auth_version }}.config/Msg91Creds.json"
+ src: "roles/keycloak-deploy/templates/AmnexSmsCreds.json.j2"
+ dest: "sunbird_auth_{{ sunbird_auth_version }}.config/AmnexSmsCreds.json"
mode: 0755
- when: "{{ msg_91_required|default(false) }}"
+ when: "{{ sms_required|default(false) }}"
ignore_errors: true
- name: Keycloak configuration XML file
@@ -168,18 +170,18 @@
path: "{{ keycloak_home }}/bin/sms-provider"
state: directory
mode: 0755
- when: "{{ msg_91_required|default(false) }}"
+ when: "{{ sms_required|default(false) }}"
ignore_errors: true
- name: SMS provider configuration file
copy:
- src: "sunbird_auth_{{ sunbird_auth_version }}.config/Msg91Creds.json"
- dest: "{{ keycloak_home }}/bin/sms-provider/Msg91Creds.json"
+ src: "sunbird_auth_{{ sunbird_auth_version }}.config/AmnexSmsCreds.json"
+ dest: "{{ keycloak_home }}/bin/sms-provider/AmnexSmsCreds.json"
owner: "{{ wildfly_user }}"
group: "{{ wildfly_group }}"
mode: 0755
remote_src: true
- when: "{{ msg_91_required|default(false) }}"
+ when: "{{ sms_required|default(false) }}"
ignore_errors: true
- name: Remove the sunbird_auth_{{ sunbird_auth_version }}.config
@@ -196,6 +198,13 @@
insertafter: '^SERVER_OPTS=""'
line: 'JAVA_HOME=""'
path: "{{ keycloak_home }}/bin/standalone.sh"
+
+- name: Add trustStore Path
+ become: true
+ lineinfile:
+ path: "{{ keycloak_home }}/bin/standalone.sh"
+ insertafter: "DEFAULT_MODULAR_JVM_OPTIONS"
+ line: ' JAVA_OPTS="-Djavax.net.ssl.trustStore=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit $JAVA_OPTS"'
- name: start keycloak service
debug: msg="starting keycloak"
diff --git a/ansible/roles/keycloak-deploy/templates/AmnexSmsCreds.json.j2 b/ansible/roles/keycloak-deploy/templates/AmnexSmsCreds.json.j2
new file mode 100644
index 0000000000..b3c93f3908
--- /dev/null
+++ b/ansible/roles/keycloak-deploy/templates/AmnexSmsCreds.json.j2
@@ -0,0 +1,14 @@
+{
+ "gatewayUrl": "{{ smsgatewayurl }}",
+ "auth_key": "{{sms_auth_key}}",
+ "sender": "{{sms_vault_sender}}",
+ "route": "{{sms_vault_route}}",
+ "campaign_name": "{{ sms_campaign_message }}",
+ "messageTypes": [
+ {
+ "name": "{{ smsname }}",
+ "message": "{{ smsmessage }}",
+ "Template_ID": "{{ smstemplateid }}"
+ }
+ ]
+}
diff --git a/ansible/roles/keycloak-deploy/templates/keycloak-realm.j2 b/ansible/roles/keycloak-deploy/templates/keycloak-realm.j2
index 059a6dc8df..2569fe325c 100644
--- a/ansible/roles/keycloak-deploy/templates/keycloak-realm.j2
+++ b/ansible/roles/keycloak-deploy/templates/keycloak-realm.j2
@@ -74,7 +74,6 @@
}
],
"client": {
- "nodebb": [],
"realm-management": [
{
"id": "3f8bf7e5-5d66-4394-8f06-1270529c605f",
@@ -287,7 +286,6 @@
"attributes": {}
}
],
- "google-auth-desktop": [],
"security-admin-console": [],
"android": [],
"broker": [
@@ -302,7 +300,6 @@
}
],
"trampoline-android": [],
- "desktop": [],
"lms": [
{
"id": "670b76e1-643b-449e-bd02-057eac587b32",
@@ -313,7 +310,6 @@
"attributes": {}
}
],
- "trampoline-desktop": [],
"google-auth-android": [],
"admin-cli": [],
"trampoline": [],
@@ -385,424 +381,17 @@
],
"clients": [
{
- "id": "26320feb-8a5d-49e4-80c5-20eb7428a11e",
- "clientId": "nodebb",
- "rootUrl": "{{proto}}://{{proxy_server_name}}/discussions",
- "adminUrl": "{{proto}}://{{proxy_server_name}}/discussions",
- "baseUrl": "{{proto}}://{{proxy_server_name}}/discussions",
- "surrogateAuthRequired": false,
- "enabled": true,
- "clientAuthenticatorType": "client-secret",
- "secret": "{{ core_vault_nodebb_secret }}",
- "redirectUris": [
- "{{proto}}://{{proxy_server_name}}/auth/fusionauth-oidc/callback",
- "{{proto}}://{{proxy_server_name}}/discussions/*",
- "{{proto}}://{{proxy_server_name}}/discussions/auth/fusionauth-oidc/callback"
- ],
- "webOrigins": [
- "{{proto}}://{{proxy_server_name}}"
- ],
- "notBefore": 0,
- "bearerOnly": false,
- "consentRequired": false,
- "standardFlowEnabled": true,
- "implicitFlowEnabled": false,
- "directAccessGrantsEnabled": true,
- "serviceAccountsEnabled": false,
- "publicClient": false,
- "frontchannelLogout": false,
- "protocol": "openid-connect",
- "attributes": {
- "saml.assertion.signature": "false",
- "saml.multivalued.roles": "false",
- "saml.force.post.binding": "false",
- "saml.encrypt": "false",
- "saml_force_name_id_format": "false",
- "saml.client.signature": "false",
- "saml.authnstatement": "false",
- "saml.server.signature": "false",
- "saml.server.signature.keyinfo.ext": "false",
- "saml.onetimeuse.condition": "false"
- },
- "authenticationFlowBindingOverrides": {},
- "fullScopeAllowed": true,
- "nodeReRegistrationTimeout": -1,
- "protocolMappers": [
- {
- "id": "ccaa12e5-c02d-43d6-be17-a9589058a59a",
- "name": "email",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "email",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "email",
- "jsonType.label": "String"
- }
- },
- {
- "id": "beecffc2-7cee-46d2-95bf-4fe6d9083c8b",
- "name": "username",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "username",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "preferred_username",
- "jsonType.label": "String"
- }
- },
- {
- "id": "ae5ab74e-4e43-4e5f-9ed3-7cc9b5420247",
- "name": "full name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
- "consentRequired": false,
- "config": {
- "id.token.claim": "true",
- "access.token.claim": "true"
- }
- },
- {
- "id": "9dd1607d-5fc2-4d13-9ec7-4a08d9139217",
- "name": "role list",
- "protocol": "saml",
- "protocolMapper": "saml-role-list-mapper",
- "consentRequired": false,
- "config": {
- "single": "false",
- "attribute.nameformat": "Basic",
- "attribute.name": "Role"
- }
- },
- {
- "id": "bc5fee3f-ee82-4a34-bfdb-7be32445b7e6",
- "name": "given name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "firstName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "given_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "224ab538-bc07-41a0-8dfd-20327e475aa5",
- "name": "family name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "lastName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "family_name",
- "jsonType.label": "String"
- }
- }
- ],
- "defaultClientScopes": [
- "web-origins",
- "roles"
- ],
- "optionalClientScopes": [
- "offline_access",
- "microprofile-jwt"
- ]
- },
- {
- "id": "9a901d18-377b-4615-9b89-677b544be3c5",
- "clientId": "trampoline",
- "rootUrl": "{{proto}}://{{proxy_server_name}}",
- "adminUrl": "",
- "baseUrl": "/",
- "surrogateAuthRequired": false,
- "enabled": true,
- "clientAuthenticatorType": "client-secret",
- "secret": "{{sunbird_trampoline_secret}}",
- "redirectUris": [],
- "webOrigins": [],
- "notBefore": 0,
- "bearerOnly": false,
- "consentRequired": false,
- "standardFlowEnabled": false,
- "implicitFlowEnabled": false,
- "directAccessGrantsEnabled": true,
- "serviceAccountsEnabled": false,
- "publicClient": false,
- "frontchannelLogout": false,
- "protocol": "openid-connect",
- "attributes": {
- "saml.assertion.signature": "false",
- "saml.multivalued.roles": "false",
- "saml.force.post.binding": "false",
- "saml.encrypt": "false",
- "saml_force_name_id_format": "false",
- "saml.client.signature": "false",
- "saml.authnstatement": "false",
- "saml.server.signature": "false",
- "saml.server.signature.keyinfo.ext": "false",
- "saml.onetimeuse.condition": "false"
- },
- "authenticationFlowBindingOverrides": {},
- "fullScopeAllowed": true,
- "nodeReRegistrationTimeout": -1,
- "protocolMappers": [
- {
- "id": "12134027-94cc-401c-bbf6-be565078ddfb",
- "name": "role list",
- "protocol": "saml",
- "protocolMapper": "saml-role-list-mapper",
- "consentRequired": false,
- "config": {
- "single": "false",
- "attribute.nameformat": "Basic",
- "attribute.name": "Role"
- }
- },
- {
- "id": "6a956bf1-6c40-4549-b335-9fe8c788b18f",
- "name": "family name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "lastName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "family_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "d32ba1d4-3fef-42ff-aa2b-98cb4bfef6f9",
- "name": "full name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
- "consentRequired": false,
- "config": {
- "id.token.claim": "true",
- "access.token.claim": "true",
- "userinfo.token.claim": "true"
- }
- },
- {
- "id": "9e899fc7-1ddd-447d-810c-d91333d6621c",
- "name": "username",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "username",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "preferred_username",
- "jsonType.label": "String"
- }
- },
- {
- "id": "74e4d13f-bd02-4f17-bbbc-d4b79bab1971",
- "name": "email",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "email",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "email",
- "jsonType.label": "String"
- }
- },
- {
- "id": "48fe23c2-a6fb-4c5e-8930-28ad1913829a",
- "name": "given name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "firstName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "given_name",
- "jsonType.label": "String"
- }
- }
- ],
- "defaultClientScopes": [
- "web-origins",
- "roles"
- ],
- "optionalClientScopes": [
- "offline_access",
- "microprofile-jwt"
- ]
- },
- {
- "id": "da893beb-6ac7-420d-b51b-f05dadf56bbc",
- "clientId": "android",
- "rootUrl": "{{proto}}://{{proxy_server_name}}",
- "baseUrl": "/",
- "surrogateAuthRequired": false,
- "enabled": true,
- "clientAuthenticatorType": "client-secret",
- "secret": "{{ core_vault_android_keycloak_secret }}",
- "redirectUris": [
- "{{proto}}://{{proxy_server_name}}/oauth2callback",
- "{{ env }}.sunbird.app://mobile"
- ],
- "webOrigins": [],
- "notBefore": 0,
- "bearerOnly": false,
- "consentRequired": false,
- "standardFlowEnabled": true,
- "implicitFlowEnabled": false,
- "directAccessGrantsEnabled": false,
- "serviceAccountsEnabled": false,
- "publicClient": true,
- "frontchannelLogout": false,
- "protocol": "openid-connect",
- "attributes": {
- "saml.assertion.signature": "false",
- "saml.multivalued.roles": "false",
- "saml.force.post.binding": "false",
- "saml.encrypt": "false",
- "saml_force_name_id_format": "false",
- "saml.client.signature": "false",
- "saml.authnstatement": "false",
- "saml.server.signature": "false",
- "saml.server.signature.keyinfo.ext": "false",
- "saml.onetimeuse.condition": "false"
- },
- "authenticationFlowBindingOverrides": {},
- "fullScopeAllowed": true,
- "nodeReRegistrationTimeout": -1,
- "protocolMappers": [
- {
- "id": "ff7dac46-16b4-4ab6-a054-dd03d5411fa9",
- "name": "role list",
- "protocol": "saml",
- "protocolMapper": "saml-role-list-mapper",
- "consentRequired": false,
- "config": {
- "single": "false",
- "attribute.nameformat": "Basic",
- "attribute.name": "Role"
- }
- },
- {
- "id": "32fad9c0-0dfe-45b2-94a1-3e2f74d756ec",
- "name": "family name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "lastName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "family_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "4fb4d644-c609-4a27-a407-d451bcd83e16",
- "name": "given name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "firstName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "given_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "84e7c6e5-1afb-44d8-b507-1ed31fa0f351",
- "name": "email",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "email",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "email",
- "jsonType.label": "String"
- }
- },
- {
- "id": "e7ca189f-94de-4996-a192-e93ba960bbba",
- "name": "full name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
- "consentRequired": false,
- "config": {
- "id.token.claim": "true",
- "access.token.claim": "true",
- "userinfo.token.claim": "true"
- }
- },
- {
- "id": "16bedb3b-7571-4106-9a47-66151915ac31",
- "name": "username",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "username",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "preferred_username",
- "jsonType.label": "String"
- }
- }
- ],
- "defaultClientScopes": [
- "web-origins",
- "roles"
- ],
- "optionalClientScopes": [
- "offline_access",
- "microprofile-jwt"
- ]
- },
- {
- "id": "4e8f751d-5caa-489f-a281-636b56576cee",
- "clientId": "google-auth-desktop",
+ "id": "9a901d18-377b-4615-9b89-677b544be3c5",
+ "clientId": "trampoline",
"rootUrl": "{{proto}}://{{proxy_server_name}}",
"adminUrl": "",
"baseUrl": "/",
"surrogateAuthRequired": false,
"enabled": true,
"clientAuthenticatorType": "client-secret",
- "secret": "{{ sunbird_google_desktop_keycloak_secret }}",
- "redirectUris": [
- "{{proto}}://{{proxy_server_name}}/*"
- ],
- "webOrigins": [
- "{{proto}}://{{proxy_server_name}}"
- ],
+ "secret": "{{sunbird_trampoline_secret}}",
+ "redirectUris": [],
+ "webOrigins": [],
"notBefore": 0,
"bearerOnly": false,
"consentRequired": false,
@@ -830,7 +419,7 @@
"nodeReRegistrationTimeout": -1,
"protocolMappers": [
{
- "id": "d63f24fa-6ea0-4445-89db-18cbeb06f24a",
+ "id": "12134027-94cc-401c-bbf6-be565078ddfb",
"name": "role list",
"protocol": "saml",
"protocolMapper": "saml-role-list-mapper",
@@ -842,73 +431,74 @@
}
},
{
- "id": "c2ab9976-561e-4ba0-8599-e573e6abafe3",
- "name": "email",
+ "id": "6a956bf1-6c40-4549-b335-9fe8c788b18f",
+ "name": "family name",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "email",
+ "user.attribute": "lastName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "email",
+ "claim.name": "family_name",
"jsonType.label": "String"
}
},
{
- "id": "f06b6720-9ee5-42b3-8ba1-ad232f622570",
- "name": "given name",
+ "id": "d32ba1d4-3fef-42ff-aa2b-98cb4bfef6f9",
+ "name": "full name",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
+ "protocolMapper": "oidc-full-name-mapper",
"consentRequired": false,
"config": {
- "userinfo.token.claim": "true",
- "user.attribute": "firstName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "given_name",
- "jsonType.label": "String"
+ "userinfo.token.claim": "true"
}
},
{
- "id": "10dce5cc-503e-4dff-9f07-f1c534956747",
- "name": "family name",
+ "id": "9e899fc7-1ddd-447d-810c-d91333d6621c",
+ "name": "username",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "lastName",
+ "user.attribute": "username",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "family_name",
+ "claim.name": "preferred_username",
"jsonType.label": "String"
}
},
{
- "id": "8c97679c-aa11-4794-a157-5e08bb315033",
- "name": "full name",
+ "id": "74e4d13f-bd02-4f17-bbbc-d4b79bab1971",
+ "name": "email",
"protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
+ "protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
+ "userinfo.token.claim": "true",
+ "user.attribute": "email",
"id.token.claim": "true",
- "access.token.claim": "true"
+ "access.token.claim": "true",
+ "claim.name": "email",
+ "jsonType.label": "String"
}
},
{
- "id": "66405b47-d570-414f-bbfb-5f9bdbcc6132",
- "name": "username",
+ "id": "48fe23c2-a6fb-4c5e-8930-28ad1913829a",
+ "name": "given name",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "username",
+ "user.attribute": "firstName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "preferred_username",
+ "claim.name": "given_name",
"jsonType.label": "String"
}
}
@@ -923,17 +513,17 @@
]
},
{
- "id": "21529800-33dd-11eb-adc1-0242ac120002",
- "clientId": "desktop",
+ "id": "da893beb-6ac7-420d-b51b-f05dadf56bbc",
+ "clientId": "android",
"rootUrl": "{{proto}}://{{proxy_server_name}}",
- "adminUrl": "{{proto}}://{{proxy_server_name}}",
"baseUrl": "/",
"surrogateAuthRequired": false,
"enabled": true,
"clientAuthenticatorType": "client-secret",
- "secret": "{{ core_vault_desktop_secret }}",
+ "secret": "{{ core_vault_android_keycloak_secret }}",
"redirectUris": [
- "{{proto}}://{{proxy_server_name}}/oauth2callback"
+ "{{proto}}://{{proxy_server_name}}/oauth2callback",
+ "{{ env }}.sunbird.app://mobile"
],
"webOrigins": [],
"notBefore": 0,
@@ -963,21 +553,7 @@
"nodeReRegistrationTimeout": -1,
"protocolMappers": [
{
- "id": "f9d3b3b4-b2f7-44dd-9a88-3c3e84498af4",
- "name": "Client Host",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usersessionmodel-note-mapper",
- "consentRequired": false,
- "config": {
- "user.session.note": "clientHost",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "clientHost",
- "jsonType.label": "String"
- }
- },
- {
- "id": "21529a26-33dd-11eb-adc1-0242ac120002",
+ "id": "ff7dac46-16b4-4ab6-a054-dd03d5411fa9",
"name": "role list",
"protocol": "saml",
"protocolMapper": "saml-role-list-mapper",
@@ -989,36 +565,22 @@
}
},
{
- "id": "2152a052-33dd-11eb-adc1-0242ac120002",
- "name": "username",
+ "id": "32fad9c0-0dfe-45b2-94a1-3e2f74d756ec",
+ "name": "family name",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
"userinfo.token.claim": "true",
- "user.attribute": "username",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "preferred_username",
- "jsonType.label": "String"
- }
- },
- {
- "id": "005d98d7-be8b-4847-8616-12ec41a05382",
- "name": "Client IP Address",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usersessionmodel-note-mapper",
- "consentRequired": false,
- "config": {
- "user.session.note": "clientAddress",
+ "user.attribute": "lastName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "clientAddress",
+ "claim.name": "family_name",
"jsonType.label": "String"
}
},
{
- "id": "21529c10-33dd-11eb-adc1-0242ac120002",
+ "id": "4fb4d644-c609-4a27-a407-d451bcd83e16",
"name": "given name",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
@@ -1033,7 +595,7 @@
}
},
{
- "id": "21529ce2-33dd-11eb-adc1-0242ac120002",
+ "id": "84e7c6e5-1afb-44d8-b507-1ed31fa0f351",
"name": "email",
"protocol": "openid-connect",
"protocolMapper": "oidc-usermodel-property-mapper",
@@ -1048,45 +610,31 @@
}
},
{
- "id": "21529b2a-33dd-11eb-adc1-0242ac120002",
- "name": "family name",
+ "id": "e7ca189f-94de-4996-a192-e93ba960bbba",
+ "name": "full name",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
+ "protocolMapper": "oidc-full-name-mapper",
"consentRequired": false,
"config": {
- "userinfo.token.claim": "true",
- "user.attribute": "lastName",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "family_name",
- "jsonType.label": "String"
+ "userinfo.token.claim": "true"
}
},
{
- "id": "b6432e79-2303-43a5-bc9b-a848aef35789",
- "name": "Client ID",
+ "id": "16bedb3b-7571-4106-9a47-66151915ac31",
+ "name": "username",
"protocol": "openid-connect",
- "protocolMapper": "oidc-usersessionmodel-note-mapper",
+ "protocolMapper": "oidc-usermodel-property-mapper",
"consentRequired": false,
"config": {
- "user.session.note": "clientId",
+ "userinfo.token.claim": "true",
+ "user.attribute": "username",
"id.token.claim": "true",
"access.token.claim": "true",
- "claim.name": "clientId",
+ "claim.name": "preferred_username",
"jsonType.label": "String"
}
- },
- {
- "id": "21529daa-33dd-11eb-adc1-0242ac120002",
- "name": "full name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
- "consentRequired": false,
- "config": {
- "id.token.claim": "true",
- "access.token.claim": "true",
- "userinfo.token.claim": "true"
- }
}
],
"defaultClientScopes": [
@@ -2418,141 +1966,6 @@
"microprofile-jwt"
]
},
- {
- "id": "7d86da86-b107-4ec7-bfe7-84f202d4030c",
- "clientId": "trampoline-desktop",
- "rootUrl": "{{proto}}://{{proxy_server_name}}",
- "adminUrl": "",
- "baseUrl": "/",
- "surrogateAuthRequired": false,
- "enabled": true,
- "clientAuthenticatorType": "client-secret",
- "secret": "{{ sunbird_trampoline_desktop_keycloak_secret }}",
- "redirectUris": [
- "{{proto}}://{{proxy_server_name}}/*"
- ],
- "webOrigins": [
- "{{proto}}://{{proxy_server_name}}"
- ],
- "notBefore": 0,
- "bearerOnly": false,
- "consentRequired": false,
- "standardFlowEnabled": false,
- "implicitFlowEnabled": false,
- "directAccessGrantsEnabled": true,
- "serviceAccountsEnabled": false,
- "publicClient": false,
- "frontchannelLogout": false,
- "protocol": "openid-connect",
- "attributes": {
- "saml.assertion.signature": "false",
- "saml.multivalued.roles": "false",
- "saml.force.post.binding": "false",
- "saml.encrypt": "false",
- "saml_force_name_id_format": "false",
- "saml.client.signature": "false",
- "saml.authnstatement": "false",
- "saml.server.signature": "false",
- "saml.server.signature.keyinfo.ext": "false",
- "saml.onetimeuse.condition": "false"
- },
- "authenticationFlowBindingOverrides": {},
- "fullScopeAllowed": true,
- "nodeReRegistrationTimeout": -1,
- "protocolMappers": [
- {
- "id": "a5110145-04b0-4841-a4a1-4de10a78e7dd",
- "name": "role list",
- "protocol": "saml",
- "protocolMapper": "saml-role-list-mapper",
- "consentRequired": false,
- "config": {
- "single": "false",
- "attribute.nameformat": "Basic",
- "attribute.name": "Role"
- }
- },
- {
- "id": "5b0c88d6-1815-4813-90a2-df35ef036d86",
- "name": "email",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "email",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "email",
- "jsonType.label": "String"
- }
- },
- {
- "id": "9be4a0f5-daa8-4806-bf46-aaa87eeac22f",
- "name": "family name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "lastName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "family_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "18bdcae0-00f6-4208-90a5-61d69adb5fa9",
- "name": "username",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "username",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "preferred_username",
- "jsonType.label": "String"
- }
- },
- {
- "id": "2ef53e45-67d1-4e40-9272-ef8f73a6f9f9",
- "name": "given name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-usermodel-property-mapper",
- "consentRequired": false,
- "config": {
- "userinfo.token.claim": "true",
- "user.attribute": "firstName",
- "id.token.claim": "true",
- "access.token.claim": "true",
- "claim.name": "given_name",
- "jsonType.label": "String"
- }
- },
- {
- "id": "5681c015-160b-4bd4-9765-929d786b879b",
- "name": "full name",
- "protocol": "openid-connect",
- "protocolMapper": "oidc-full-name-mapper",
- "consentRequired": false,
- "config": {
- "id.token.claim": "true",
- "access.token.claim": "true"
- }
- }
- ],
- "defaultClientScopes": [
- "web-origins",
- "roles"
- ],
- "optionalClientScopes": [
- "offline_access",
- "microprofile-jwt"
- ]
- },
{
"id": "586ad4d3-c063-4df0-91c1-9d4ab64da7ca",
"clientId": "trampoline-android",
diff --git a/ansible/roles/kong-api/defaults/main.yml b/ansible/roles/kong-api/defaults/main.yml
index 907e250460..f0a4e48011 100644
--- a/ansible/roles/kong-api/defaults/main.yml
+++ b/ansible/roles/kong-api/defaults/main.yml
@@ -14,37 +14,9 @@ statsd_pulgin:
name: statsd
config.host: "{{ statsd_host }}"
config.port: "{{ statsd_port }}"
- config.metrics:
- - name: request_count
- sample_rate: 1
- stat_type: counter
- - name: latency
- stat_type: timer
- - name: request_size
- stat_type: timer
- - name: status_count
- sample_rate: 1
- stat_type: counter
- - name: response_size
- stat_type: timer
- - consumer_identifier: username
- name: unique_users
- stat_type: set
- - consumer_identifier: username
- name: request_per_user
- sample_rate: 1
- stat_type: counter
- - name: upstream_latency
- stat_type: timer
- - name: kong_latency
- stat_type: timer
- - consumer_identifier: username
- name: status_count_per_user
- sample_rate: 1
- stat_type: counter
# Default Rate limits
-small_rate_limit_per_hour: 100
+small_rate_limit_per_hour: 1000
medium_rate_limit_per_hour: 5000
x_medium_rate_limit_per_hour: 5000
large_rate_limit_per_hour: 10000
@@ -59,6 +31,7 @@ premium_consumer_large_rate_limit_per_hour: 100000
small_request_size_limit: 1
medium_request_size_limit: 10
large_request_size_limit: 100
+x_large_request_size_limit: 400
# External URL's
freshDesk_url: "http://dummy.freshDesk.url"
@@ -79,6 +52,7 @@ 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
@@ -103,26 +77,56 @@ object_category_definition_prefix: /object/category/definition
dataset_service_prefix: /dataset
asset_prefix: /asset
collection_prefix: /collection
-discussions_prefix: /discussion
question_prefix: /question
questionset_prefix: /questionset
-integration_app_prefix: /app
-users_service_prefix: /users
-solutions_service_prefix: /solutions
-entities_service_prefix: /entities
-cloud_service_prefix: /cloud-services
-userProjects_service_prefix: /userProjects
-reports_service_prefix: /reports
-project_service_prefix: /project
-observations_service_prefix: /observations
+event_prefix: /event
+notification_service_prefix: /notification
+content_validation_service_prefix: /contentValidation
+scoring_engine_service_prefix: /scoring
+hub_graph_service_prefix: /connections
+workflow_handler_service_prefix: /workflow
+player_prefix: /player
+registry_service_prefix: /rc
+forms_service_prefix: /forms
+profanity_moderator_admin_prefix: /moderatoradmin
+mdo_content_prefix: /mdo/content
+master_data_service_prefix: /masterData
+blended_program_service_prefix: /blendedprogram
+faq_assistant_service_prefix: /faq
+curated_program_prefix: /curatedprogram
+program_prefix: /program
+competency_prefix: /competency
+cb_plan_prefix: /cbplan
observationSubmissions_service_prefix: /observationSubmissions
surveys_service_prefix: /surveys
surveySubmissions_service_prefix: /surveySubmissions
user_extension_prefix: /user-extension
-uci_admin_prefix: /uci
-notification_service_prefix: /notification
-registry_service_prefix: /rc
-assessment_prefix: /assessment
+cloud_service_prefix: /cloud-services
+entities_service_prefix: /entities
+solutions_mlservice_prefix: /solutions
+users_service_prefix: /users
+integration_app_prefix: /app
+userProjects_service_prefix: /userProjects
+reports_service_prefix: /reports
+observations_service_prefix: /observations
+programs_service_prefix: /programs
+private_ml_core_prefix: /private/mlcore
+private_ml_survey_prefix: /private/mlsurvey
+open_program_prefix: /openprogram
+calendar_prefix: /calendar
+careers_prefix: /careers
+demand_prefix: /demand
+playlist_prefix: /playList
+interest_prefix: /interest
+orgBookmark_prefix: /orgBookmark
+announcement_prefix: /announcements
+cios_prefix: /cios
+ciosIntegration_prefix: /ciosIntegration
+tenders_prefix: /tenders
+mentoring_prefix : /private/mentoring
+mentoring_user_prefix : /private/mentoringUser
+mentoring_interface_prefix : /private/mentoringInterface
+
# Service URLs
knowledge_mw_service_url: "http://knowledge-mw-service:5000"
@@ -141,19 +145,29 @@ report_service_url: "http://report-service:3030"
group_service_url: "http://groups-service:9000"
analytics_api_service_url: "http://analytics-service:9000"
taxonomy_service_url: "http://taxonomy-service:9000"
-discussions_mw_service_url: "http://discussionsmw-service:3002/discussion"
assessment_service_url: "http://assessment-service:9000"
-ml_reports_service_url: "http://ml-reports-service:3000"
-ml_survey_service_url: "http://ml-survey-service:3000"
-ml_project_service_url: "http://ml-projects-service:3000"
-ml_core_service_url: "http://ml-core-service:3000"
-uci_inbound_service_url: "http://inbound-service:8085"
-uci_transformer_service_url: "http://trasnformer-service:9091"
-uci_gql_service_url: "http://gql-service:8080"
-uci_registry_service_url: "http://fusionauth-service:9011"
-uci_admin_service_url: "http://uci-service:9999"
notification_service_url: "http://notification-service:9000"
+sb_cb_ext_service_url: "http://sb-cb-ext-service:7001"
+content_validation_service_url: "http://content-validation-service:6590"
+scoring_engine_service_url: "http://scoring-engine-service:7014"
+hub_graph_service_url: "http://hub-graph-service:4013"
+workflow_handler_service_url: "http://workflow-handler-service:5099"
+discussions_mw_url: "http://discussionsmw-service:3002"
+nodebb_url: "http://nodebb-service:4567/discussions"
+analytics_url: "http://pm-analytics-service:8091"
registry_service_url: "http://registry-service:8081"
+forms_service_url: "http://form-service:8099"
+profanity_moderator_admin_service: "http://profanity-moderator-admin-service:4000"
+faq_assistant_service: "http://faq-assistant-service:4003"
+competency_url: "http://fracentity-service:8083"
+search_url: "http://search-service:9000"
+ml_survey_service_url: "http://ml-survey-service:3000"
+ml_core_service_url: "http://ml-core-service:3000"
+ml_survey_private_url: "http://{{private_ingressgateway_ip}}/ml-survey"
+ml_core_private_url: "http://{{private_ingressgateway_ip}}/ml-core"
+cb_pores_service_url : "http://cb-pores-service:7001"
+cios_content_service_url : "http://cios-content-service:7001"
+mentoring_service_url: "http://mentoring-interface-service:3567"
premium_consumer_rate_limits:
- api: createContent
@@ -170,9581 +184,15191 @@ premium_consumer_rate_limits:
config.policy: local
kong_apis:
-- name: acceptContentFlag
- uris: "{{ content_prefix }}/v1/flag/accept"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/accept"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: acceptTermsAndCondition
- uris: "{{ user_service_prefix }}/v1/tnc/accept"
- upstream_url: "{{ learning_service_url }}/v1/user/tnc/accept"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: addBadgeToUser
- uris: "{{ user_service_prefix }}/v1/badges/add"
- upstream_url: "{{ learning_service_url }}/v1/user/badges/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - badgeCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: addSystemSettings
- uris: "{{ data_service_prefix }}/v1/system/settings/set"
- upstream_url: "{{ learning_service_url }}/v1/system/settings/set"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: assemblePage
- uris: "{{ data_service_prefix }}/v1/page/assemble"
- upstream_url: "{{ lms_service_url }}/v1/page/assemble"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: assignRole
- uris: "{{ user_service_prefix }}/v1/role/assign"
- upstream_url: "{{ learning_service_url }}/v1/user/assign/role"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: assignRoleV2
- uris: "{{ user_service_prefix }}/v2/role/assign"
- upstream_url: "{{ learning_service_url }}/v2/user/assign/role"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: batchBulkEnrolment
- uris: "{{ course_service_prefix }}/v1/batch/bulk/enrollment"
- upstream_url: "{{ lms_service_url }}/v1/batch/bulk/enrollment"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: batchBulkUnEnrolment
- uris: "{{ course_service_prefix }}/v1/batch/bulk/unenrollment"
- upstream_url: "{{ lms_service_url }}/v1/batch/bulk/unenrollment"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: blockUser
- uris: "{{ user_service_prefix }}/v1/block"
- upstream_url: "{{ learning_service_url }}/v1/user/block"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: checkUploadJobStatus
- uris: "{{ data_service_prefix }}/v1/upload/status"
- upstream_url: "{{ learning_service_url }}/v1/upload/status"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - orgSuperAdmin
- - userSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: compositeSearch
- uris: "{{ composite_service_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAdmin
- - contentTempAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: compositePrivateSearch
- uris: "{{ composite_service_prefix }}/v1/private/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v3/private/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: contentBadgeLink
- uris: "{{ badge_service_prefix }}/v1/content/link"
- upstream_url: "{{ lms_service_url }}/v1/content/link"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - badgeUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: contentBadgeUnLink
- uris: "{{ badge_service_prefix }}/v1/content/unlink"
- upstream_url: "{{ lms_service_url }}/v1/content/unlink"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - badgeAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: copyContent
- uris: "{{ content_prefix }}/v1/copy"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: copyFramework
- uris: "{{ framework_service_prefix }}/v1/copy"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: courseBatchAddCertificateTemplate
- uris: "{{ course_service_prefix }}/batch/cert/v1/template/add"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: courseBatchRemoveCertificateTemplate
- uris: "{{ course_service_prefix }}/batch/cert/v1/template/remove"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/remove"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: courseEnrollment
- uris: "{{ course_service_prefix }}/v1/enrol"
- upstream_url: "{{ lms_service_url }}/v1/course/enroll"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: courseIssueCertificate
- uris: "{{ course_service_prefix }}/batch/cert/v1/issue"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/issue"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: courseUnEnrollment
- uris: "{{ course_service_prefix }}/v1/unenrol"
- upstream_url: "{{ lms_service_url }}/v1/course/unenroll"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createBatch
- uris: "{{ course_service_prefix }}/v1/batch/create"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createCertTemplate
- uris: "{{ cert_service_prefix }}/v1/template/create"
- upstream_url: "{{ cert_service_url }}/cert/v1/template/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createChannel
- uris: "{{ channel_service_prefix }}/v1/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - channelCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createContent
- uris: "{{ content_prefix }}/v1/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createCourse
- uris: "{{ course_service_prefix }}/v1/create"
- upstream_url: "{{ lms_service_url }}/v1/course/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createForm
- uris: "{{ data_service_prefix }}/v1/form/create"
- upstream_url: "{{ player_service_url }}/plugin/v1/form/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - formCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createFramework
- uris: "{{ framework_service_prefix }}/v1/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createFrameworkCategory
- uris: "{{ framework_service_prefix }}/v1/category/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createFrameworkTerm
- uris: "{{ framework_service_prefix }}/v1/term/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createLock
- uris: "{{ lock_service_prefix }}/v1/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createNote
- uris: "{{ notes_service_prefix }}/v1/create"
- upstream_url: "{{ learning_service_url }}/v1/note/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - noteCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createOrg
- uris: "{{ org_service_prefix }}/v1/create"
- upstream_url: "{{ learning_service_url }}/v1/org/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - orgCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createPage
- uris: "{{ data_service_prefix }}/v1/page/create"
- upstream_url: "{{ lms_service_url }}/v1/page/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createPageSection
- uris: "{{ data_service_prefix }}/v1/page/section/create"
- upstream_url: "{{ lms_service_url }}/v1/page/section/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createPublisher
- uris: "{{ dialcode_service_prefix }}/v1/publisher/create"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createSession
- uris: "{{ sso_service_prefix }}/v1/create/session"
- upstream_url: "{{ player_service_url }}/v1/sso/create/session"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - ssoAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUser
- uris: "{{ user_service_prefix }}/v1/create"
- upstream_url: "{{ learning_service_url }}/v1/user/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUserLearnerV3
- uris: "{{ user_service_prefix }}/v1/signup"
- upstream_url: "{{ learning_service_url }}/v1/user/signup"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUserVersion2
- uris: "{{ user_service_prefix }}/v2/create"
- upstream_url: "{{ learning_service_url }}/v2/user/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUserVersion3
- uris: "{{ user_service_prefix }}/v3/create"
- upstream_url: "{{ learning_service_url }}/v3/user/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUserVersion4
- uris: "{{ user_service_prefix }}/v4/create"
- upstream_url: "{{ learning_service_url }}/v4/user/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteNote
- uris: "{{ notes_service_prefix }}/v1/delete"
- upstream_url: "{{ learning_service_url }}/v1/note/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deviceProfile
- uris: "{{ device_prefix }}/profile"
- upstream_url: "{{ analytics_api_service_url }}/v1/device/profile"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - deviceCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deviceRegister
- uris: "{{ device_prefix }}/register"
- upstream_url: "{{ analytics_api_service_url }}/v1/device/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - deviceCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: dialAssemble
- uris: "{{ data_service_prefix }}/v1/dial/assemble"
- upstream_url: "{{ lms_service_url }}/v1/dial/assemble"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: downloadCertificate
- uris: "{{ user_service_prefix }}/v1/certs/download"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/download"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: downloadRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/download"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/download"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: downloadTOC
- uris: "{{ textbook_service_prefix }}/v1/toc/download"
- upstream_url: "{{ lms_service_url }}/v1/textbook/toc/download"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousContentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: echo
- uris: "{{ echo_service_prefix }}"
- upstream_url: "{{ echo_service_url }}"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - ssoCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: experimentcreate
- uris: "{{ data_service_prefix }}/v1/experiement/create"
- upstream_url: "{{ analytics_api_service_url }}/experiment/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - experimentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: experimentread
- uris: "{{ data_service_prefix }}/v1/experiement/get"
- upstream_url: "{{ analytics_api_service_url }}/experiment/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - expirementAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: fetchURLMetaInformation
- uris: "{{ content_prefix }}/v1/fetchmeta"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/url/fetchmeta"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: flagContent
- uris: "{{ content_prefix }}/v1/flag"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: freshDesk
- uris: "{{ tickets_prefix }}/v1/create"
- upstream_url: "{{ freshDesk_url }}/api/v2/tickets"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: generateDialcodes
- uris: "{{ dialcode_service_prefix }}/v1/generate"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/generate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: generateOtp
- uris: "{{ otp_service_prefix }}/v1/generate"
- upstream_url: "{{ learning_service_url }}/v1/otp/generate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: generateOtpV2
- uris: "{{ otp_service_prefix }}/v2/generate"
- upstream_url: "{{ learning_service_url }}/v2/otp/generate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getBatch
- uris: "{{ course_service_prefix }}/v1/batch/read"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: collectionSummaryAgg
- uris: "/v1/collection/summary"
- upstream_url: "{{ lms_service_url }}/v1/collection/summary"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getContentUploadUrl
- uris: "{{ content_prefix }}/v1/upload/url/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload/url"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getCourseHierarchy
- uris: "{{ course_service_prefix }}/v1/hierarchy"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/hierarchy"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getPageSettings
- uris: "{{ data_service_prefix }}/v1/page/read"
- upstream_url: "{{ lms_service_url }}/v1/page/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getParticipants
- uris: "{{ course_service_prefix }}/v1/batch/participants/list"
- upstream_url: "{{ lms_service_url }}/v1/batch/participants/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getSystemSettings
- uris: "{{ data_service_prefix }}/v1/system/settings/get"
- upstream_url: "{{ learning_service_url }}/v1/system/settings/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousAppAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTenantInfo
- uris: "{{ org_service_prefix }}/v1/tenant/info"
- upstream_url: "{{ player_service_url }}/v1/tenant/info"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousOrgAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserByKey
- uris: "{{ user_service_prefix }}/v1/get"
- upstream_url: "{{ learning_service_url }}/v1/user/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserByKeyV2
- uris: "{{ user_service_prefix }}/v2/get"
- upstream_url: "{{ learning_service_url }}/v2/user/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserProfile
- uris: "{{ user_service_prefix }}/v1/read"
- upstream_url: "{{ learning_service_url }}/v1/user/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getUserProfileV2
- uris: "{{ user_service_prefix }}/v2/read"
- upstream_url: "{{ learning_service_url }}/v2/user/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: indexSync
- uris: "{{ data_service_prefix }}/v1/index/sync"
- upstream_url: "{{ learning_service_url }}/v1/data/sync"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: ItemSetAPIs
- uris: "{{ itemset_prefix }}/v1"
- upstream_url: "{{ knowledge_mw_service_url }}/itemset/v1"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - itemSetAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: KongConsumerApi
- uris: "{{ api_manager_perfix }}/v1/consumer"
- upstream_url: "{{ am_util_url }}/v1/consumer"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - kongConsumerAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: LicenseAPI
- uris: "{{ license_api_prefix }}/v3"
- upstream_url: "{{ content_service_url }}/license/v3"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: linkDialcodeContent
- uris: "{{ dialcode_service_prefix }}/v1/content/link"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/content/link"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listAllBadges
- uris: "{{ org_service_prefix }}/v1/badges/list"
- upstream_url: "{{ learning_service_url }}/v1/badges/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - badgeAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listChannel
- uris: "{{ channel_service_prefix }}/v1/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - channelAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchCourseBatches
- uris: "{{ course_service_prefix }}/v1/batch/list"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCourseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listCourseEnrollments
- uris: "{{ course_service_prefix }}/v1/user/enrollment/list"
- upstream_url: "{{ lms_service_url }}/v1/user/courses/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCourseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: privateListCourseEnrollments
- uris: "{{ course_service_prefix }}/private/v1/user/enrollment/list"
- upstream_url: "{{ lms_service_url }}/private/v1/user/courses/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listUserCourseEnrollments
- uris: "{{ course_service_prefix }}/v2/user/enrollment/list"
- upstream_url: "{{ lms_service_url }}/v2/user/courses/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCourseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: privateListUserCourseEnrollments
- uris: "{{ course_service_prefix }}/private/v2/user/enrollment/list"
- upstream_url: "{{ lms_service_url }}/private/v2/user/courses/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - privateCourseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listDialcodes
- uris: "{{ dialcode_service_prefix }}/v1/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listFramework
- uris: "{{ framework_service_prefix }}/v1/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listLock
- uris: "{{ lock_service_prefix }}/v1/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: listOrdinals
- uris: "{{ meta_service_prefix }}/v1/ordinals/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/ordinals/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listPageSections
- uris: "{{ data_service_prefix }}/v1/page/section/list"
- upstream_url: "{{ lms_service_url }}/v1/page/section/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listResourceBundles
- uris: "{{ meta_service_prefix }}/v1/resourcebundles/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/resourcebundles/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousAppAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listSystemSettings
- uris: "{{ data_service_prefix }}/v1/system/settings/list"
- upstream_url: "{{ learning_service_url }}/v1/system/settings/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listTerms
- uris: "{{ meta_service_prefix }}/v1/terms/list"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/terms/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: masterLocationCreate
- uris: "{{ data_service_prefix }}/v1/location/create"
- upstream_url: "{{ learning_service_url }}/v1/location/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: masterLocationDelete
- uris: "{{ data_service_prefix }}/v1/location/delete"
- upstream_url: "{{ learning_service_url }}/v1/location/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: masterLocationSearch
- uris: "{{ data_service_prefix }}/v1/location/search"
- upstream_url: "{{ learning_service_url }}/v1/location/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: masterLocationUpdate
- uris: "{{ data_service_prefix }}/v1/location/update"
- upstream_url: "{{ learning_service_url }}/v1/location/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationUpdate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: masterLocationUpload
- uris: "{{ data_service_prefix }}/v1/bulk/location/upload"
- upstream_url: "{{ learning_service_url }}/v1/bulk/location/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationSuperAdmin
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: mergeUserAccounts
- uris: "{{ user_service_prefix }}/v1/account/merge"
- upstream_url: "{{ learning_service_url }}/private/user/v1/account/merge"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: orgAssignKeys
- uris: "{{ org_service_prefix }}/v1/assign/key"
- upstream_url: "{{ learning_service_url }}/v1/org/assign/key"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: orgBulkUpload
- uris: "{{ org_service_prefix }}/v1/upload"
- upstream_url: "{{ learning_service_url }}/v1/org/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - orgSuperAdmin
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: pluginSearch
- uris: "{{ plugin_service_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/plugins/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pluginAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentCreateAPIs
- uris: "{{ private_content_prefix }}/v3/create"
- upstream_url: "{{ content_service_url }}/content/v3/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentReadAPIs
- uris: "{{ private_content_prefix }}/v3/read"
- upstream_url: "{{ content_service_url }}/content/v3/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentUpdateAPIs
- uris: "{{ private_content_prefix }}/v3/update"
- upstream_url: "{{ content_service_url }}/content/v3/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentRetireAPI
- uris: "{{ private_content_prefix }}/v3/retire"
- upstream_url: "{{ vm_learning_service_url }}/content/v3/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentUploadAPI
- uris: "{{ private_content_prefix }}/v3/upload"
- upstream_url: "{{ content_service_url }}/content/v3/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentReviewAPI
- uris: "{{ private_content_prefix }}/v3/review"
- upstream_url: "{{ vm_learning_service_url }}/content/v3/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentPublishAPI
- uris: "{{ private_content_prefix }}/v3/publish"
- upstream_url: "{{ vm_learning_service_url }}/content/v3/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentRejectAPI
- uris: "{{ private_content_prefix }}/v3/reject"
- upstream_url: "{{ vm_learning_service_url }}/content/v3/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: PrivateContentHierarchyAPI
- uris: "{{ private_content_prefix }}/v3/hierarchy"
- upstream_url: "{{ content_service_url }}/content/v3/hierarchy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: privateUserAssignRole
- uris: "{{ user_service_prefix }}/private/v1/assign/role"
- upstream_url: "{{ learning_service_url }}/private/user/v1/assign/role"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: privateUserRead
- uris: "{{ user_service_prefix }}/private/v1/read"
- upstream_url: "{{ learning_service_url }}/private/user/v1/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userSuperAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: publishContent
- uris: "{{ content_prefix }}/v1/publish"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: publishCourse
- uris: "{{ course_service_prefix }}/v1/publish"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: publishDialcode
- uris: "{{ dialcode_service_prefix }}/v1/publish"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: publishFramework
- uris: "{{ framework_service_prefix }}/v1/publish"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: qrCodeBatchProcessRetry
- uris: "{{ dialcode_service_prefix }}/v1/process/retry"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/retry"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: qrCodeBatchProcessStatus
- uris: "{{ dialcode_service_prefix }}/v1/process/status"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/status"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: qrCodeDownload
- uris: "{{ course_service_prefix }}/v1/qrcode/download"
- upstream_url: "{{ lms_service_url }}/v1/course/qrcode/download"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readCertTemplate
- uris: "{{ cert_service_prefix }}/v1/template/read"
- upstream_url: "{{ cert_service_url }}/cert/v1/template/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readChannel
- uris: "{{ channel_service_prefix }}/v1/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readContent
- uris: "{{ content_prefix }}/v1/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: contentPrivateRead
- uris: "{{ content_prefix }}/v1/private/read"
- upstream_url: "{{ content_service_url }}/content/v4/private/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readContentState
- uris: "{{ course_service_prefix }}/v1/content/state/read"
- upstream_url: "{{ lms_service_url }}/v1/content/state/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: privateReadContentState
- uris: "{{ course_service_prefix }}/private/v1/content/state/read"
- upstream_url: "{{ lms_service_url }}/private/v1/content/state/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - privateCourseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readCourse
- uris: "{{ course_service_prefix }}/v1/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readCourseEnrollment
- uris: "{{ course_service_prefix }}/v1/user/enrollment/read"
- upstream_url: "{{ lms_service_url }}/v1/user/courses/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readDialcode
- uris: "{{ dialcode_service_prefix }}/v1/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readDialcodeV2
- uris: "{{ dialcode_service_prefix }}/v2/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v2/dialcode/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readForm
- uris: "{{ data_service_prefix }}/v1/form/read"
- upstream_url: "{{ player_service_url }}/plugin/v1/form/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readFramework
- uris: "{{ framework_service_prefix }}/v1/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readFrameworkCategory
- uris: "{{ framework_service_prefix }}/v1/category/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readFrameworkTerm
- uris: "{{ framework_service_prefix }}/v1/term/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readNote
- uris: "{{ notes_service_prefix }}/v1/read"
- upstream_url: "{{ learning_service_url }}/v1/note/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - noteAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readOrg
- uris: "{{ org_service_prefix }}/v1/read"
- upstream_url: "{{ learning_service_url }}/v1/org/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousOrgAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readPageSection
- uris: "{{ data_service_prefix }}/v1/page/section/read"
- upstream_url: "{{ lms_service_url }}/v1/page/section/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readPublisher
- uris: "{{ dialcode_service_prefix }}/v1/publisher/read"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readRoleMapping
- uris: "{{ data_service_prefix }}/v1/role/read"
- upstream_url: "{{ learning_service_url }}/v1/role/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readUserSpecificRole
- uris: "{{ user_service_prefix }}/v1/role/read"
- upstream_url: "{{ learning_service_url }}/v1/user/role/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readUserProfile
- uris: "{{ user_service_prefix }}/v1/profile/read"
- upstream_url: "{{ learning_service_url }}/v1/user/getuser"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerDesktopApp
- uris: "{{ api_manager_perfix }}/v1/consumer/desktop_app/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/desktop_app/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - desktopSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerDesktopDevice
- uris: "{{ api_manager_perfix }}/v1/consumer/desktop_device/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/desktop_device/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - desktopAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerDesktopDevicev2
- uris: "{{ api_manager_perfix }}/v2/consumer/desktop_device/credential/register"
- upstream_url: "{{ am_util_url }}/v2/consumer/desktop_device/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - desktopAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: refreshLock
- uris: "{{ lock_service_prefix }}/v1/refresh"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/refresh"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: refreshToken
- uris: "{{ auth_service_prefix }}/v1/refresh/token"
- upstream_url: "{{ am_util_url }}/v1/auth/refresh/token"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - refreshTokenCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileApp
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileAppOpenRAP
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app_openrap/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_openrap/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileOpenRAPSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileAppTeacherAid
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app_teacheraid/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_teacheraid/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileTeacherAidSuperAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileDevice
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileDevicev2
- uris: "{{ api_manager_perfix }}/v2/consumer/mobile_device/credential/register"
- upstream_url: "{{ am_util_url }}/v2/consumer/mobile_device/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerPortalAnonymous
- uris: "{{ api_manager_perfix }}/v2/consumer/portal_anonymous/credential/register"
- upstream_url: "{{ am_util_url }}/v2/consumer/portal_anonymous/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - portalAnonymous
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerPortalLoggedin
- uris: "{{ api_manager_perfix }}/v2/consumer/portal_loggedin/credential/register"
- upstream_url: "{{ am_util_url }}/v2/consumer/portal_loggedin/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - portalLoggedin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileDeviceOpenRAP
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device_openrap/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_openrap/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileOpenRAPAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerMobileDeviceTeacherAid
- uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device_teacheraid/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_teacheraid/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - mobileTeacherAidAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: rejectContent
- uris: "{{ content_prefix }}/v1/reject"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: rejectContentFlag
- uris: "{{ content_prefix }}/v1/flag/reject"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: releaseDialcode
- uris: "{{ dialcode_service_prefix }}/v1/release"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/release"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: reserveDialcode
- uris: "{{ dialcode_service_prefix }}/v1/reserve"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/reserve"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: retireContent
- uris: "{{ content_prefix }}/v1/retire"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: retireCourse
- uris: "{{ course_service_prefix }}/v1/retire"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: retireLock
- uris: "{{ lock_service_prefix }}/v1/retire"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchChannel
- uris: "{{ channel_service_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - channelAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchContent
- uris: "{{ content_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/search"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchCourse
- uris: "{{ course_service_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchDialcodes
- uris: "{{ dialcode_service_prefix }}/v1/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dialcodeAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchFrameworkCategory
- uris: "{{ framework_service_prefix }}/v1/category/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchFrameworkTerm
- uris: "{{ framework_service_prefix }}/v1/term/search"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchNotes
- uris: "{{ notes_service_prefix }}/v1/search"
- upstream_url: "{{ learning_service_url }}/v1/note/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - noteAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchOrgExtended
- uris: "{{ org_service_prefix }}/v1/ext/search"
- upstream_url: "{{ learning_service_url }}/v1/org/search"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchOrg
- uris: "{{ org_service_prefix }}/v1/search"
- upstream_url: "{{ learning_service_url }}/v1/org/search"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchUser
- uris: "{{ user_service_prefix }}/v1/search"
- upstream_url: "{{ learning_service_url }}/v1/user/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userTempAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: sendEmailNotification
- uris: "{{ user_service_prefix }}/v1/notification/email"
- upstream_url: "{{ learning_service_url }}/v1/notification/email"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: submitContentForReview
- uris: "{{ content_prefix }}/v1/review"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: submitCourseForReview
- uris: "{{ course_service_prefix }}/v1/review"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: telemetry
- uris: "{{ data_service_prefix }}/v1/telemetry"
- upstream_url: "{{ telemetry_service_url }}/v1/telemetry"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - telemetryCreate
- - name: rate-limiting
- config.policy: local
- 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: telemetryErrorLogging
- uris: "{{ data_service_prefix }}/v1/client/logs"
- upstream_url: "{{ analytics_api_service_url }}/data/v1/client/logs"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - telemetryCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: unblockUser
- uris: "{{ user_service_prefix }}/v1/unblock"
- upstream_url: "{{ learning_service_url }}/v1/user/unblock"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateBatch
- uris: "{{ course_service_prefix }}/v1/batch/update"
- upstream_url: "{{ lms_service_url }}/v1/course/batch/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateCertTemplate
- uris: "{{ cert_service_prefix }}/v1/template/update"
- upstream_url: "{{ cert_service_url }}/cert/v1/template/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateUpdate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateChannel
- uris: "{{ channel_service_prefix }}/v1/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - channelUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateCollaborators
- uris: "{{ content_prefix }}/v1/collaborator/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/collaborator/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateContent
- uris: "{{ content_prefix }}/v1/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateContentState
- uris: "{{ course_service_prefix }}/v1/content/state/update"
- upstream_url: "{{ lms_service_url }}/v1/content/state/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - courseAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateCourse
- uris: "{{ course_service_prefix }}/v1/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: linkDialcodeContentV1
- uris: "{{ content_prefix }}/v1/dialcode/link"
- upstream_url: "{{ content_service_url }}/content/v3/dialcode/link"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: reserveDialcodeContent
- uris: "{{ content_prefix }}/v1/dialcode/reserve"
- upstream_url: "{{ content_service_url }}/content/v3/dialcode/reserve"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateCourseHierarchy
- uris: "{{ course_service_prefix }}/v1/hierarchy/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/course/hierarchy/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateDesktopApp
- uris: "{{ desktop_app_prefix }}/v1/update"
- upstream_url: "{{ player_service_url }}/v1/desktop/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousAppAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateDialcode
- uris: "{{ dialcode_service_prefix }}/v1/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateDialcodeV2
- uris: "{{ dialcode_service_prefix }}/v2/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v2/dialcode/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateForm
- uris: "{{ data_service_prefix }}/v1/form/update"
- upstream_url: "{{ player_service_url }}/plugin/v1/form/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - formUpdate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateFramework
- uris: "{{ framework_service_prefix }}/v1/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkUpdate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateFrameworkCategory
- uris: "{{ framework_service_prefix }}/v1/category/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkUpdate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateFrameworkTerm
- uris: "{{ framework_service_prefix }}/v1/term/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkUpdate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateNote
- uris: "{{ notes_service_prefix }}/v1/update"
- upstream_url: "{{ learning_service_url }}/v1/note/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateOrg
- uris: "{{ org_service_prefix }}/v1/update"
- upstream_url: "{{ learning_service_url }}/v1/org/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateOrgStatus
- uris: "{{ org_service_prefix }}/v1/status/update"
- upstream_url: "{{ learning_service_url }}/v1/org/status/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updatePage
- uris: "{{ data_service_prefix }}/v1/page/update"
- upstream_url: "{{ lms_service_url }}/v1/page/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updatePageSection
- uris: "{{ data_service_prefix }}/v1/page/section/update"
- upstream_url: "{{ lms_service_url }}/v1/page/section/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - pageUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updatePublisher
- uris: "{{ dialcode_service_prefix }}/v1/publisher/update"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateUser
- uris: "{{ user_service_prefix }}/v1/update"
- upstream_url: "{{ learning_service_url }}/v1/user/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: uploadContent
- uris: "{{ content_prefix }}/v1/upload"
- upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ large_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: uploadCrashLogs
- uris: "{{ desktop_app_prefix }}/v1/upload-crash-logs"
- upstream_url: "{{ player_service_url }}/v1/desktop/upload-crash-logs"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - telemetryCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: uploadTOC
- uris: "{{ textbook_service_prefix }}/v1/toc/upload"
- upstream_url: "{{ lms_service_url }}/v1/textbook/toc/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userBulkUpload
- uris: "{{ user_service_prefix }}/v1/upload"
- upstream_url: "{{ learning_service_url }}/v1/user/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userExistenceApi
- uris: "{{ user_service_prefix }}/v1/exists"
- upstream_url: "{{ learning_service_url }}/v1/user/exists"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userExistenceApiV2
- uris: "{{ user_service_prefix }}/v2/exists"
- upstream_url: "{{ learning_service_url }}/v2/user/exists"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userFeed
- uris: "{{ user_service_prefix }}/v1/feed"
- upstream_url: "{{ learning_service_url }}/v1/user/feed"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: userFeedCreate
- uris: "{{ user_service_prefix }}/feed/v1/create"
- upstream_url: "{{ learning_service_url }}/v1/user/feed/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userFeedDelete
- uris: "{{ user_service_prefix }}/feed/v1/delete"
- upstream_url: "{{ learning_service_url }}/v1/user/feed/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userFeedUpdate
- uris: "{{ user_service_prefix }}/feed/v1/update"
- upstream_url: "{{ learning_service_url }}/v1/user/feed/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userMigrate
- uris: "{{ user_service_prefix }}/v1/migrate"
- upstream_url: "{{ learning_service_url }}/v1/user/migrate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: validateRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/validate"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/validate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCertificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: verifyOtp
- uris: "{{ otp_service_prefix }}/v1/verify"
- upstream_url: "{{ learning_service_url }}/v1/otp/verify"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: verifyOtpV2
- uris: "{{ otp_service_prefix }}/v2/verify"
- upstream_url: "{{ learning_service_url }}/v2/otp/verify"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: verifyRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/verify"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/verify"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerIgotApp
- uris: "{{ api_manager_perfix }}/v1/consumer/igot_app/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/igot_app/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - igotAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: registerIgotDevice
- uris: "{{ api_manager_perfix }}/v1/consumer/igot_device/credential/register"
- upstream_url: "{{ am_util_url }}/v1/consumer/igot_device/credential/register"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - igotApp
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listReports
- uris: "{{ report_service_prefix }}/report/list"
- upstream_url: "{{ report_service_url }}/report/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getReport
- uris: "{{ report_service_prefix }}/report/get"
- upstream_url: "{{ report_service_url }}/report/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateReport
- uris: "{{ report_service_prefix }}/report/update"
- upstream_url: "{{ report_service_url }}/report/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsUpdate
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: deleteReport
- uris: "{{ report_service_prefix }}/report/delete"
- upstream_url: "{{ report_service_url }}/report/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAdmin
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createReport
- uris: "{{ report_service_prefix }}/report/create"
- upstream_url: "{{ report_service_url }}/report/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createReportSummary
- uris: "{{ report_service_prefix }}/report/summary/create"
- upstream_url: "{{ report_service_url }}/report/summary/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getReportSummary
- uris: "{{ report_service_prefix }}/report/summary"
- upstream_url: "{{ report_service_url }}/report/summary"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: listReportSummary
- uris: "{{ report_service_prefix }}/report/summary/list"
- upstream_url: "{{ report_service_url }}/report/summary/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/search"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchRegCertificateV2
- uris: "{{ cert_registry_service_prefix }}/v2/certs/search"
- upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/read"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: forgotPassword
- uris: "{{ learner_private_route_prefix }}/user/v1/password/reset"
- upstream_url: "{{ learning_service_url }}/private/user/v1/password/reset"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: publishReport
- uris: "{{ report_service_prefix }}/report/publish"
- upstream_url: "{{ report_service_url }}/report/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAdmin
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: retireReport
- uris: "{{ report_service_prefix }}/report/retire"
- upstream_url: "{{ report_service_url }}/report/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAdmin
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchManagedUser
- uris: "{{ user_service_prefix }}/v1/managed"
- upstream_url: "{{ learning_service_url }}/v1/user/managed"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createGroup
- uris: "{{ group_service_prefix }}/v1/create"
- upstream_url: "{{ group_service_url }}/v1/group/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateGroup
- uris: "{{ group_service_prefix }}/v1/update"
- upstream_url: "{{ group_service_url }}/v1/group/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listGroup
- uris: "{{ group_service_prefix }}/v1/list"
- upstream_url: "{{ group_service_url }}/v1/group/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readGroup
- uris: "{{ group_service_prefix }}/v1/read"
- upstream_url: "{{ group_service_url }}/v1/group/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteGroup
- uris: "{{ group_service_prefix }}/v1/delete"
- upstream_url: "{{ group_service_url }}/v1/group/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateGroupMembership
- uris: "{{ group_service_prefix }}/membership/v1/update"
- upstream_url: "{{ group_service_url }}/v1/group/membership/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: groupActivityAgg
- uris: "{{ data_service_prefix }}/v1/group/activity/agg"
- upstream_url: "{{ lms_service_url }}/v1/group/activity/agg"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - groupAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listForm
- uris: "{{ data_service_prefix }}/v1/form/list"
- upstream_url: "{{ player_service_url }}/plugin/v1/form/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - appAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserProfileV3
- uris: "{{ user_service_prefix }}/v3/read"
- upstream_url: "{{ learning_service_url }}/v3/user/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateUserDeclarations
- uris: "{{ user_service_prefix }}/v1/declarations"
- upstream_url: "{{ learning_service_url }}/v1/user/declarations"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateUserConsent
- uris: "{{ user_service_prefix }}/v1/consent/update"
- upstream_url: "{{ learning_service_url }}/v1/user/consent/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: readUserConsent
- uris: "{{ user_service_prefix }}/v1/consent/read"
- upstream_url: "{{ learning_service_url }}/v1/user/consent/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: readUserConsentV2
- uris: "{{ user_service_prefix }}/v2/consent/read"
- upstream_url: "{{ learning_service_url }}/v2/user/consent/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: channelSpecificTelemetryExhaust
- uris: "{{ data_service_prefix }}/v3/dataset/get"
- upstream_url: "{{ analytics_api_service_url }}/dataset/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: publicDataExhaust
- uris: "{{ dataset_service_prefix }}/get"
- upstream_url: "{{ analytics_api_service_url }}/public/dataset/get"
- strip_uri: true
- plugins:
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: submitDataExhaustRequest
- uris: "{{ dataset_service_prefix }}/v1/request/submit"
- upstream_url: "{{ analytics_api_service_url }}/request/submit"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getDataExhaustRequest
- uris: "{{ dataset_service_prefix }}/v1/request/read"
- upstream_url: "{{ analytics_api_service_url }}/request/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: listDataExhaustRequest
- uris: "{{ dataset_service_prefix }}/v1/request/list"
- upstream_url: "{{ analytics_api_service_url }}/request/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: addDataset
- uris: "{{ dataset_service_prefix }}/v1/add"
- upstream_url: "{{ analytics_api_service_url }}/dataset/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listDataset
- uris: "{{ dataset_service_prefix }}/v1/list"
- upstream_url: "{{ analytics_api_service_url }}/dataset/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - dataAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createTenantPreferences
- uris: "{{ org_service_prefix }}/v2/preferences/create"
- upstream_url: "{{ learning_service_url }}/v2/org/preferences/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateTenantPreferences
- uris: "{{ org_service_prefix }}/v2/preferences/update"
- upstream_url: "{{ learning_service_url }}/v2/org/preferences/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: readTenantPreferencess
- uris: "{{ org_service_prefix }}/v2/preferences/read"
- upstream_url: "{{ learning_service_url }}/v2/org/preferences/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - orgAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: generateCertificateV2
- uris: "{{ cert_service_prefix }}/v2/certs/generate"
- upstream_url: "{{ cert_service_url }}/v2/certs/generate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: addRegCertificateV2
- uris: "{{ cert_registry_service_prefix }}/v2/certs/add"
- upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: downloadRegCertificateV2
- uris: "{{ cert_registry_service_prefix }}/v2/certs/download"
- upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/download"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: contentImportAPI
- uris: "{{ content_prefix }}/v1/import"
- upstream_url: "{{ content_service_url }}/content/v3/import"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: druidGetUpdateListReport
- uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}"
- upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - druidReportAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: druidDeactivateReport
- uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}/deactivate"
- upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}/deactivate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - druidReportAdmin
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: druidCreateReport
- uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}/submit"
- upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}/submit"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - druidReportCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: addRegCertificate
- uris: "{{ cert_registry_service_prefix }}/v1/certs/add"
- upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: generateCertificate
- uris: "{{ cert_service_prefix }}/v1/certs/generate"
- upstream_url: "{{ cert_service_url }}/v1/certs/generate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createObjectCategory
- uris: "{{ object_category_prefix }}/v1/create"
- upstream_url: "{{ taxonomy_service_url }}/object/category/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readObjectCategory
- uris: "{{ object_category_prefix }}/v1/read"
- upstream_url: "{{ taxonomy_service_url }}/object/category/v4/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateObjectCategory
- uris: "{{ object_category_prefix }}/v1/update"
- upstream_url: "{{ taxonomy_service_url }}/object/category/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkUpdate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createObjectCategoryDefinition
- uris: "{{ object_category_definition_prefix }}/v1/create"
- upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkCreate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readObjectCategoryDefinition
- uris: "{{ object_category_definition_prefix }}/v1/read"
- upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkAccess
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateObjectCategoryDefinition
- uris: "{{ object_category_definition_prefix }}/v1/update"
- upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - frameworkUpdate
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createAsset
- uris: "{{ asset_prefix }}/v1/create"
- upstream_url: "{{ content_service_url }}/asset/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateAsset
- uris: "{{ asset_prefix }}/v1/update"
- upstream_url: "{{ content_service_url }}/asset/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: readAsset
- uris: "{{ asset_prefix }}/v1/read"
- upstream_url: "{{ content_service_url }}/asset/v4/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousContentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: uploadAsset
- uris: "{{ asset_prefix }}/v1/upload"
- upstream_url: "{{ content_service_url }}/asset/v4/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: uploadUrlAsset
- uris: "{{ asset_prefix }}/v1/upload/url"
- upstream_url: "{{ content_service_url }}/asset/v4/upload/url"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: copyAsset
- uris: "{{ asset_prefix }}/v1/copy"
- upstream_url: "{{ content_service_url }}/asset/v4/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: collectionCreate
- uris: "{{ collection_prefix }}/v1/create"
- upstream_url: "{{ content_service_url }}/collection/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionRead
- uris: "{{ collection_prefix }}/v1/read"
- upstream_url: "{{ content_service_url }}/collection/v4/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousContentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionPrivateRead
- uris: "{{ collection_prefix }}/v1/private/read"
- upstream_url: "{{ content_service_url }}/collection/v4/private/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: assessmentItemRead
- uris: "{{ assessment_prefix }}/v1/items/read"
- upstream_url: "{{ vm_learning_service_url }}/assessment/v3/items/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - assessmentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionUpdate
- uris: "{{ collection_prefix }}/v1/update"
- upstream_url: "{{ content_service_url }}/collection/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionFlag
- uris: "{{ collection_prefix }}/v1/flag"
- upstream_url: "{{ content_service_url }}/collection/v4/flag"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionDiscard
- uris: "{{ collection_prefix }}/v1/discard"
- upstream_url: "{{ content_service_url }}/collection/v4/discard"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionRetire
- uris: "{{ collection_prefix }}/v1/retire"
- upstream_url: "{{ content_service_url }}/collection/v4/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: linkDialcodeCollection
- uris: "{{ collection_prefix }}/v1/dialcode/link"
- upstream_url: "{{ content_service_url }}/collection/v4/dialcode/link"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionHierarchyAdd
- uris: "{{ collection_prefix }}/v1/hierarchy/add"
- upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionHierarchyRemove
- uris: "{{ collection_prefix }}/v1/hierarchy/remove"
- upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/remove"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionHierarchyUpdate
- uris: "{{ collection_prefix }}/v1/hierarchy/update"
- upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionHierarchyRead
- uris: "{{ collection_prefix }}/v1/hierarchy"
- upstream_url: "{{ content_service_url }}/collection/v4/hierarchy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousContentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionCopy
- uris: "{{ collection_prefix }}/v1/copy"
- upstream_url: "{{ content_service_url }}/collection/v4/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionImport
- uris: "{{ collection_prefix }}/v1/import"
- upstream_url: "{{ content_service_url }}/collection/v4/import"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: collectionExport
- uris: "{{ collection_prefix }}/v1/export"
- upstream_url: "{{ content_service_url }}/collection/v4/export"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getDiscussionTagsList
- uris: "{{ discussions_prefix }}/tags"
- upstream_url: "{{ discussions_mw_service_url }}/tags"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getDiscussionCategories
- uris: "{{ discussions_prefix }}/categories"
- upstream_url: "{{ discussions_mw_service_url }}/categories"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getDiscussionNotificationsList
- uris: "{{ discussions_prefix }}/notifications"
- upstream_url: "{{ discussions_mw_service_url }}/notifications"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserDetailsOfDiscussion
- uris: "{{ discussions_prefix }}/user"
- upstream_url: "{{ discussions_mw_service_url }}/user"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getCategoryDetailsOfDiscussion
- uris: "{{ discussions_prefix }}/category"
- upstream_url: "{{ discussions_mw_service_url }}/category"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUnreadTopicsOfDiscussion
- uris: "{{ discussions_prefix }}/unread"
- upstream_url: "{{ discussions_mw_service_url }}/unread"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getRecentTopicsOfDiscussion
- uris: "{{ discussions_prefix }}/recent"
- upstream_url: "{{ discussions_mw_service_url }}/recent"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getPopularTopicsOfDiscussion
- uris: "{{ discussions_prefix }}/popular"
- upstream_url: "{{ discussions_mw_service_url }}/popular"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTopTopicsOfDiscussion
- uris: "{{ discussions_prefix }}/top"
- upstream_url: "{{ discussions_mw_service_url }}/top"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTopicsOfDiscussionById
- uris: "{{ discussions_prefix }}/topic"
- upstream_url: "{{ discussions_mw_service_url }}/topic"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTotalUnreadTopicsOfDiscussion
- uris: "{{ discussions_prefix }}/unread/total"
- upstream_url: "{{ discussions_mw_service_url }}/unread/total"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTopicsOfDiscussionByTeaserId
- uris: "{{ discussions_prefix }}/topic/teaser"
- upstream_url: "{{ discussions_mw_service_url }}/topic/teaser"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTopicsPaginationByIdOfDiscussion
- uris: "{{ discussions_prefix }}/topic/pagination"
- upstream_url: "{{ discussions_mw_service_url }}/topic/pagination"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getGroupsListOfDiscussion
- uris: "{{ discussions_prefix }}/groups"
- upstream_url: "{{ discussions_mw_service_url }}/groups"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getRecentPostsByDateOfDiscussions
- uris: "{{ discussions_prefix }}/recent/posts"
- upstream_url: "{{ discussions_mw_service_url }}/recent/posts"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createTopicOfDiscussions
- uris: "{{ discussions_prefix }}/v2/topics"
- upstream_url: "{{ discussions_mw_service_url }}/v2/topics"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createCategoryOfDiscussion
- uris: "{{ discussions_prefix }}/v2/categories"
- upstream_url: "{{ discussions_mw_service_url }}/v2/categories"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createGroupsOfDiscussion
- uris: "{{ discussions_prefix }}/v2/groups"
- upstream_url: "{{ discussions_mw_service_url }}/v2/groups"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createNewPostOfDiscussion
- uris: "{{ discussions_prefix }}/v2/posts"
- upstream_url: "{{ discussions_mw_service_url }}/v2/posts"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createNewUserOfDiscussion
- uris: "{{ discussions_prefix }}/v2/users"
- upstream_url: "{{ discussions_mw_service_url }}/v2/users"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserDetailsByUsername
- uris: "{{ discussions_prefix }}/user/username"
- upstream_url: "{{ discussions_mw_service_url }}/user/username"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getForumIdOfDiscussion
- uris: "{{ discussions_prefix }}/forumId"
- upstream_url: "{{ discussions_mw_service_url }}/forumId"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: addForumOfDiscussion
- uris: "{{ discussions_prefix }}/forum"
- upstream_url: "{{ discussions_mw_service_url }}/forum"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: copyPrivilegesFromParentCategory
- uris: "{{ discussions_prefix }}/privileges/v2/copy"
- upstream_url: "{{ discussions_mw_service_url }}/privileges/v2/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - discussionCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionCreate
- uris: "{{ question_prefix }}/v1/create"
- upstream_url: "{{ assessment_service_url }}/question/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionRead
- uris: "{{ question_prefix }}/v1/read"
- upstream_url: "{{ assessment_service_url }}/question/v4/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionPrivateRead
- uris: "{{ question_prefix }}/v1/private/read"
- upstream_url: "{{ assessment_service_url }}/question/v4/private/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionUpdate
- uris: "{{ question_prefix }}/v1/update"
- upstream_url: "{{ assessment_service_url }}/question/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionRetire
- uris: "{{ question_prefix }}/v1/retire"
- upstream_url: "{{ assessment_service_url }}/question/v4/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionReview
- uris: "{{ question_prefix }}/v1/review"
- upstream_url: "{{ assessment_service_url }}/question/v4/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionPublish
- uris: "{{ question_prefix }}/v1/publish"
- upstream_url: "{{ assessment_service_url }}/question/v4/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionList
- uris: "{{ question_prefix }}/v1/list"
- upstream_url: "{{ assessment_service_url }}/question/v4/list"
- strip_uri: true
- plugins:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionReject
- uris: "{{ question_prefix }}/v1/reject"
- upstream_url: "{{ assessment_service_url }}/question/v4/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetCreate
- uris: "{{ questionset_prefix }}/v1/create"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetRead
- uris: "{{ questionset_prefix }}/v1/read"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/read"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetPrivateRead
- uris: "{{ questionset_prefix }}/v1/private/read"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/private/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetUpdate
- uris: "{{ questionset_prefix }}/v1/update"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetAddQuestion
- uris: "{{ questionset_prefix }}/v1/add"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 'contentUpdate'
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetRemoveQuestion
- uris: "{{ questionset_prefix }}/v1/remove"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/remove"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 'contentUpdate'
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetRetire
- uris: "{{ questionset_prefix }}/v1/retire"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetReview
- uris: "{{ questionset_prefix }}/v1/review"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetPublish
- uris: "{{ questionset_prefix }}/v1/publish"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/publish"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetUpdateHierarchy
- uris: "{{ questionset_prefix }}/v1/hierarchy/update"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/hierarchy/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetReadHierarchy
- uris: "{{ questionset_prefix }}/v1/hierarchy"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/hierarchy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousContentAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionSetReject
- uris: "{{ questionset_prefix }}/v1/reject"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateUserV2
- uris: "{{ user_service_prefix }}/v2/update"
- upstream_url: "{{ learning_service_url }}/v2/user/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: questionImportAPI
- uris: "{{ question_prefix }}/v1/import"
- upstream_url: "{{ assessment_service_url }}/question/v4/import"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: managedUserV1Create
- uris: "{{ user_service_prefix }}/v1/managed/create"
- upstream_url: "{{ learning_service_url }}/v1/manageduser/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: managedUserV2Create
- uris: "{{ user_service_prefix }}/v2/managed/create"
- upstream_url: "{{ learning_service_url }}/v2/manageduser/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: ssoUserV1Create
- uris: "{{ user_service_prefix }}/v1/sso/create"
- upstream_url: "{{ learning_service_url }}/v1/ssouser/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: ssoUserV2Create
- uris: "{{ user_service_prefix }}/v2/signup"
- upstream_url: "{{ learning_service_url }}/v2/user/signup"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousUserCreate
- - name: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserProfileV4
- uris: "{{ user_service_prefix }}/v4/read"
- upstream_url: "{{ learning_service_url }}/v4/user/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getUserProfileV5
- uris: "{{ user_service_prefix }}/v5/read"
- upstream_url: "{{ learning_service_url }}/v5/user/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchUserV2
- uris: "{{ user_service_prefix }}/v2/search"
- upstream_url: "{{ learning_service_url }}/v2/user/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userTempAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchUserV3
- uris: "{{ user_service_prefix }}/v3/search"
- upstream_url: "{{ learning_service_url }}/v3/user/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - userTempAdmin
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchOrgV2
- uris: "{{ org_service_prefix }}/v2/search"
- upstream_url: "{{ learning_service_url }}/v2/org/search"
- strip_uri: 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: integrationAppRead
- uris: "{{ integration_app_prefix }}/v1/read"
- upstream_url: "{{ content_service_url }}/app/v4/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ small_request_size_limit }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: questionsetImportAPI
- uris: "{{ questionset_prefix }}/v1/import"
- upstream_url: "{{ assessment_service_url }}/questionset/v4/import"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUsersPrograms
- uris: "{{ users_service_prefix }}/mlcore/v1/programs"
- upstream_url: "{{ ml_core_service_url }}/v1/users/programs"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - programAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUsersSolutions
- uris: "{{ users_service_prefix }}/mlcore/v1/solutions"
- upstream_url: "{{ ml_core_service_url }}/v1/users/solutions"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTargetedSolutions
- uris: "{{ solutions_service_prefix }}/mlcore/v1/targetedSolutions"
- upstream_url: "{{ ml_core_service_url }}/v1/solutions/targetedSolutions"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getSolutionReportInformation
- uris: "{{ solutions_service_prefix }}/mlcore/v1/read"
- upstream_url: "{{ ml_core_service_url }}/v1/solutions/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userLocationScope
- uris: "{{ entities_service_prefix }}/mlcore/v1/subEntityListBasedOnRoleAndLocation"
- upstream_url: "{{ ml_core_service_url }}/v1/entities/subEntityListBasedOnRoleAndLocation"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - registryAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: mandatoryUserProfileFields
- uris: "{{ entities_service_prefix }}/mlcore/v1/entityTypesByLocationAndRole"
- upstream_url: "{{ ml_core_service_url }}/v1/users/entityTypesByLocationAndRole"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - registryAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationListEvidences
- uris: "{{ observations_service_prefix }}/mlreports/v1/listAllEvidences"
- upstream_url: "{{ ml_reports_service_url }}/v1/observations/listAllEvidences"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: locationListing
- uris: "{{ entities_service_prefix }}/mlcore/v1/subEntityList"
- upstream_url: "{{ ml_core_service_url }}/v1/entities/subEntityList"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - locationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTargetedEntity
- uris: "{{ users_service_prefix }}/mlcore/v1/targetedEntity"
- upstream_url: "{{ ml_core_service_url }}/v1/users/targetedEntity"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - registryAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectDetails
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/details"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/details"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectEntities
- uris: "{{ reports_service_prefix }}/mlprojects/v1/entity"
- upstream_url: "{{ ml_project_service_url }}/v1/reports/entity"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectDetailReport
- uris: "{{ reports_service_prefix }}/mlprojects/v1/detailView"
- upstream_url: "{{ ml_project_service_url }}/v1/reports/detailView"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectPrograms
- uris: "{{ reports_service_prefix }}/mlprojects/v1/getProgramsByEntity"
- upstream_url: "{{ ml_project_service_url }}/v1/reports/getProgramsByEntity"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateProject
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/sync"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/sync"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createProject
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/add"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/add"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectSolutionDetails
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/solutionDetails"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/solutionDetails"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectStatus
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/tasksStatus"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/tasksStatus"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: shareProject
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/share"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/share"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getProjectTemplatesDetails
- uris: "{{ project_service_prefix }}/mlprojects/v1/templates/details"
- upstream_url: "{{ ml_project_service_url }}/v1/project/templates/details"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listObservationEntities
- uris: "{{ observations_service_prefix }}/mlsurvey/v1/entities"
- upstream_url: "{{ ml_survey_service_url }}/v1/observations/entities"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationSubmissionsList
- uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/list"
- upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationQuestionList
- uris: "{{ observations_service_prefix }}/mlsurvey/v1/assessment"
- upstream_url: "{{ ml_survey_service_url }}/v1/observations/assessment"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateObservationSubmission
- uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/update"
- upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createObservationSubmission
- uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/create"
- upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchLocationEntities
- uris: "{{ observations_service_prefix }}/mlsurvey/v1/searchEntities"
- upstream_url: "{{ ml_survey_service_url }}/v1/observations/searchEntities"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - registryAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: addObservationEntity
- uris: "{{ observations_service_prefix }}/mlsurvey/v1/updateEntities"
- upstream_url: "{{ ml_survey_service_url }}/v1/observations/updateEntities"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationSolutionList
- uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/solutionList"
- upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/solutionList"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: surveyQuestionList
- uris: "{{ surveys_service_prefix }}/mlsurvey/v1/details"
- upstream_url: "{{ ml_survey_service_url }}/v1/surveys/details"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - surveyAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: solutionsVerifyLink
- uris: "{{ solutions_service_prefix }}/mlsurvey/v1/verifyLink"
- upstream_url: "{{ ml_survey_service_url }}/v1/solutions/verifyLink"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateSurveySubmission
- uris: "{{ surveySubmissions_service_prefix }}/mlsurvey/v1/update"
- upstream_url: "{{ ml_survey_service_url }}/v1/surveySubmissions/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - surveyUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationReports
- uris: "{{ reports_service_prefix }}/mlreports/v1/fetch"
- upstream_url: "{{ ml_reports_service_url }}/v1/reports/fetch"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: surveyListEvidences
- uris: "{{ surveys_service_prefix }}/mlreports/v1/listAllEvidences"
- upstream_url: "{{ ml_reports_service_url }}/v1/surveys/listAllEvidences"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - surveyAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: surveyReport
- uris: "{{ surveys_service_prefix }}/mlreports/v1/getAllResponsesOfQuestion"
- upstream_url: "{{ ml_reports_service_url }}/v1/surveys/getAllResponsesOfQuestion"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - surveyAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: observationSubmissionCount
- uris: "{{ observations_service_prefix }}/mlreports/v1/submissionsCount"
- upstream_url: "{{ ml_reports_service_url }}/v1/observations/submissionsCount"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - observationAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getFileUploadUrls
- uris: "{{ cloud_service_prefix }}/mlcore/v1/files/preSignedUrls"
- upstream_url: "{{ ml_core_service_url }}/v1/cloud-services/files/preSignedUrls"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - cloudUrlsCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listPlatformPrograms
- uris: "{{ user_extension_prefix }}/mlcore/v1/programsByPlatformRoles"
- upstream_url: "{{ ml_core_service_url }}/v1/user-extension/programsByPlatformRoles"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - programAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listPlatformSolutions
- uris: "{{ user_extension_prefix }}/mlcore/v1/solutions"
- upstream_url: "{{ ml_core_service_url }}/v1/user-extension/solutions"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getUserSegmentsUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/get"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createUserSegmentsUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/create"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateUserSegmentsUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/update"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteUserSegmentsUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/delete"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: userSegmentsQueryBuilderUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/queryBuilder"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/queryBuilder"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchUserSegmentsUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/userSegment/search"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/userSegment/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createAdapterUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/adapter/create"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/adapter/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAllAdapterUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/adapter/all"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/adapter/all"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAdapterUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/adapter/get"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/adapter/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteAdapterUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/adapter/delete"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/adapter/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateAdapterUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/adapter/update"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/adapter/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAllTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/transformer/all"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/transformer/all"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/transformer/create"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/transformer/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/transformer/get"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/transformer/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/transformer/update"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/transformer/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getFormsTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/transformer/getForms"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/transformer/getForms"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: uploadFormsTransformerUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/forms/upload"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/forms/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: "{{ large_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createConversationLogicUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/conversationLogic/create"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/conversationLogic/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAllConversationLogicUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/conversationLogic/all"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/conversationLogic/all"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getConversationLogicUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/conversationLogic/get"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/conversationLogic/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteConversationLogicUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/conversationLogic/delete"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/conversationLogic/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateConversationLogicUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/conversationLogic/update"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/conversationLogic/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/create"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAllBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/all"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/all"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/get"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: startBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/start"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/start"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: pauseBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/pause"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/pause"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/search"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/delete"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/update"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getAllUserForBotUCI
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/getAllUsers"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/getAllUsers"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: searchBotByStartingMessage
- uris: "{{ uci_admin_prefix }}/admin/v1/bot/getByParam"
- upstream_url: "{{ uci_admin_service_url }}/admin/v1/bot/getByParam"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: gqlUCI
- uris: "{{ uci_admin_prefix }}/uci-api/gql"
- upstream_url: "{{ uci_admin_service_url }}/v1/graphql"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: sendNotification
- uris: "{{ notification_service_prefix }}/v2/send"
- upstream_url: "{{ notification_service_url }}/v2/notification/send"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - sendNotification
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readNotificationFeed
- uris: "{{ notification_service_prefix }}/v1/feed/read"
- upstream_url: "{{ notification_service_url }}/v1/notification/feed/read"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - readNotificationFeed
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: updateNotificationFeed
- uris: "{{ notification_service_prefix }}/v1/feed/update"
- upstream_url: "{{ notification_service_url }}/v1/notification/feed/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - updateNotificationFeed
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: deleteNotificationFeed
- uris: "{{ notification_service_prefix }}/v1/feed/delete"
- upstream_url: "{{ notification_service_url }}/v1/notification/feed/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - deleteNotificationFeed
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: netcoreWhatsappInbound
- uris: "{{ uci_admin_prefix }}/inbound/netcore/whatsApp"
- upstream_url: "{{ uci_inbound_service_url }}/netcore/whatsApp"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - externalmessagingAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: VerifyLink
- uris: "{{ solutions_service_prefix }}/mlcore/v1/verifyLink"
- upstream_url: "{{ ml_core_service_url }}/v1/solutions/verifyLink"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: GetTemplateOrQuestions
- uris: "{{ solutions_service_prefix }}/mlcore/v1/details"
- upstream_url: "{{ ml_core_service_url }}/v1/solutions/details"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - solutionAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: CreateProjectFromTemplate
- uris: "{{ userProjects_service_prefix }}/mlprojects/v1/importFromLibrary"
- upstream_url: "{{ ml_project_service_url }}/v1/userProjects/importFromLibrary"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - projectUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateUserV3
- uris: "{{ user_service_prefix }}/v3/update"
- upstream_url: "{{ learning_service_url }}/v3/user/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: createContentV2
- uris: "{{ content_prefix }}/v2/create"
- upstream_url: "{{ content_service_url }}/content/v4/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateContentV2
- uris: "{{ content_prefix }}/v2/update"
- upstream_url: "{{ content_service_url }}/content/v4/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: readContentV2
- uris: "{{ content_prefix }}/v2/read"
- upstream_url: "{{ content_service_url }}/content/v4/read"
- strip_uri: true
- plugins:
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: uploadUrlContentV2
- uris: "{{ content_prefix }}/v2/upload/url"
- upstream_url: "{{ content_service_url }}/content/v4/upload/url"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: uploadContentV2
- uris: "{{ content_prefix }}/v2/upload"
- upstream_url: "{{ content_service_url }}/content/v4/upload"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: copyContentV2
- uris: "{{ content_prefix }}/v2/copy"
- upstream_url: "{{ content_service_url }}/content/v4/copy"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: importContentV2
- uris: "{{ content_prefix }}/v2/import"
- upstream_url: "{{ content_service_url }}/content/v4/import"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentCreate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ medium_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: flagContentV2
- uris: "{{ content_prefix }}/v2/flag"
- upstream_url: "{{ content_service_url }}/content/v4/flag"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: acceptFlagContentV2
- uris: "{{ content_prefix }}/v2/flag/accept"
- upstream_url: "{{ content_service_url }}/content/v4/flag/accept"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: discardContentV2
- uris: "{{ content_prefix }}/v2/discard"
- upstream_url: "{{ content_service_url }}/content/v4/discard"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: retireContentV2
- uris: "{{ content_prefix }}/v2/retire"
- upstream_url: "{{ content_service_url }}/content/v4/retire"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: reviewContentV2
- uris: "{{ content_prefix }}/v2/review"
- upstream_url: "{{ content_service_url }}/content/v4/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: rejectContentV2
- uris: "{{ content_prefix }}/v2/reject"
- upstream_url: "{{ content_service_url }}/content/v4/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: true
- config.enabled: true
-
-- name: linkDialcodeContentV2
- uris: "{{ content_prefix }}/v2/dialcode/link"
- upstream_url: "{{ content_service_url }}/content/v4/dialcode/link"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: reserveDialcodeContentV2
- uris: "{{ content_prefix }}/v2/dialcode/reserve"
- upstream_url: "{{ content_service_url }}/content/v4/dialcode/reserve"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionReview
- uris: "{{ collection_prefix }}/v1/review"
- upstream_url: "{{ content_service_url }}/collection/v4/review"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: collectionReject
- uris: "{{ collection_prefix }}/v1/reject"
- upstream_url: "{{ content_service_url }}/collection/v4/reject"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: acceptCollectionFlag
- uris: "{{ collection_prefix }}/v1/flag/accept"
- upstream_url: "{{ content_service_url }}/collection/v4/flag/accept"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - 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: opa-checks
- config.required: false
- config.enabled: false
-
-- name: reserveDialcodeCollection
- uris: "{{ collection_prefix }}/v1/dialcode/reserve"
- upstream_url: "{{ content_service_url }}/collection/v4/dialcode/reserve"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - contentUpdate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: listNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template/list"
- upstream_url: "{{ notification_service_url }}/v1/notification/template/list"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - getNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template/create"
- upstream_url: "{{ notification_service_url }}/v1/notification/template/create"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - createNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: deleteNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template/delete"
- upstream_url: "{{ notification_service_url }}/v1/notification/template/delete"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - deleteNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template/update"
- upstream_url: "{{ notification_service_url }}/v1/notification/template/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - updateNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: updateActionNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template/action/update"
- upstream_url: "{{ notification_service_url }}/v1/notification/template/action/update"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - updateNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: getActionNotificationTemplate
- uris: "{{ notification_service_prefix }}/v1/template"
- upstream_url: "{{ notification_service_url }}/v1/notification/template"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - getNotificationTemplate
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: false
- config.enabled: false
-
-- name: createRCCertificate
- uris: "{{ registry_service_prefix }}/certificate/v1/create"
- upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateCreate
- - name: rate-limiting
- config.policy: local
- 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.remove.headers: Authorization
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: searchRCCertificate
- uris: "{{ registry_service_prefix }}/certificate/v1/search"
- upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate/search"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - certificateAccess
- - name: rate-limiting
- config.policy: local
- 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.remove.headers: Authorization
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getRCCertificate
- uris: "{{ registry_service_prefix }}/certificate/v1/download"
- upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCertificateAccess
- - name: rate-limiting
- config.policy: local
- 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.remove.headers: Authorization
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getRCPublicKey
- uris: "{{ registry_service_prefix }}/certificate/v1/key"
- upstream_url: "{{ registry_service_url }}/api/v1/PublicKey"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - anonymousCertificateAccess
- - name: rate-limiting
- config.policy: local
- 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.remove.headers: Authorization
- - name: opa-checks
- config.required: true
- config.enabled: true
-
-- name: getReportDatasets
- uris: "{{ report_service_prefix }}/report/datasets/get"
- upstream_url: "{{ report_service_url }}/report/datasets/get"
- strip_uri: true
- plugins:
- - name: jwt
- - name: cors
- - "{{ statsd_pulgin }}"
- - name: acl
- config.whitelist:
- - reportsAccess
- - name: rate-limiting
- config.policy: local
- config.hour: "{{ medium_rate_limit_per_hour }}"
- config.limit_by: credential
- - name: request-size-limiting
- config.allowed_payload_size: "{{ small_request_size_limit }}"
- - name: opa-checks
- config.required: true
- config.enabled: true
+
+ - name: acceptContentFlag
+ uris: "{{ content_prefix }}/v1/flag/accept"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/accept"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: acceptTermsAndCondition
+ uris: "{{ user_service_prefix }}/v1/tnc/accept"
+ upstream_url: "{{ learning_service_url }}/v1/user/tnc/accept"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: addBadgeToUser
+ uris: "{{ user_service_prefix }}/v1/badges/add"
+ upstream_url: "{{ learning_service_url }}/v1/user/badges/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeCreate'
+ - name: 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: addMember
+ uris: "{{ org_service_prefix }}/v1/member/add"
+ upstream_url: "{{ learning_service_url }}/v1/org/member/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: addSystemSettings
+ uris: "{{ data_service_prefix }}/v1/system/settings/set"
+ upstream_url: "{{ learning_service_url }}/v1/system/settings/set"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: addUserSkill
+ uris: "{{ user_service_prefix }}/v1/skill/add"
+ upstream_url: "{{ learning_service_url }}/v1/user/skill/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate '
+ - name: 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
+ uris: "{{ user_service_prefix }}/v1/skill/endorse/add"
+ upstream_url: "{{ learning_service_url }}/v1/user/skill/endorse/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: 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: addUserToBatch
+ uris: "{{ course_service_prefix }}/v1/batch/user/add"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/users/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: assemblePage
+ uris: "{{ data_service_prefix }}/v1/page/assemble"
+ upstream_url: "{{ lms_service_url }}/v1/page/assemble"
+ strip_uri: 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: assignRole
+ uris: "{{ user_service_prefix }}/v1/role/assign"
+ upstream_url: "{{ learning_service_url }}/v1/user/assign/role"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: batchBulkEnrolment
+ uris: "{{ course_service_prefix }}/v1/batch/bulk/enrollment"
+ upstream_url: "{{ lms_service_url }}/v1/batch/bulk/enrollment"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ course_service_prefix }}/v1/batch/bulk/unenrollment"
+ upstream_url: "{{ lms_service_url }}/v1/batch/bulk/unenrollment"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/block"
+ upstream_url: "{{ learning_service_url }}/v1/user/block"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: checkUploadJobStatus
+ uris: "{{ data_service_prefix }}/v1/upload/status"
+ upstream_url: "{{ learning_service_url }}/v1/upload/status"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgSuperAdmin'
+ - 'userSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ composite_service_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAdmin'
+ - 'contentTempAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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: contentBadgeLink
+ uris: "{{ badge_service_prefix }}/v1/content/link"
+ upstream_url: "{{ lms_service_url }}/v1/content/link"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: contentBadgeUnLink
+ uris: "{{ badge_service_prefix }}/v1/content/unlink"
+ upstream_url: "{{ lms_service_url }}/v1/content/unlink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: copyContent
+ uris: "{{ content_prefix }}/v1/copy"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: copyFramework
+ uris: "{{ framework_service_prefix }}/v1/copy"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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: courseBatchAddCertificateTemplate
+ uris: "{{ course_service_prefix }}/batch/cert/v1/template/add"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ course_service_prefix }}/batch/cert/v1/template/remove"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/template/remove"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: courseEnrolment
+ uris: "{{ course_service_prefix }}/v1/enrol"
+ upstream_url: "{{ lms_service_url }}/v1/course/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: courseIssueCertificate
+ uris: "{{ course_service_prefix }}/batch/cert/v1/issue"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/cert/issue"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ course_service_prefix }}/v1/unenrol"
+ upstream_url: "{{ lms_service_url }}/v1/course/unenroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createAssertion
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/create"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeCreate'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/create"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeCreate'
+ - name: 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: createBatch
+ uris: "{{ course_service_prefix }}/v1/batch/create"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createCertTemplate
+ uris: "{{ cert_service_prefix }}/v1/template/create"
+ upstream_url: "{{ cert_service_url }}/cert/v1/template/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: 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: createChannel
+ uris: "{{ channel_service_prefix }}/v1/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'channelCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ content_prefix }}/v1/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createCourse
+ uris: "{{ course_service_prefix }}/v1/create"
+ upstream_url: "{{ lms_service_url }}/v1/course/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createData
+ uris: "{{ data_service_prefix }}/v1/object/create"
+ upstream_url: "{{ learning_service_url }}/v1/object/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectCreate'
+ - name: 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: createFramework
+ uris: "{{ framework_service_prefix }}/v1/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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: createFrameworkCategory
+ uris: "{{ framework_service_prefix }}/v1/category/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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
+ uris: "{{ framework_service_prefix }}/v1/term/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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: createissuer
+ uris: "{{ badge_service_prefix }}/v1/issuer/create"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeCreate'
+ - name: 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: createLocation
+ uris: "{{ org_service_prefix }}/v1/location/create"
+ upstream_url: "{{ learning_service_url }}/v1/notification/location/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ lock_service_prefix }}/v1/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createNote
+ uris: "{{ notes_service_prefix }}/v1/create"
+ upstream_url: "{{ learning_service_url }}/v1/note/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'noteCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ org_service_prefix }}/v1/create"
+ upstream_url: "{{ learning_service_url }}/v1/org/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createOrgType
+ uris: "{{ org_service_prefix }}/v1/type/create"
+ upstream_url: "{{ learning_service_url }}/v1/org/type/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgCreate'
+ - name: 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: createPage
+ uris: "{{ data_service_prefix }}/v1/page/create"
+ upstream_url: "{{ lms_service_url }}/v1/page/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/page/section/create"
+ upstream_url: "{{ lms_service_url }}/v1/page/section/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ dialcode_service_prefix }}/v1/publisher/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ sso_service_prefix }}/v1/create/session"
+ upstream_url: "{{ player_service_url }}/v1/sso/create/session"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'ssoAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/create"
+ upstream_url: "{{ learning_service_url }}/v1/user/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createUserLearnerV3
+ uris: "{{ user_service_prefix }}/v1/signup"
+ upstream_url: "{{ learning_service_url }}/v1/user/signup"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v2/create"
+ upstream_url: "{{ learning_service_url }}/v2/user/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createUserVersion3
+ uris: "{{ user_service_prefix }}/v3/create"
+ upstream_url: "{{ learning_service_url }}/v3/user/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createUserVersion4
+ uris: "{{ user_service_prefix }}/v4/create"
+ upstream_url: "{{ learning_service_url }}/v4/user/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: deleteBadgeClass
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/delete"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAdmin'
+ - name: 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
+ uris: "{{ data_service_prefix }}/v1/object/delete"
+ upstream_url: "{{ learning_service_url }}/v1/object/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectAdmin'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/delete"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAdmin'
+ - name: 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: deleteLocation
+ uris: "{{ org_service_prefix }}/v1/location/delete"
+ upstream_url: "{{ learning_service_url }}/v1/notification/location/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ notes_service_prefix }}/v1/delete"
+ upstream_url: "{{ learning_service_url }}/v1/note/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: deviceProfile
+ uris: "{{ device_prefix }}/profile"
+ upstream_url: "{{ analytics_api_service_url }}/v1/device/profile"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'deviceCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: deviceRegister
+ uris: "{{ device_prefix }}/register"
+ upstream_url: "{{ analytics_api_service_url }}/v1/device/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'deviceCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/dial/assemble"
+ upstream_url: "{{ lms_service_url }}/v1/dial/assemble"
+ strip_uri: 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: downloadCertificate
+ uris: "{{ user_service_prefix }}/v1/certs/download"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: downloadRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/download"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: downloadTOC
+ uris: "{{ textbook_service_prefix }}/v1/toc/download"
+ upstream_url: "{{ lms_service_url }}/v1/textbook/toc/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: echo
+ uris: "{{ echo_service_prefix }}"
+ upstream_url: "{{ echo_service_url }}"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'ssoCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: experimentcreate
+ uris: "{{ data_service_prefix }}/v1/experiement/create"
+ upstream_url: "{{ analytics_api_service_url }}/experiment/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'experimentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: experimentread
+ uris: "{{ data_service_prefix }}/v1/experiement/get"
+ upstream_url: "{{ analytics_api_service_url }}/experiment/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'expirementAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: fetchURLMetaInformation
+ uris: "{{ content_prefix }}/v1/fetchmeta"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/url/fetchmeta"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: flagContent
+ uris: "{{ content_prefix }}/v1/flag"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: freshDesk
+ uris: "{{ tickets_prefix }}/v1/create"
+ upstream_url: "{{ freshDesk_url }}/api/v2/tickets"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ dialcode_service_prefix }}/v1/generate"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/generate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ otp_service_prefix }}/v1/generate"
+ upstream_url: "{{ learning_service_url }}/v1/otp/generate"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: generateOtpV2
+ uris: "{{ otp_service_prefix }}/v2/generate"
+ upstream_url: "{{ learning_service_url }}/v2/otp/generate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getAllData
+ uris: "{{ data_service_prefix }}/v1/object/read/list"
+ upstream_url: "{{ learning_service_url }}/v1/object/read/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectAccess'
+ - name: 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: getAllIssuer
+ uris: "{{ badge_service_prefix }}/v1/issuer/list"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/read"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/search"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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: getAudienceCount
+ uris: "{{ data_service_prefix }}/v1/notification/audience"
+ upstream_url: "{{ learning_service_url }}/v1/notification/audience"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'announcementAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getBadgeClass
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/read"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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: getBatch
+ uris: "{{ course_service_prefix }}/v1/batch/read"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: collectionSummaryAgg
+ uris: "/v1/collection/summary"
+ upstream_url: "{{ lms_service_url }}/v1/collection/summary"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: getContentUploadUrl
+ uris: "{{ content_prefix }}/v1/upload/url/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload/url"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getCourseHierarchy
+ uris: "{{ course_service_prefix }}/v1/hierarchy"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/hierarchy"
+ strip_uri: 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: getUserByKeyV2
+ uris: "{{ user_service_prefix }}/v2/get"
+ upstream_url: "{{ learning_service_url }}/v2/user/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getData
+ uris: "{{ data_service_prefix }}/v1/object/read"
+ upstream_url: "{{ learning_service_url }}/v1/object/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectAccess'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/read"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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: getLocation
+ uris: "{{ org_service_prefix }}/v1/location/read"
+ upstream_url: "{{ learning_service_url }}/v1/notification/location/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getMediaTypes
+ uris: "{{ user_service_prefix }}/v1/mediatype/list"
+ upstream_url: "{{ learning_service_url }}/v1/user/mediatype/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: getPageSettings
+ uris: "{{ data_service_prefix }}/v1/page/read"
+ upstream_url: "{{ lms_service_url }}/v1/page/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ course_service_prefix }}/v1/batch/participants/list"
+ upstream_url: "{{ lms_service_url }}/v1/batch/participants/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getSkills
+ uris: "{{ data_service_prefix }}/v1/skills"
+ upstream_url: "{{ learning_service_url }}/v1/skills"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: getSystemSettings
+ uris: "{{ data_service_prefix }}/v1/system/settings/get"
+ upstream_url: "{{ learning_service_url }}/v1/system/settings/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ org_service_prefix }}/v1/tenant/info"
+ upstream_url: "{{ player_service_url }}/v1/tenant/info"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/upload/statusDownloadLink"
+ upstream_url: "{{ learning_service_url }}/v1/upload/statusDownloadLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgSuperAdmin'
+ - 'userSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/get"
+ upstream_url: "{{ learning_service_url }}/v1/user/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ dashboard_service_prefix }}/v1/consumption/user"
+ upstream_url: "{{ learning_service_url }}/v1/dashboard/consumption/user"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: getUserProfile
+ uris: "{{ user_service_prefix }}/v1/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v2/read"
+ upstream_url: "{{ learning_service_url }}/v2/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUserSkill
+ uris: "{{ user_service_prefix }}/v1/skill/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/skill/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: getUserType
+ uris: "{{ user_service_prefix }}/v1/type/list"
+ upstream_url: "{{ learning_service_url }}/v1/user/type/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: indexSync
+ uris: "{{ data_service_prefix }}/v1/index/sync"
+ upstream_url: "{{ learning_service_url }}/v1/data/sync"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAdmin'
+ - '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: ItemSetAPIs
+ uris: "{{ itemset_prefix }}/v1"
+ upstream_url: "{{ knowledge_mw_service_url }}/itemset/v1"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'itemSetAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: KongConsumerApi
+ uris: "{{ api_manager_perfix }}/v1/consumer"
+ upstream_url: "{{ am_util_url }}/v1/consumer"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'kongConsumerAdmin'
+ - 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: LicenseAPI
+ uris: "{{ license_api_prefix }}/v3"
+ upstream_url: "{{ content_service_url }}/license/v3"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: linkDialcodeContent
+ uris: "{{ dialcode_service_prefix }}/v1/content/link"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/content/link"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listAllBadges
+ uris: "{{ org_service_prefix }}/v1/badges/list"
+ upstream_url: "{{ learning_service_url }}/v1/badges/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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: listChannel
+ uris: "{{ channel_service_prefix }}/v1/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'channelAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchCourseBatches
+ uris: "{{ course_service_prefix }}/v1/batch/list"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listCourseEnrollments
+ uris: "{{ course_service_prefix }}/v1/user/enrollment/list"
+ upstream_url: "{{ lms_service_url }}/v1/user/courses/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listUserCourseEnrollments
+ uris: "{{ course_service_prefix }}/v2/user/enrollment/list"
+ upstream_url: "{{ lms_service_url }}/v2/user/courses/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listUserCourseEnrollmentsV3
+ uris: "{{ course_service_prefix }}/v3/user/enrollment/list"
+ upstream_url: "{{ lms_service_url }}/v2/user/courses/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: listDialcodes
+ uris: "{{ dialcode_service_prefix }}/v1/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listFramework
+ uris: "{{ framework_service_prefix }}/v1/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: listLock
+ uris: "{{ lock_service_prefix }}/v1/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listOrdinals
+ uris: "{{ meta_service_prefix }}/v1/ordinals/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/ordinals/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listOrgTypes
+ uris: "{{ org_service_prefix }}/v1/type/list"
+ upstream_url: "{{ learning_service_url }}/v1/org/type/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgAccess'
+ - name: 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: listPageSections
+ uris: "{{ data_service_prefix }}/v1/page/section/list"
+ upstream_url: "{{ lms_service_url }}/v1/page/section/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ meta_service_prefix }}/v1/resourcebundles/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/resourcebundles/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listSystemSettings
+ uris: "{{ data_service_prefix }}/v1/system/settings/list"
+ upstream_url: "{{ learning_service_url }}/v1/system/settings/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listTerms
+ uris: "{{ meta_service_prefix }}/v1/terms/list"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/terms/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: masterLocationCreate
+ uris: "{{ data_service_prefix }}/v1/location/create"
+ upstream_url: "{{ learning_service_url }}/v1/location/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationCreate'
+ - name: 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: masterLocationDelete
+ uris: "{{ data_service_prefix }}/v1/location/delete"
+ upstream_url: "{{ learning_service_url }}/v1/location/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: masterLocationSearch
+ uris: "{{ data_service_prefix }}/v1/location/search"
+ upstream_url: "{{ learning_service_url }}/v1/location/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationAccess'
+ - name: 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
+ uris: "{{ data_service_prefix }}/v1/location/update"
+ upstream_url: "{{ learning_service_url }}/v1/location/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationUpdate'
+ - name: 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
+ uris: "{{ data_service_prefix }}/v1/bulk/location/upload"
+ upstream_url: "{{ learning_service_url }}/v1/bulk/location/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationSuperAdmin'
+ - name: 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: mergeUserAccounts
+ uris: "{{ user_service_prefix }}/v1/account/merge"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/account/merge"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: metricsSearchData
+ uris: "{{ data_service_prefix }}/v1/object/metrics"
+ upstream_url: "{{ learning_service_url }}/v1/object/metrics"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectAdmin'
+ - name: 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
+ uris: "{{ org_service_prefix }}/v1/assign/key"
+ upstream_url: "{{ learning_service_url }}/v1/org/assign/key"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: orgBulkUpload
+ uris: "{{ org_service_prefix }}/v1/upload"
+ upstream_url: "{{ learning_service_url }}/v1/org/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgSuperAdmin'
+ - name: 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: pluginSearch
+ uris: "{{ plugin_service_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/plugins/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pluginAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ private_content_prefix }}/v3/create"
+ upstream_url: "{{ content_service_url }}/content/v3/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: 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: PrivateContentReadAPIs
+ uris: "{{ private_content_prefix }}/v3/read"
+ upstream_url: "{{ content_service_url }}/content/v3/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ private_content_prefix }}/v3/update"
+ upstream_url: "{{ content_service_url }}/content/v3/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ x_large_request_size_limit }}"
+
+ - name: PrivateContentRetireAPI
+ uris: "{{ private_content_prefix }}/v3/retire"
+ upstream_url: "{{ vm_learning_service_url }}/content/v3/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: PrivateContentUploadAPI
+ uris: "{{ private_content_prefix }}/v3/upload"
+ upstream_url: "{{ content_service_url }}/content/v3/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ x_large_request_size_limit }}"
+
+ - name: PrivateContentReviewAPI
+ uris: "{{ private_content_prefix }}/v3/review"
+ upstream_url: "{{ vm_learning_service_url }}/content/v3/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: PrivateContentPublishAPI
+ uris: "{{ private_content_prefix }}/v3/publish"
+ upstream_url: "{{ vm_learning_service_url }}/content/v3/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: PrivateContentRejectAPI
+ uris: "{{ private_content_prefix }}/v3/reject"
+ upstream_url: "{{ vm_learning_service_url }}/content/v3/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: PrivateContentHierarchyAPI
+ uris: "{{ private_content_prefix }}/v3/hierarchy"
+ upstream_url: "{{ content_service_url }}/content/v3/hierarchy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: privateUserAssignRole
+ uris: "{{ user_service_prefix }}/private/v1/assign/role"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/assign/role"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: privateUserRead
+ uris: "{{ user_service_prefix }}/private/v1/read"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userSuperAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: privateUserUpdate
+ uris: "{{ user_service_prefix }}/private/v1/update"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/profile/visibility"
+ upstream_url: "{{ learning_service_url }}/v1/user/profile/visibility"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readDialcodeV2
+ uris: "{{ dialcode_service_prefix }}/v2/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v2/dialcode/read"
+ strip_uri: 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: readForm
+ uris: "{{ data_service_prefix }}/v1/form/read"
+ upstream_url: "{{ player_service_url }}/plugin/v1/form/read"
+ strip_uri: 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: publishContent
+ uris: "{{ content_prefix }}/v1/publish"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: publishCourse
+ uris: "{{ course_service_prefix }}/v1/publish"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: publishDialcode
+ uris: "{{ dialcode_service_prefix }}/v1/publish"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: publishFramework
+ uris: "{{ framework_service_prefix }}/v1/publish"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAdmin'
+ - 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: qrCodeBatchProcessRetry
+ uris: "{{ dialcode_service_prefix }}/v1/process/retry"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/retry"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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
+ uris: "{{ dialcode_service_prefix }}/v1/process/status"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/process/status"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: qrCodeDownload
+ uris: "{{ course_service_prefix }}/v1/qrcode/download"
+ upstream_url: "{{ lms_service_url }}/v1/course/qrcode/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readCertTemplate
+ uris: "{{ cert_service_prefix }}/v1/template/read"
+ upstream_url: "{{ cert_service_url }}/cert/v1/template/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: 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: readChannel
+ uris: "{{ channel_service_prefix }}/v1/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/read"
+ strip_uri: 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: readUserSpecificRole
+ uris: "{{ user_service_prefix }}/v1/role/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/role/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/profile/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/getuser"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ content_prefix }}/v1/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/read"
+ strip_uri: 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: readContentState
+ uris: "{{ course_service_prefix }}/v1/content/state/read"
+ upstream_url: "{{ lms_service_url }}/v1/content/state/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readCourse
+ uris: "{{ course_service_prefix }}/v1/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readCourseEnrollment
+ uris: "{{ course_service_prefix }}/v1/user/enrollment/read"
+ upstream_url: "{{ lms_service_url }}/v1/user/courses/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readDialcode
+ uris: "{{ dialcode_service_prefix }}/v1/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/form/read"
+ upstream_url: "{{ player_service_url }}/plugin/v1/form/read"
+ strip_uri: 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: readFramework
+ uris: "{{ framework_service_prefix }}/v1/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/read"
+ strip_uri: 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: readFrameworkCategory
+ uris: "{{ framework_service_prefix }}/v1/category/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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
+ uris: "{{ framework_service_prefix }}/v1/term/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: readNote
+ uris: "{{ notes_service_prefix }}/v1/read"
+ upstream_url: "{{ learning_service_url }}/v1/note/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'noteAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ org_service_prefix }}/v1/read"
+ upstream_url: "{{ learning_service_url }}/v1/org/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/page/section/read"
+ upstream_url: "{{ lms_service_url }}/v1/page/section/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ dialcode_service_prefix }}/v1/publisher/read"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/role/read"
+ upstream_url: "{{ learning_service_url }}/v1/role/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/profile/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/getuser"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerDesktopApp
+ uris: "{{ api_manager_perfix }}/v1/consumer/desktop_app/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/desktop_app/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'desktopSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerDesktopDevice
+ uris: "{{ api_manager_perfix }}/v1/consumer/desktop_device/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/desktop_device/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'desktopAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerDesktopDevicev2
+ uris: "{{ api_manager_perfix }}/v2/consumer/desktop_device/credential/register"
+ upstream_url: "{{ am_util_url }}/v2/consumer/desktop_device/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'desktopAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ lock_service_prefix }}/v1/refresh"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/refresh"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: refreshToken
+ uris: "{{ auth_service_prefix }}/v1/refresh/token"
+ upstream_url: "{{ am_util_url }}/v1/auth/refresh/token"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'refreshTokenCreate'
+ - 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: registerMobileApp
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app_openrap/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_openrap/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileOpenRAPSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_app_teacheraid/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_app_teacheraid/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileTeacherAidSuperAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerMobileDevice
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerMobileDevicev2
+ uris: "{{ api_manager_perfix }}/v2/consumer/mobile_device/credential/register"
+ upstream_url: "{{ am_util_url }}/v2/consumer/mobile_device/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device_openrap/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_openrap/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileOpenRAPAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ api_manager_perfix }}/v1/consumer/mobile_device_teacheraid/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/mobile_device_teacheraid/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mobileTeacherAidAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ content_prefix }}/v1/reject"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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
+ uris: "{{ content_prefix }}/v1/flag/reject"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/flag/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: releaseDialcode
+ uris: "{{ dialcode_service_prefix }}/v1/release"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/release"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: removeMember
+ uris: "{{ org_service_prefix }}/v1/member/remove"
+ upstream_url: "{{ learning_service_url }}/v1/org/member/remove"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: removeUserFromBatch
+ uris: "{{ course_service_prefix }}/v1/batch/user/remove"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/users/remove"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: reserveDialcode
+ uris: "{{ dialcode_service_prefix }}/v1/reserve"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/reserve"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: retireContent
+ uris: "{{ content_prefix }}/v1/retire"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: retireCourse
+ uris: "{{ course_service_prefix }}/v1/retire"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: retireLock
+ uris: "{{ lock_service_prefix }}/v1/retire"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/lock/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: revokeAssertion
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/assertion/delete"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/assertion/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAdmin'
+ - name: 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
+ uris: "{{ badge_service_prefix }}/v1/issuer/badge/search"
+ upstream_url: "{{ learning_service_url }}/v1/issuer/badge/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'badgeAccess'
+ - name: 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: searchChannel
+ uris: "{{ channel_service_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'channelAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ content_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/search"
+ strip_uri: 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: searchCourse
+ uris: "{{ course_service_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchData
+ uris: "{{ data_service_prefix }}/v1/object/search"
+ upstream_url: "{{ learning_service_url }}/v1/object/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectAdmin'
+ - 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: searchDialcodes
+ uris: "{{ dialcode_service_prefix }}/v1/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dialcodeAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchFrameworkCategory
+ uris: "{{ framework_service_prefix }}/v1/category/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: searchFrameworkTerm
+ uris: "{{ framework_service_prefix }}/v1/term/search"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: searchNotes
+ uris: "{{ notes_service_prefix }}/v1/search"
+ upstream_url: "{{ learning_service_url }}/v1/note/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'noteAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchOrgExtended
+ uris: "{{ org_service_prefix }}/v1/ext/search"
+ upstream_url: "{{ learning_service_url }}/v1/org/search"
+ strip_uri: 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: updateDialcodeV2
+ uris: "{{ dialcode_service_prefix }}/v2/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v2/dialcode/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateForm
+ uris: "{{ data_service_prefix }}/v1/form/update"
+ upstream_url: "{{ player_service_url }}/plugin/v1/form/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'formUpdate'
+ - name: 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: searchOrg
+ uris: "{{ org_service_prefix }}/v1/search"
+ upstream_url: "{{ learning_service_url }}/v1/org/search"
+ strip_uri: 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: searchUser
+ uris: "{{ user_service_prefix }}/v1/search"
+ upstream_url: "{{ learning_service_url }}/v1/user/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userTempAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/notification/email"
+ upstream_url: "{{ learning_service_url }}/v1/notification/email"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: sendNotification
+ uris: "{{ data_service_prefix }}/v1/notification/send"
+ upstream_url: "{{ learning_service_url }}/v1/notification/send"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: submitContentForReview
+ uris: "{{ content_prefix }}/v1/review"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: submitCourseForReview
+ uris: "{{ course_service_prefix }}/v1/review"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: telemetry
+ uris: "{{ data_service_prefix }}/v1/telemetry"
+ upstream_url: "{{ telemetry_service_url }}/v1/telemetry"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'telemetryCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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: telemetryErrorLogging
+ uris: "{{ data_service_prefix }}/v1/client/logs"
+ upstream_url: "{{ analytics_api_service_url }}/data/v1/client/logs"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'telemetryCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/unblock"
+ upstream_url: "{{ learning_service_url }}/v1/user/unblock"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateBatch
+ uris: "{{ course_service_prefix }}/v1/batch/update"
+ upstream_url: "{{ lms_service_url }}/v1/course/batch/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateCertTemplate
+ uris: "{{ cert_service_prefix }}/v1/template/update"
+ upstream_url: "{{ cert_service_url }}/cert/v1/template/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateUpdate'
+ - name: 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: updateChannel
+ uris: "{{ channel_service_prefix }}/v1/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/channel/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'channelUpdate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ content_prefix }}/v1/collaborator/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/collaborator/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateContent
+ uris: "{{ content_prefix }}/v1/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateContentState
+ uris: "{{ course_service_prefix }}/v1/content/state/update"
+ upstream_url: "{{ lms_service_url }}/v1/content/state/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateCourse
+ uris: "{{ course_service_prefix }}/v1/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateCourseHierarchy
+ uris: "{{ course_service_prefix }}/v1/hierarchy/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/course/hierarchy/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateData
+ uris: "{{ data_service_prefix }}/v1/object/update"
+ upstream_url: "{{ learning_service_url }}/v1/object/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'objectUpdate'
+ - name: 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: updateDesktopApp
+ uris: "{{ desktop_app_prefix }}/v1/update"
+ upstream_url: "{{ player_service_url }}/v1/desktop/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAccess'
+ - 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: updateDialcode
+ uris: "{{ dialcode_service_prefix }}/v1/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateForm
+ uris: "{{ data_service_prefix }}/v1/form/update"
+ upstream_url: "{{ player_service_url }}/plugin/v1/form/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'formUpdate'
+ - name: 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: updateFramework
+ uris: "{{ framework_service_prefix }}/v1/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - 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
+ uris: "{{ framework_service_prefix }}/v1/category/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/category/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - 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
+ uris: "{{ framework_service_prefix }}/v1/term/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/framework/term/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - 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: verifyOtpV2
+ uris: "{{ otp_service_prefix }}/v2/verify"
+ upstream_url: "{{ learning_service_url }}/v2/otp/verify"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/verify"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/verify"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateLocation
+ uris: "{{ org_service_prefix }}/v1/location/update"
+ upstream_url: "{{ learning_service_url }}/v1/notification/location/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'locationUpdate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ notes_service_prefix }}/v1/update"
+ upstream_url: "{{ learning_service_url }}/v1/note/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateOrg
+ uris: "{{ org_service_prefix }}/v1/update"
+ upstream_url: "{{ learning_service_url }}/v1/org/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateOrgStatus
+ uris: "{{ org_service_prefix }}/v1/status/update"
+ upstream_url: "{{ learning_service_url }}/v1/org/status/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateOrgType
+ uris: "{{ org_service_prefix }}/v1/type/update"
+ upstream_url: "{{ learning_service_url }}/v1/org/type/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updatePage
+ uris: "{{ data_service_prefix }}/v1/page/update"
+ upstream_url: "{{ lms_service_url }}/v1/page/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageUpdate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ data_service_prefix }}/v1/page/section/update"
+ upstream_url: "{{ lms_service_url }}/v1/page/section/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'pageUpdate'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ dialcode_service_prefix }}/v1/publisher/update"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/dialcode/publisher/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateUser
+ uris: "{{ user_service_prefix }}/v1/update"
+ upstream_url: "{{ learning_service_url }}/v1/user/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateUserloginTime
+ uris: "{{ user_service_prefix }}/v1/update/logintime"
+ upstream_url: "{{ learning_service_url }}/v1/user/update/logintime"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateUserSkill
+ uris: "{{ user_service_prefix }}/v1/skill/update"
+ upstream_url: "{{ learning_service_url }}/v1/user/skill/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: uploadContent
+ uris: "{{ content_prefix }}/v1/upload"
+ upstream_url: "{{ knowledge_mw_service_url }}/v1/content/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: searchRegCertificateV2
+ uris: "{{ cert_registry_service_prefix }}/v2/certs/search"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/read"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: uploadCrashLogs
+ uris: "{{ desktop_app_prefix }}/v1/upload-crash-logs"
+ upstream_url: "{{ player_service_url }}/v1/desktop/upload-crash-logs"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'telemetryCreate'
+ - 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: uploadTOC
+ uris: "{{ textbook_service_prefix }}/v1/toc/upload"
+ upstream_url: "{{ lms_service_url }}/v1/textbook/toc/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: userBulkUpload
+ uris: "{{ user_service_prefix }}/v1/upload"
+ upstream_url: "{{ learning_service_url }}/v1/user/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: UserBulkUploadv2
+ uris: "{{ user_service_prefix }}/v2/bulk/upload"
+ upstream_url: "{{ learning_service_url }}/v2/bulk/user/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: userExistenceApi
+ uris: "{{ user_service_prefix }}/v1/exists"
+ upstream_url: "{{ learning_service_url }}/v1/user/exists"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userExistenceApiV2
+ uris: "{{ user_service_prefix }}/v2/exists"
+ upstream_url: "{{ learning_service_url }}/v2/user/exists"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userFeed
+ uris: "{{ user_service_prefix }}/v1/feed"
+ upstream_url: "{{ learning_service_url }}/v1/user/feed"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userFeedCreate
+ uris: "{{ user_service_prefix }}/feed/v1/create"
+ upstream_url: "{{ learning_service_url }}/v1/user/feed/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userFeedDelete
+ uris: "{{ user_service_prefix }}/feed/v1/delete"
+ upstream_url: "{{ learning_service_url }}/v1/user/feed/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userFeedUpdate
+ uris: "{{ user_service_prefix }}/feed/v1/update"
+ upstream_url: "{{ learning_service_url }}/v1/user/feed/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v1/migrate"
+ upstream_url: "{{ learning_service_url }}/v1/user/migrate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: validateRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/validate"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/validate"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ otp_service_prefix }}/v1/verify"
+ upstream_url: "{{ learning_service_url }}/v1/otp/verify"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/verify"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/verify"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readUserConsentV2
+ uris: "{{ user_service_prefix }}/v2/consent/read"
+ upstream_url: "{{ learning_service_url }}/v2/user/consent/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: "channelSpecificTelemetryExhaust"
+ uris: "{{ data_service_prefix }}/v3/dataset/get"
+ upstream_url: "{{ analytics_api_service_url }}/dataset/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "publicDataExhaust"
+ uris: "{{ dataset_service_prefix }}/get"
+ upstream_url: "{{ analytics_api_service_url }}/public/dataset/get"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "submitDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/submit"
+ upstream_url: "{{ analytics_api_service_url }}/request/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "getDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/read"
+ upstream_url: "{{ analytics_api_service_url }}/request/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "listDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/list"
+ upstream_url: "{{ analytics_api_service_url }}/request/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "addDataset"
+ uris: "{{ dataset_service_prefix }}/v1/add"
+ upstream_url: "{{ analytics_api_service_url }}/dataset/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "listDataset"
+ uris: "{{ dataset_service_prefix }}/v1/list"
+ upstream_url: "{{ analytics_api_service_url }}/dataset/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerIgotApp
+ uris: "{{ api_manager_perfix }}/v1/consumer/igot_app/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/igot_app/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'igotAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: registerIgotDevice
+ uris: "{{ api_manager_perfix }}/v1/consumer/igot_device/credential/register"
+ upstream_url: "{{ am_util_url }}/v1/consumer/igot_device/credential/register"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'igotApp'
+ - 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: listReports
+ uris: "{{ report_service_prefix }}/report/list"
+ upstream_url: "{{ report_service_url }}/report/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getReport
+ uris: "{{ report_service_prefix }}/report/get"
+ upstream_url: "{{ report_service_url }}/report/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateReport
+ uris: "{{ report_service_prefix }}/report/update"
+ upstream_url: "{{ report_service_url }}/report/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsUpdate'
+ - 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: deleteReport
+ uris: "{{ report_service_prefix }}/report/delete"
+ upstream_url: "{{ report_service_url }}/report/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAdmin'
+ - 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: createReport
+ uris: "{{ report_service_prefix }}/report/create"
+ upstream_url: "{{ report_service_url }}/report/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: contentImportAPI
+ uris: "{{ content_prefix }}/v1/import"
+ upstream_url: "{{ content_service_url }}/content/v3/import"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createReportSummary
+ uris: "{{ report_service_prefix }}/report/summary/create"
+ upstream_url: "{{ report_service_url }}/report/summary/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getReportSummary
+ uris: "{{ report_service_prefix }}/report/summary"
+ upstream_url: "{{ report_service_url }}/report/summary"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listReportSummary
+ uris: "{{ report_service_prefix }}/report/summary/list"
+ upstream_url: "{{ report_service_url }}/report/summary/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/search"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/read"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: forgotPassword
+ uris: "{{ learner_private_route_prefix }}/user/v1/password/reset"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/password/reset"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - 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: publishReport
+ uris: "{{ report_service_prefix }}/report/publish"
+ upstream_url: "{{ report_service_url }}/report/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAdmin'
+ - 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: retireReport
+ uris: "{{ report_service_prefix }}/report/retire"
+ upstream_url: "{{ report_service_url }}/report/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'reportsAdmin'
+ - 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: searchManagedUser
+ uris: "{{ user_service_prefix }}/v1/managed"
+ upstream_url: "{{ learning_service_url }}/v1/user/managed"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createGroup
+ uris: "{{ group_service_prefix }}/v1/create"
+ upstream_url: "{{ group_service_url }}/v1/group/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateGroup
+ uris: "{{ group_service_prefix }}/v1/update"
+ upstream_url: "{{ group_service_url }}/v1/group/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listGroup
+ uris: "{{ group_service_prefix }}/v1/list"
+ upstream_url: "{{ group_service_url }}/v1/group/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readGroup
+ uris: "{{ group_service_prefix }}/v1/read"
+ upstream_url: "{{ group_service_url }}/v1/group/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: deleteGroup
+ uris: "{{ group_service_prefix }}/v1/delete"
+ upstream_url: "{{ group_service_url }}/v1/group/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateGroupMembership
+ uris: "{{ group_service_prefix }}/membership/v1/update"
+ upstream_url: "{{ group_service_url }}/v1/group/membership/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: groupActivityAgg
+ uris: "{{ data_service_prefix }}/v1/group/activity/agg"
+ upstream_url: "{{ lms_service_url }}/v1/group/activity/agg"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'groupAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listForm
+ uris: "{{ data_service_prefix }}/v1/form/list"
+ upstream_url: "{{ player_service_url }}/plugin/v1/form/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'appAdmin'
+ - 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: getUserProfileV3
+ uris: "{{ user_service_prefix }}/v3/read"
+ upstream_url: "{{ learning_service_url }}/v3/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateUserDeclarations
+ uris: "{{ user_service_prefix }}/v1/declarations"
+ upstream_url: "{{ learning_service_url }}/v1/user/declarations"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: copyAsset
+ uris: "{{ asset_prefix }}/v1/copy"
+ upstream_url: "{{ content_service_url }}/asset/v4/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateUserConsent
+ uris: "{{ user_service_prefix }}/v1/consent/update"
+ upstream_url: "{{ learning_service_url }}/v1/user/consent/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: readUserConsent
+ uris: "{{ user_service_prefix }}/v1/consent/read"
+ upstream_url: "{{ learning_service_url }}/v1/user/consent/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: "channelSpecificTelemetryExhaust"
+ uris: "{{ data_service_prefix }}/v3/dataset/get"
+ upstream_url: "{{ analytics_api_service_url }}/dataset/get"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "submitDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/submit"
+ upstream_url: "{{ analytics_api_service_url }}/request/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "getDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/read"
+ upstream_url: "{{ analytics_api_service_url }}/request/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "listDataExhaustRequest"
+ uris: "{{ dataset_service_prefix }}/v1/request/list"
+ upstream_url: "{{ analytics_api_service_url }}/request/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createTenantPreferences
+ uris: "{{ org_service_prefix }}/v2/preferences/create"
+ upstream_url: "{{ learning_service_url }}/v2/org/preferences/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: updateTenantPreferences
+ uris: "{{ org_service_prefix }}/v2/preferences/update"
+ upstream_url: "{{ learning_service_url }}/v2/org/preferences/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: readTenantPreferencess
+ uris: "{{ org_service_prefix }}/v2/preferences/read"
+ upstream_url: "{{ learning_service_url }}/v2/org/preferences/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'orgAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: generateCertificateV2
+ uris: "{{ cert_service_prefix }}/v2/certs/generate"
+ upstream_url: "{{ cert_service_url }}/v2/certs/generate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: 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: addRegCertificateV2
+ uris: "{{ cert_registry_service_prefix }}/v2/certs/add"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: downloadRegCertificateV2
+ uris: "{{ cert_registry_service_prefix }}/v2/certs/download"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v2/registry/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: contentImportAPI
+ uris: "{{ content_prefix }}/v1/import"
+ upstream_url: "{{ content_service_url }}/content/v3/import"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: druidGetUpdateListReport
+ uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}"
+ upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'druidReportAdmin'
+ - 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: druidDeactivateReport
+ uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}/deactivate"
+ upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}/deactivate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'druidReportAdmin'
+ - 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: druidCreateReport
+ uris: "{{ data_service_prefix }}/v1{{ analytics_report_service_prefix }}/submit"
+ upstream_url: "{{ analytics_api_service_url }}{{ analytics_report_service_prefix }}/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'druidReportCreate'
+ - name: 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: addRegCertificate
+ uris: "{{ cert_registry_service_prefix }}/v1/certs/add"
+ upstream_url: "{{ cert_registry_service_url }}/certs/v1/registry/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: collectionCopy
+ uris: "{{ collection_prefix }}/v1/copy"
+ upstream_url: "{{ content_service_url }}/collection/v4/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: generateCertificate
+ uris: "{{ cert_service_prefix }}/v1/certs/generate"
+ upstream_url: "{{ cert_service_url }}/v1/certs/generate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: 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: createObjectCategory
+ uris: "{{ object_category_prefix }}/v1/create"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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: readObjectCategory
+ uris: "{{ object_category_prefix }}/v1/read"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: updateObjectCategory
+ uris: "{{ object_category_prefix }}/v1/update"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - 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: createObjectCategoryDefinition
+ uris: "{{ object_category_definition_prefix }}/v1/create"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkCreate'
+ - 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: readObjectCategoryDefinition
+ uris: "{{ object_category_definition_prefix }}/v1/read"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkAccess'
+ - 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: updateObjectCategoryDefinition
+ uris: "{{ object_category_definition_prefix }}/v1/update"
+ upstream_url: "{{ taxonomy_service_url }}/object/category/definition/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - 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: createAsset
+ uris: "{{ asset_prefix }}/v1/create"
+ upstream_url: "{{ content_service_url }}/asset/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateAsset
+ uris: "{{ asset_prefix }}/v1/update"
+ upstream_url: "{{ content_service_url }}/asset/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readAsset
+ uris: "{{ asset_prefix }}/v1/read"
+ upstream_url: "{{ content_service_url }}/asset/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: uploadAsset
+ uris: "{{ asset_prefix }}/v1/upload"
+ upstream_url: "{{ content_service_url }}/asset/v4/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: uploadUrlAsset
+ uris: "{{ asset_prefix }}/v1/upload/url"
+ upstream_url: "{{ content_service_url }}/asset/v4/upload/url"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: retireAsset
+ uris: "{{ asset_prefix }}/v1/retire"
+ upstream_url: "{{ content_service_url }}/asset/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: collectionCreate
+ uris: "{{ collection_prefix }}/v1/create"
+ upstream_url: "{{ content_service_url }}/collection/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionRead
+ uris: "{{ collection_prefix }}/v1/read"
+ upstream_url: "{{ content_service_url }}/collection/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionUpdate
+ uris: "{{ collection_prefix }}/v1/update"
+ upstream_url: "{{ content_service_url }}/collection/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionFlag
+ uris: "{{ collection_prefix }}/v1/flag"
+ upstream_url: "{{ content_service_url }}/collection/v4/flag"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: collectionDiscard
+ uris: "{{ collection_prefix }}/v1/discard"
+ upstream_url: "{{ content_service_url }}/collection/v4/discard"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: collectionRetire
+ uris: "{{ collection_prefix }}/v1/retire"
+ upstream_url: "{{ content_service_url }}/collection/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: collectionHierarchyAdd
+ uris: "{{ collection_prefix }}/v1/hierarchy/add"
+ upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionHierarchyRemove
+ uris: "{{ collection_prefix }}/v1/hierarchy/remove"
+ upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/remove"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionHierarchyUpdate
+ uris: "{{ collection_prefix }}/v1/hierarchy/update"
+ upstream_url: "{{ content_service_url }}/collection/v4/hierarchy/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionHierarchyRead
+ uris: "{{ collection_prefix }}/v1/hierarchy"
+ upstream_url: "{{ content_service_url }}/collection/v4/hierarchy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+
+ - name: collectionDialcodeLink
+ uris: "{{ collection_prefix }}/v1/dialcode/link"
+ upstream_url: "{{ content_service_url }}/collection/v4/dialcode/link"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: collectionCopy
+ uris: "{{ collection_prefix }}/v1/copy"
+ upstream_url: "{{ content_service_url }}/collection/v4/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionCreate
+ uris: "{{ question_prefix }}/v1/create"
+ upstream_url: "{{ assessment_service_url }}/question/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionRead
+ uris: "{{ question_prefix }}/v1/read"
+ upstream_url: "{{ assessment_service_url }}/question/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionUpdate
+ uris: "{{ question_prefix }}/v1/update"
+ upstream_url: "{{ assessment_service_url }}/question/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionRetire
+ uris: "{{ question_prefix }}/v1/retire"
+ upstream_url: "{{ assessment_service_url }}/question/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: questionReview
+ uris: "{{ question_prefix }}/v1/review"
+ upstream_url: "{{ assessment_service_url }}/question/v4/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: questionPublish
+ uris: "{{ question_prefix }}/v1/publish"
+ upstream_url: "{{ assessment_service_url }}/question/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionList
+ uris: "{{ question_prefix }}/v1/list"
+ upstream_url: "{{ assessment_service_url }}/question/v4/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetCreate
+ uris: "{{ questionset_prefix }}/v1/create"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetRead
+ uris: "{{ questionset_prefix }}/v1/read"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetUpdate
+ uris: "{{ questionset_prefix }}/v1/update"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetRetire
+ uris: "{{ questionset_prefix }}/v1/retire"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: questionSetReview
+ uris: "{{ questionset_prefix }}/v1/review"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: questionSetPublish
+ uris: "{{ questionset_prefix }}/v1/publish"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: questionSetUpdateHierarchy
+ uris: "{{ questionset_prefix }}/v1/hierarchy/update"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/hierarchy/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetReadHierarchy
+ uris: "{{ questionset_prefix }}/v1/hierarchy"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/hierarchy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: questionSetReject
+ uris: "{{ questionset_prefix }}/v1/reject"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createEvent
+ uris: "{{ event_prefix }}/v4/create"
+ upstream_url: "{{ content_service_url }}/event/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readEvent
+ uris: "{{ event_prefix }}/v4/read"
+ upstream_url: "{{ content_service_url }}/event/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: managedUserV1Create
+ uris: "{{ user_service_prefix }}/v1/managed/create"
+ upstream_url: "{{ learning_service_url }}/v1/manageduser/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: managedUserV2Create
+ uris: "{{ user_service_prefix }}/v2/managed/create"
+ upstream_url: "{{ learning_service_url }}/v2/manageduser/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: 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: ssoUserV1Create
+ uris: "{{ user_service_prefix }}/v1/sso/create"
+ upstream_url: "{{ learning_service_url }}/v1/ssouser/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserCreate'
+ - name: 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: ssoUserV2Create
+ uris: "{{ user_service_prefix }}/v2/signup"
+ upstream_url: "{{ learning_service_url }}/v2/user/signup"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserCreate'
+ - name: 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: getUserProfileV4
+ uris: "{{ user_service_prefix }}/v4/read"
+ upstream_url: "{{ learning_service_url }}/v4/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUserProfileV5
+ uris: "{{ user_service_prefix }}/v5/read"
+ upstream_url: "{{ learning_service_url }}/v5/user/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchUserV2
+ uris: "{{ user_service_prefix }}/v2/search"
+ upstream_url: "{{ learning_service_url }}/v2/user/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userTempAdmin'
+ - name: rate-limiting
+ config.policy: local
+ 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
+ uris: "{{ user_service_prefix }}/v3/search"
+ upstream_url: "{{ learning_service_url }}/v3/user/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userTempAdmin'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchOrgV2
+ uris: "{{ org_service_prefix }}/v2/search"
+ upstream_url: "{{ learning_service_url }}/v2/org/search"
+ strip_uri: 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: integrationAppRead
+ uris: "{{ integration_app_prefix }}/v1/read"
+ upstream_url: "{{ content_service_url }}/app/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ small_request_size_limit }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: questionsetImportAPI
+ uris: "{{ questionset_prefix }}/v1/import"
+ upstream_url: "{{ assessment_service_url }}/questionset/v4/import"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: observationListEvidences
+ uris: "{{ observations_service_prefix }}/mlreports/v1/listAllEvidences"
+ upstream_url: "{{ ml_reports_service_url }}/v1/observations/listAllEvidences"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'observationAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProjectDetails
+ uris: "{{ userProjects_service_prefix }}/mlprojects/v1/details"
+ upstream_url: "{{ ml_project_service_url }}/v1/userProjects/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProjectEntities
+ uris: "{{ reports_service_prefix }}/mlprojects/v1/entity"
+ upstream_url: "{{ ml_project_service_url }}/v1/reports/entity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProjectDetailReport
+ uris: "{{ reports_service_prefix }}/mlprojects/v1/detailView"
+ upstream_url: "{{ ml_project_service_url }}/v1/reports/detailView"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProjectPrograms
+ uris: "{{ reports_service_prefix }}/mlprojects/v1/getProgramsByEntity"
+ upstream_url: "{{ ml_project_service_url }}/v1/reports/getProgramsByEntity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateProject
+ uris: "{{ userProjects_service_prefix }}/mlprojects/v1/sync"
+ upstream_url: "{{ ml_project_service_url }}/v1/userProjects/sync"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createProject
+ uris: "{{ userProjects_service_prefix }}/mlprojects/v1/add"
+ upstream_url: "{{ ml_project_service_url }}/v1/userProjects/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProjectSolutionDetails
+ uris: "{{ userProjects_service_prefix }}/mlprojects/v1/solutionDetails"
+ upstream_url: "{{ ml_project_service_url }}/v1/userProjects/solutionDetails"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateEvent
+ uris: "{{ event_prefix }}/v4/update"
+ upstream_url: "{{ content_service_url }}/event/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: publishEvent
+ uris: "{{ event_prefix }}/v4/publish"
+ upstream_url: "{{ content_service_url }}/event/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: sendEmailNotificationSer
+ uris: "{{ notification_service_prefix }}/v1/notification/send/sync"
+ upstream_url: "{{ notification_service_url }}/v1/notification/send/sync"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: getmandatoryContentStatus
+ uris: "/v1/check/mandatoryContentStatus"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/check/mandatoryContentStatus"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: assessmentSubmit
+ uris: "/v2/user/assessment/submit"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/user/assessment/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: getTopPerformersForCourse
+ uris: "/v2/resources/user/cohorts/top-performers"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/resources/user/cohorts/top-performers"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: courseAutoenrollment
+ uris: "/v1/autoenrollment"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/autoenrollment"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: getCatalog
+ uris: "/v1/catalog/"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/catalog/"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+
+ - name: addWorkAllocation
+ uris: "/v2/workallocation/add"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: updateWorkAllocation
+ uris: "/v2/workallocation/update"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: addWorkOrder
+ uris: "/v2/workallocation/add/workorder"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/add/workorder"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: updateWorkOrder
+ uris: "/v2/workallocation/update/workorder"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/update/workorder"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: getWorkOrders
+ uris: "/v2/workallocation/getWorkOrders"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/getWorkOrders"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getWorkOrderById
+ uris: "/v2/workallocation/getWorkOrderById"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/getWorkOrderById"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: getWorkAllocationById
+ uris: "/v2/workallocation/getWorkAllocationById"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/getWorkAllocationById"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: copyWorkOrder
+ uris: "/v2/workallocation/copy/workOrder"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/copy/workOrder"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: getUserBasicDetails
+ uris: "/v2/workallocation/user/basicInfo"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/user/basicInfo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: watAutoComplete
+ uris: "/v1/workallocation/users/autocomplete"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/workallocation/users/autocomplete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getWOPdf
+ uris: "/getWOPdf"
+ upstream_url: "{{ sb_cb_ext_service_url }}/getWOPdf"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUserCompentenciesDetails
+ uris: "/v2/workallocation/user/competencies"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/workallocation/user/competencies"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: startPdfProfanity
+ uris: "{{ content_validation_service_prefix }}/v1/startPdfProfanity"
+ upstream_url: "{{ content_validation_service_url }}/v1/startPdfProfanity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getPdfProfanity
+ uris: "{{ content_validation_service_prefix }}/v1/getPdfProfanity"
+ upstream_url: "{{ content_validation_service_url }}/v1/getPdfProfanity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getPdfProfanityForContent
+ uris: "{{ content_validation_service_prefix }}/v1/getPdfProfanityForContent"
+ upstream_url: "{{ content_validation_service_url }}/v1/read/contentPdfProfanity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: calculateScore
+ uris: "{{ scoring_engine_service_prefix }}/v1/add"
+ upstream_url: "{{ scoring_engine_service_url }}/v1/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: fetchScore
+ uris: "{{ scoring_engine_service_prefix }}/v1/fetch"
+ upstream_url: "{{ scoring_engine_service_url }}/v1/fetch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getScoringTemplate
+ uris: "{{ scoring_engine_service_prefix }}/v1/getTemplate"
+ upstream_url: "{{ scoring_engine_service_url }}/v1/getTemplate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: findRecommendedConnection
+ uris: "{{ hub_graph_service_prefix }}/profile/find/recommended"
+ upstream_url: "{{ hub_graph_service_url }}/connections/profile/find/recommended"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: findSuggestedConnection
+ uris: "{{ hub_graph_service_prefix }}/profile/find/suggests"
+ upstream_url: "{{ hub_graph_service_url }}/connections/profile/find/suggests"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: fetchRequestedConnection
+ uris: "{{ hub_graph_service_prefix }}/profile/fetch/requested"
+ upstream_url: "{{ hub_graph_service_url }}/connections/profile/fetch/requested"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: fetchRequestedReceivedConnection
+ uris: "{{ hub_graph_service_prefix }}/profile/fetch/requests/received"
+ upstream_url: "{{ hub_graph_service_url }}/connections/profile/fetch/requests/received"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: fetchEstablishedConnection
+ uris: "{{ hub_graph_service_prefix }}/profile/fetch/established"
+ upstream_url: "{{ hub_graph_service_url }}/connections/profile/fetch/established"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: addConnection
+ uris: "{{ hub_graph_service_prefix }}/add"
+ upstream_url: "{{ hub_graph_service_url }}/connections/add"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: updateConnection
+ uris: "{{ hub_graph_service_prefix }}/update"
+ upstream_url: "{{ hub_graph_service_url }}/connections/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userAutoComplete
+ uris: "{{ user_service_prefix }}/v1/autocomplete"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/autocomplete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userNetworkAutoComplete
+ uris: "/v1/user/autocomplete"
+ upstream_url: "{{ hub_graph_service_url }}/v1/user/autocomplete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowTransition
+ uris: "{{ workflow_handler_service_prefix }}/transition"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/transition"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: workflowApplicationsSearch
+ uris: "{{ workflow_handler_service_prefix }}/applications/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/applications/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+
+ - name: workflowNextAction
+ uris: "{{ workflow_handler_service_prefix }}/nextAction"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/nextAction"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: workflowProcess
+ uris: "{{ workflow_handler_service_prefix }}/workflowProcess"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/workflowProcess"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowUpdateUserProfileWf
+ uris: "{{ workflow_handler_service_prefix }}/updateUserProfileWF"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/updateUserProfileWF"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: workflowGetUserWF
+ uris: "{{ workflow_handler_service_prefix }}/getUserWF"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/getUserWF"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: workflowGetUserWFApplicationFields
+ uris: "{{ workflow_handler_service_prefix }}/getUserWFApplicationFields"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/getUserWFApplicationFields"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: ContentUpdateReviewStatus
+ uris: "/action/content/v3/updateReviewStatus"
+ upstream_url: "{{ content_service_url }}/content/v3/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: privateSendEmailNotification
+ uris: "{{ learner_private_route_prefix }}/user/v1/notification/email"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/notification/email"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: ContenthierarchyUpdate
+ uris: "/action/content/v3/hierarchyUpdate"
+ upstream_url: "{{ content_service_url }}/content/v3/hierarchy/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: privateUserMigrate
+ uris: "{{ user_service_prefix }}/private/v1/migrate"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/migrate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: discussionHubAPIs
+ uris: "/discussion"
+ upstream_url: "{{ discussions_mw_url }}/discussion"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: nodebbauthAPIs
+ uris: "/nodebb/auth/api"
+ upstream_url: "{{ nodebb_url }}/api"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+
+ - name: nodebbAPIs
+ uris: "/nodebb/api"
+ upstream_url: "{{ nodebb_url }}/api"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: "analyticsGetDashboardsForProfile"
+ uris: "{{ dashboard_service_prefix }}/analytics/getDashboardsForProfile/Karmayogi"
+ upstream_url: "{{ analytics_url }}/dashboard/analytics/getDashboardsForProfile/Karmayogi"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "analyticsGetChartVisualization"
+ uris: "{{ dashboard_service_prefix }}/analytics/getChartV2/Karmayogi"
+ upstream_url: "{{ analytics_url }}/dashboard/analytics/getChartV2/Karmayogi"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: "analyticsGetDashboardConfiguration"
+ uris: "{{ dashboard_service_prefix }}/analytics/getDashboardConfig/Karmayogi"
+ upstream_url: "{{ analytics_url }}/dashboard/analytics/getDashboardConfig/Karmayogi"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getBrowseByCompetency
+ uris: "/searchBy/competency"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/browseByCompetency"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getBrowseByProvider
+ uris: "/searchBy/provider"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/browseByProvider"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: staffOperation
+ uris: "/staff/position"
+ upstream_url: "{{ sb_cb_ext_service_url }}/staff/position"
+ strip_uri: true
+ plugins:
+ - n- name: staffOperation
+ uris: "/staff/position"
+ upstream_url: "{{ sb_cb_ext_service_url }}/staff/position"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: budgetOperation
+ uris: "/budget/scheme"
+ upstream_url: "{{ sb_cb_ext_service_url }}/budget/scheme"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: orgHistoryOperation
+ uris: "/orghistory"
+ upstream_url: "{{ sb_cb_ext_service_url }}/orghistory"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: storageUploadDoc
+ uris: "/storage/upload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ x_large_request_size_limit }}"
+
+ - name: storageDeleteDoc
+ uris: "/storage/delete"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUserProgress
+ uris: "/v1/batch/getUserProgress"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/progress/getUserProgress"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: courseAdminEnrolment
+ uris: "{{ course_service_prefix }}/v1/admin/enrol"
+ upstream_url: "{{ lms_service_url }}/v1/course/admin/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: courseAdminUnEnrolment
+ uris: "{{ course_service_prefix }}/v1/admin/unenrol"
+ upstream_url: "{{ lms_service_url }}/v1/course/admin/unenroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userExtendedPatch
+ uris: "{{ user_service_prefix }}/v1/extPatch"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/patch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - 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: listAdminUserCourseEnrollments
+ uris: "{{ course_service_prefix }}/v2/user/enrollment/admin/list"
+ upstream_url: "{{ lms_service_url }}/v2/user/courses/admin/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: ratingAndReviews
+ uris: "/ratings"
+ upstream_url: "{{ sb_cb_ext_service_url }}/ratings"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: profanityModerationPersistModeratedText
+ uris: "{{ profanity_moderator_admin_prefix }}/feedback/persist/text/moderated"
+ upstream_url: "{{ profanity_moderator_admin_service }}/feedback/persist/text/moderated"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: profanityModerationFetchText
+ uris: "{{ profanity_moderator_admin_prefix }}/feedback/text/fetch"
+ upstream_url: "{{ profanity_moderator_admin_service }}/feedback/text/fetch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: profanityModerationTypeText
+ uris: "{{ profanity_moderator_admin_prefix }}/profanity/type/text"
+ upstream_url: "{{ profanity_moderator_admin_service }}/profanity/type/text"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: profanityModerationFeedbackFlags
+ uris: "{{ profanity_moderator_admin_prefix }}/feedback/flag/values"
+ upstream_url: "{{ profanity_moderator_admin_service }}/feedback/flag/values"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: assessmentSubmitV3
+ uris: "/v3/user/assessment/submit"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v3/user/assessment/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: playerQuSetReadHierarchy
+ uris: "{{ player_prefix }}/questionset/v1/hierarchy"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/quml/assessment/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: retakeAssessment
+ uris: "{{ user_service_prefix }}/assessment/retake"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v4/quml/assessment/retake"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: flagCreate
+ uris: "{{ user_service_prefix }}/offensive/data/flag"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/offensive/data/flag"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getFlaggedData
+ uris: "{{ user_service_prefix }}/offensive/data/flag/getFlaggedData"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/offensive/data/flag/getFlaggedData"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: playerQuestionList
+ uris: "{{ player_prefix }}/question/v1/list"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/quml/question/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+#SB-25501 Content v4 APIs on-boarding
+
+ - name: createContentV2
+ uris: "{{ content_prefix }}/v2/create"
+ upstream_url: "{{ content_service_url }}/content/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateContentV2
+ uris: "{{ content_prefix }}/v2/update"
+ upstream_url: "{{ content_service_url }}/content/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readContentV2
+ uris: "{{ content_prefix }}/v2/read"
+ upstream_url: "{{ content_service_url }}/content/v4/read"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: uploadUrlContentV2
+ uris: "{{ content_prefix }}/v2/upload/url"
+ upstream_url: "{{ content_service_url }}/content/v4/upload/url"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: uploadContentV2
+ uris: "{{ content_prefix }}/v2/upload"
+ upstream_url: "{{ content_service_url }}/content/v4/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: copyContentV2
+ uris: "{{ content_prefix }}/v2/copy"
+ upstream_url: "{{ content_service_url }}/content/v4/copy"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: importContentV2
+ uris: "{{ content_prefix }}/v2/import"
+ upstream_url: "{{ content_service_url }}/content/v4/import"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: flagContentV2
+ uris: "{{ content_prefix }}/v2/flag"
+ upstream_url: "{{ content_service_url }}/content/v4/flag"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: acceptFlagContentV2
+ uris: "{{ content_prefix }}/v2/flag/accept"
+ upstream_url: "{{ content_service_url }}/content/v4/flag/accept"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: discardContentV2
+ uris: "{{ content_prefix }}/v2/discard"
+ upstream_url: "{{ content_service_url }}/content/v4/discard"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: retireContentV2
+ uris: "{{ content_prefix }}/v2/retire"
+ upstream_url: "{{ content_service_url }}/content/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: reviewContentV2
+ uris: "{{ content_prefix }}/v2/review"
+ upstream_url: "{{ content_service_url }}/content/v4/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: rejectContentV2
+ uris: "{{ content_prefix }}/v2/reject"
+ upstream_url: "{{ content_service_url }}/content/v4/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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 }}"
+
+#SB-25499 Collection v4 APIs on-boarding
+
+ - name: collectionReview
+ uris: "{{ collection_prefix }}/v1/review"
+ upstream_url: "{{ content_service_url }}/collection/v4/review"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: collectionReject
+ uris: "{{ collection_prefix }}/v1/reject"
+ upstream_url: "{{ content_service_url }}/collection/v4/reject"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: acceptCollectionFlag
+ uris: "{{ collection_prefix }}/v1/flag/accept"
+ upstream_url: "{{ content_service_url }}/collection/v4/flag/accept"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: listNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template/list"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'getNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template/create"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'createNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: deleteNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template/delete"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'deleteNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template/update"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'updateNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateActionNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template/action/update"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template/action/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'updateNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getActionNotificationTemplate
+ uris: "{{ notification_service_prefix }}/v1/template"
+ upstream_url: "{{ notification_service_url }}/v1/notification/template"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'getNotificationTemplate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createRCCertificate
+ uris: "{{ registry_service_prefix }}/certificate/v1/create"
+ upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateCreate'
+ - name: rate-limiting
+ config.policy: local
+ 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.remove.headers: Authorization
+
+ - name: searchRCCertificate
+ uris: "{{ registry_service_prefix }}/certificate/v1/search"
+ upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'certificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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.remove.headers: Authorization
+
+ - name: getRCCertificate
+ uris: "{{ registry_service_prefix }}/certificate/v1/download"
+ upstream_url: "{{ registry_service_url }}/api/v1/TrainingCertificate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousCertificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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.remove.headers: Authorization
+
+ - name: getRCPublicKey
+ uris: "{{ registry_service_prefix }}/certificate/v1/key"
+ upstream_url: "{{ registry_service_url }}/api/v1/PublicKey"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousCertificateAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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.remove.headers: Authorization
+
+ - name: updateUsersFirstLoginTime
+ uris: "{{ user_service_prefix }}/v1/updateLogin"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/updateLogin"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: getAllDeptDetails
+ uris: "{{ user_service_prefix }}/registration/v1/getDeptDetails"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/registration/v1/getDeptDetails"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: registerUser
+ uris: "{{ user_service_prefix }}/registration/v1/register"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/registration/v1/register"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: getUserRegistrationDetails
+ uris: "{{ user_service_prefix }}/registration/v1/getRegisterDetails"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/registration/v1/getUserRegistrationDetails"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: getUserPositionList
+ uris: "{{ user_service_prefix }}/v1/positions"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/positions"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getOrgList
+ uris: "{{ org_service_prefix }}/v1/list"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/v1/list"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: orgExtendedCreate
+ uris: "{{ org_service_prefix }}/ext/v1/create"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/ext/v1/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: orgExtendedProfileRead
+ uris: "{{ org_service_prefix }}/v1/profile/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/v1/profile/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: orgExtendedProfilePatch
+ uris: "{{ org_service_prefix }}/v1/profile/patch"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/v1/profile/patch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: orgExtendedSearch
+ uris: "{{ org_service_prefix }}/v1/cb/ext/search"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/v1/ext/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: getUserBasicInfo
+ uris: "{{ user_service_prefix }}/basicInfo"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/basicInfo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateUserBasicProfile
+ uris: "{{ user_service_prefix }}/basicProfileUpdate"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/basicProfileUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createForm
+ uris: "{{ forms_service_prefix }}/createForm"
+ upstream_url: "{{ forms_service_url }}/forms/createForm"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getCollectiveAggregation
+ uris: "{{ forms_service_prefix }}/getCollectiveAggregation"
+ upstream_url: "{{ forms_service_url }}/forms/getCollectiveAggregation"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getFormById
+ uris: "{{ forms_service_prefix }}/getFormById"
+ upstream_url: "{{ forms_service_url }}/forms/getFormById"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getAllForms
+ uris: "{{ forms_service_prefix }}/getAllForms"
+ upstream_url: "{{ forms_service_url }}/forms/getAllForms"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: saveFormSubmit
+ uris: "{{ forms_service_prefix }}/v1/saveFormSubmit"
+ upstream_url: "{{ forms_service_url }}/forms/v1/saveFormSubmit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: tagFormToCourse
+ uris: "{{ forms_service_prefix }}/tagFormToCourse"
+ upstream_url: "{{ forms_service_url }}/forms/tagFormToCourse"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: untagFormToCourse
+ uris: "{{ forms_service_prefix }}/untagFormToCourse"
+ upstream_url: "{{ forms_service_url }}/forms/untagFormToCourse"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getCourseListForSurveys
+ uris: "{{ forms_service_prefix }}/getCourseListForSurveys"
+ upstream_url: "{{ forms_service_url }}/forms/getCourseListForSurveys"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getExploreCourseDetail
+ uris: "{{ course_service_prefix }}/v1/explore"
+ upstream_url: "{{ sb_cb_ext_service_url }}/course/v1/explore"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: getAllApplications
+ uris: "{{ forms_service_prefix }}/getAllApplications"
+ upstream_url: "{{ forms_service_url }}/forms/getAllApplications"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: telemetryPublic
+ uris: "{{ data_service_prefix }}/v1/public/telemetry"
+ upstream_url: "{{ telemetry_service_url }}/v1/telemetry"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: searchUserPrivate
+ uris: "{{ learner_private_route_prefix }}/user/v1/search"
+ upstream_url: "{{ learning_service_url }}/private/user/v1/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userAccess'
+ - 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: ssoUserV2CreateExt
+ uris: "{{ user_service_prefix }}/v1/ext/signup"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/ext/signup"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserCreate'
+ - name: 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: userBulkUpload
+ uris: "{{ user_service_prefix }}/v1/bulkupload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/bulkupload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: 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: workflowTaxonomyCreate
+ uris: "{{ workflow_handler_service_prefix }}/taxonomy/create"
+ upstream_url: "{{ workflow_handler_service_url }}/taxonomy/workflow/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowTaxonomyUpdate
+ uris: "{{ workflow_handler_service_prefix }}/taxonomy/update"
+ upstream_url: "{{ workflow_handler_service_url }}/taxonomy/workflow/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowTaxonomyApplicationsSearch
+ uris: "{{ workflow_handler_service_prefix }}/taxonomy/search"
+ upstream_url: "{{ workflow_handler_service_url }}/taxonomy/workflow/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: getWorkflowTaxonomyApplication
+ uris: "{{ workflow_handler_service_prefix }}/taxonomy/read"
+ upstream_url: "{{ workflow_handler_service_url }}/taxonomy/workflow/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: searchForms
+ uris: "{{ forms_service_prefix }}/searchForms"
+ upstream_url: "{{ forms_service_url }}/forms/searchForms"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userNotificationPreference
+ uris: "{{ user_service_prefix }}/v1/notificationPreference"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/notificationPreference"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - 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: MDOContentCreate
+ uris: "{{ mdo_content_prefix }}/v3/create"
+ upstream_url: "{{ knowledge_mw_service_url }}/action/content/v3/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: MDOContentHierarchyUpdate
+ uris: "{{ mdo_content_prefix }}/v3/hierarchy/update"
+ upstream_url: "{{ content_service_url }}/content/v3/hierarchy/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: MDOContentUpdate
+ uris: "{{ mdo_content_prefix }}/v3/update"
+ upstream_url: "{{ content_service_url }}/content/v3/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: MDOContentPublish
+ uris: "{{ mdo_content_prefix }}/v3/publish"
+ upstream_url: "{{ vm_learning_service_url }}/content/v3/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: MDOContentAddUserToBatch
+ uris: "{{ mdo_content_prefix }}/v3/batch/addUser"
+ upstream_url: "{{ lms_service_url }}/v1/course/admin/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: MDOContentRemoveUserFromBatch
+ uris: "{{ mdo_content_prefix }}/v3/batch/removeUser"
+ upstream_url: "{{ lms_service_url }}/v1/course/admin/unenroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: getMasterLanguageList
+ uris: "{{ master_data_service_prefix }}/v1/languages"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/getLanguages"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getMasterNationalityList
+ uris: "{{ master_data_service_prefix }}/v1/nationalities"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/getNationalities"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getMasterCountryList
+ uris: "{{ master_data_service_prefix }}/v1/countries"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/getCountries"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getProfilePageMetaData
+ uris: "{{ master_data_service_prefix }}/v1/profilePageMetaData"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/getProfilePageMetaData"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: masterDataUpsert
+ uris: "{{ master_data_service_prefix }}/v1/upsert"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v1/upsert"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: contentPrivateRead
+ uris: "{{ content_prefix }}/v1/private/read"
+ upstream_url: "{{ content_service_url }}/content/v4/private/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - contentAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: signupOrgSearchV2API
+ uris: "{{ org_service_prefix }}/ext/v2/signup/search"
+ upstream_url: "{{ sb_cb_ext_service_url }}/org/v2/ext/signup/search"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: bulkUserDownloadAPI
+ uris: "{{ user_service_prefix }}/v1/bulkuser/download"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/bulkuser/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowPositionCreate
+ uris: "{{ workflow_handler_service_prefix }}/position/create"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/position/workflow/create"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowOrgCreate
+ uris: "{{ workflow_handler_service_prefix }}/org/create"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/org/workflow/create"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowEmailDomainCreate
+ uris: "{{ workflow_handler_service_prefix }}/domain/create"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/domain/workflow/create"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowPositionUpdate
+ uris: "{{ workflow_handler_service_prefix }}/position/update"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/position/workflow/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowOrgUpdate
+ uris: "{{ workflow_handler_service_prefix }}/org/update"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/org/workflow/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workFlowEmailDomainUpdate
+ uris: "{{ workflow_handler_service_prefix }}/domain/update"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/domain/workflow/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowPositionSearch
+ uris: "{{ workflow_handler_service_prefix }}/position/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/position/workflow/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: workflowOrgSearch
+ uris: "{{ workflow_handler_service_prefix }}/org/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/org/workflow/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: workflowEmailDomainSearch
+ uris: "{{ workflow_handler_service_prefix }}/domain/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/domain/workflow/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: getWorkflowPositionApplication
+ uris: "{{ workflow_handler_service_prefix }}/position/read"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/position/workflow/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: getWorkflowOrgApplication
+ uris: "{{ workflow_handler_service_prefix }}/org/read"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/org/workflow/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: getWorkflowEmailDomainApplication
+ uris: "{{ workflow_handler_service_prefix }}/domain/read"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/domain/workflow/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ large_request_size_limit }}"
+
+ - name: workflowBlendedProgramEnrol
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/enrol"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/enrol"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramSearch
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramUserSearch
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/user/search"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/user/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramPCUpdate
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/update/pc"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/update/pc"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramReadByMDO
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/read/mdo"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/read/mdo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramReadByPC
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/read/pc"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/read/pc"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUserGroupList
+ uris: "{{ user_service_prefix }}/v1/groups"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/groups"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: assessmentSubmitV4
+ uris: "/v4/user/assessment/submit"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v4/user/assessment/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - 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: "{{ medium_request_size_limit }}"
+
+ - name: playerQuSetReadHierarchyV4
+ uris: "{{ player_prefix }}/questionset/v4/hierarchy"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v4/quml/assessment/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: playerQuestionListV4
+ uris: "{{ player_prefix }}/question/v4/list"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v4/quml/question/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: playerGetAssessmentResultV4
+ uris: "{{ user_service_prefix }}/assessment/v4/result"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v4/quml/assessment/result"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: getDeptNameList
+ uris: "/portal/v1/listDeptNames"
+ upstream_url: "{{ sb_cb_ext_service_url }}/portal/listDeptNames"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: storageReportDownloadDoc
+ uris: "/storage/v1/report"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/v1/report"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 'storageReportDownload'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramAdminEnrol
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/admin/enrol"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/admin/enrol"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: blendedProgramUpdateAttendance
+ uris: "{{ blended_program_service_prefix }}/v1/update/progress"
+ upstream_url: "{{ sb_cb_ext_service_url }}/content/progress/v1/ext/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramReadUserStats
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/v1/stats"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/stats"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: downloadBatchSessionQRCode
+ uris: "/batchsesion/qrcode"
+ upstream_url: "{{ sb_cb_ext_service_url }}/getBatchSessionQRPdf"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: workflowBPPCRemove
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/remove/pc"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/remove/pc"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBPMDORemove
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/remove/mdo"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/remove/mdo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+
+ - name: blendedProgramOfflineSessionGetUsers
+ uris: "{{ blended_program_service_prefix }}/v1/getUserContentProgress"
+ upstream_url: "{{ sb_cb_ext_service_url }}/content/progress/v1/read/getUserDetails"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: faqAssistantGetLanguage
+ uris: "{{ faq_assistant_service_prefix }}/v1/assistant/available/language"
+ upstream_url: "{{ faq_assistant_service }}/assistant/available/language"
+ strip_uri: 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: faqAssistantGetConfig
+ uris: "{{ faq_assistant_service_prefix }}/v1/assistant/configs/language"
+ upstream_url: "{{ faq_assistant_service }}/assistant/configs/language"
+ strip_uri: 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: curatedProgramEnrolment
+ uris: "{{ curated_program_prefix }}/v1/enrol"
+ upstream_url: "{{ lms_service_url }}/v1/program/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramEnrolStatusCount
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/enrol/status/count"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/enrol/status/count"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramMDOUpdate
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/update/mdo"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/update/mdo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBPPCSearchV2
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/searchV2/pc"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/searchV2/pc"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBPMDOSearchV2
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/searchV2/mdo"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/searchV2/mdo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getReportInfo
+ uris: "/storage/v1/reportInfo"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/v1/reportInfo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramUnEnrol
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/unenrol"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/unenrol"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramUpdate
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/update"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: workflowBlendedProgramRemove
+ uris: "{{ workflow_handler_service_prefix }}/blendedprogram/remove"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/blendedprogram/workflow/remove"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: programAdminEnrolment
+ uris: "{{ program_prefix }}/v1/admin/enrol"
+ upstream_url: "{{ lms_service_url }}/v1/program/admin/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: adminUserExtendedPatch
+ uris: "{{ user_service_prefix }}/v1/admin/extPatch"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/admin/patch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - 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: discussionHubAPIForRecent
+ uris: "/discussion/recent"
+ upstream_url: "{{ discussions_mw_url }}/discussion/recent"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: discussionHubAPIForTags
+ uris: "/discussion/tags "
+ upstream_url: "{{ discussions_mw_url }}/discussion/tags"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: discussionHubAPIForUserDiscussions
+ uris: "/discussion/user"
+ upstream_url: "{{ discussions_mw_url }}/discussion/user"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: discussionHubAPIForPost
+ uris: "/discussion/v2/topics"
+ upstream_url: "{{ discussions_mw_url }}/discussion/v2/topics"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: discussionHubAPIForCategories
+ uris: "/discussion/categories"
+ upstream_url: "{{ discussions_mw_url }}/discussion/categories"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - 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: request-transformer
+ config:
+ rename:
+ headers:
+ - nodebb_authorization_token:Authorization
+
+ - name: markAttendance
+ uris: "{{ course_service_prefix }}/v1/content/markattendance"
+ upstream_url: "{{ lms_service_url }}/v1/content/state/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: retireEvent
+ uris: "{{ event_prefix }}/v4/retire"
+ upstream_url: "{{ content_service_url }}/private/event/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: userInsights
+ uris: "/insights"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v2/insights"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+
+ - name: trending
+ uris: "/trending/search"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/trending/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: generateOtpEXT
+ uris: "{{ otp_service_prefix }}/ext/v1/generate"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/otp/v1/generate"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: readCompetencyById
+ uris: "{{ competency_prefix }}/v4/read"
+ upstream_url: "{{ competency_url }}/v2/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: searchCompetency
+ uris: "{{ competency_prefix }}/v4/search"
+ upstream_url: "{{ competency_url }}/v2/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: upsertCompetency
+ uris: "{{ competency_prefix }}/v4/upsert"
+ upstream_url: "{{ competency_url }}/v2/upsert"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: addUpdateCompetencyRelation
+ uris: "{{ competency_prefix }}/v4/update/relation"
+ upstream_url: "{{ competency_url }}/v2/update/relation"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: profilePhotoUpload
+ uris: "/storage/profilePhotoUpload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/profilePhotoUpload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ x_large_request_size_limit }}"
+
+ - name: userAdminAutoComplete
+ uris: "{{ user_service_prefix }}/v1/admin/autocomplete"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/admin/autocomplete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanCreate
+ uris: "{{ cb_plan_prefix }}/v1/create"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanPublish
+ uris: "{{ cb_plan_prefix }}/v1/publish"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanUpdate
+ uris: "{{ cb_plan_prefix }}/v1/update"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: halloffame
+ uris: "/halloffame/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/halloffame/read"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: 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: getPositionByOrg
+ uris: "{{ master_data_service_prefix }}/v2/deptPosition"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v2/deptPosition"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanRetire
+ uris: "{{ cb_plan_prefix }}/v1/archive"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/archive"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanReadById
+ uris: "{{ cb_plan_prefix }}/v1/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanListByAdmin
+ uris: "{{ cb_plan_prefix }}/v1/list"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: cbPlanListByUser
+ uris: "{{ user_service_prefix }}/v1/cbplan"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/user/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: karmapoints
+ uris: "/karmapoints/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/karmapoints/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: userProfileSystemUpdate
+ uris: "{{ user_service_prefix }}/v1/profile/externalsystem/update"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/profile/externalsystem/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: userCourseKarmapoints
+ uris: "/karmapoints/user/course/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/user/course/karmapoints/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: claimKarmaPoints
+ uris: "/claimkarmapoints"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/claimkarmapoints"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: userfirstloginlastlogin
+ uris: "/v1/user/login"
+ upstream_url: "{{ learning_service_url }}/v1/user/login"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: cbContentRequestByAdmin
+ uris: "{{ cb_plan_prefix }}/v1/admin/requestcontent"
+ upstream_url: "{{ sb_cb_ext_service_url }}/cbplan/v1/admin/requestcontent"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: totalkarmapoints
+ uris: "/user/totalkarmapoints"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/user/totalkarmapoints"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: getReportInfoSPV
+ uris: "/storage/v1/spvReportInfo"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/v1/spvReportInfo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: storageReportDownloadSPV
+ uris: "/storage/v1/spvReport"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/v1/spvReport"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: compositeSearchV4
+ uris: "{{ composite_service_prefix }}/v4/search"
+ upstream_url: "{{ search_url }}/v4/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAdmin'
+ - 'contentTempAccess'
+ - name: rate-limiting
+ config.policy: local
+ 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: userContentRecommed
+ uris: "{{ user_service_prefix }}/v1/content/recommend"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v1/content/recommend"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - name: 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: adminGetDeptNameList
+ uris: "/portal/v1/admin/listDeptNames"
+ upstream_url: "{{ sb_cb_ext_service_url }}/portal/admin/listDeptNames"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: adminGetPositionByOrgList
+ uris: "{{ master_data_service_prefix }}/v2/admin/deptPosition"
+ upstream_url: "{{ sb_cb_ext_service_url }}/masterData/v2/admin/deptPosition"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: ehrmsProfileDetails
+ uris: "/ehrms/details"
+ upstream_url: "{{ sb_cb_ext_service_url }}/ehrms/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: programAdminBulkEnrolment
+ uris: "{{ program_prefix }}/v2/admin/bulkEnroll"
+ upstream_url: "{{ lms_service_url }}/v2/program/admin/bulkEnroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: digiLockerRetrieveURI
+ uris: "/digilocker/v1/retrieveURI"
+ upstream_url: "{{ sb_cb_ext_service_url }}/digilocker/v1/retrieveURI"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: 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: digiLockerRetrieveDoc
+ uris: "/digilocker/v1/retrieveDoc"
+ upstream_url: "{{ sb_cb_ext_service_url }}/digilocker/v1/retrieveDoc"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: 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: listObservationEntities
+ uris: "{{ observations_service_prefix }}/mlsurvey/v1/entities"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observations/entities"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: observationSubmissionsList
+ uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/list"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: observationQuestionList
+ uris: "{{ observations_service_prefix }}/mlsurvey/v1/assessment"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observations/assessment"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateObservationSubmission
+ uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/update"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationUpdate
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: createObservationSubmission
+ uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/create"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationCreate
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: searchLocationEntities
+ uris: "{{ observations_service_prefix }}/mlsurvey/v1/searchEntities"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observations/searchEntities"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - registryAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: addObservationEntity
+ uris: "{{ observations_service_prefix }}/mlsurvey/v1/updateEntities"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observations/updateEntities"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationCreate
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: observationSolutionList
+ uris: "{{ observationSubmissions_service_prefix }}/mlsurvey/v1/solutionList"
+ upstream_url: "{{ ml_survey_service_url }}/v1/observationSubmissions/solutionList"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - observationAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: surveyQuestionList
+ uris: "{{ surveys_service_prefix }}/mlsurvey/v1/details"
+ upstream_url: "{{ ml_survey_service_url }}/v1/surveys/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - surveyAccess
+ - 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: solutionsVerifyLink
+ uris: "{{ solutions_mlservice_prefix }}/mlsurvey/v1/verifyLink"
+ upstream_url: "{{ ml_survey_service_url }}/v1/solutions/verifyLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: updateSurveySubmission
+ uris: "{{ surveySubmissions_service_prefix }}/mlsurvey/v1/update"
+ upstream_url: "{{ ml_survey_service_url }}/v1/surveySubmissions/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - surveyUpdate
+ - 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: getUsersPrograms
+ uris: "{{ users_service_prefix }}/mlcore/v1/programs"
+ upstream_url: "{{ ml_core_service_url }}/v1/users/programs"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - programAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getUsersSolutions
+ uris: "{{ users_service_prefix }}/mlcore/v1/solutions"
+ upstream_url: "{{ ml_core_service_url }}/v1/users/solutions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getTargetedSolutions
+ uris: "{{ solutions_mlservice_prefix }}/mlcore/v1/targetedSolutions"
+ upstream_url: "{{ ml_core_service_url }}/v1/solutions/targetedSolutions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userLocationScope
+ uris: "{{ entities_service_prefix }}/mlcore/v1/subEntityListBasedOnRoleAndLocation"
+ upstream_url: "{{ ml_core_service_url }}/v1/entities/subEntityListBasedOnRoleAndLocation"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - registryAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: mandatoryUserProfileFields
+ uris: "{{ entities_service_prefix }}/mlcore/v1/entityTypesByLocationAndRole"
+ upstream_url: "{{ ml_core_service_url }}/v1/users/entityTypesByLocationAndRole"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - registryAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: locationListing
+ uris: "{{ entities_service_prefix }}/mlcore/v1/subEntityList"
+ upstream_url: "{{ ml_core_service_url }}/v1/entities/subEntityList"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - locationAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getTargetedEntity
+ uris: "{{ users_service_prefix }}/mlcore/v1/targetedEntity"
+ upstream_url: "{{ ml_core_service_url }}/v1/users/targetedEntity"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - registryAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: getFileUploadUrls
+ uris: "{{ cloud_service_prefix }}/mlcore/v1/files/preSignedUrls"
+ upstream_url: "{{ ml_core_service_url }}/v1/cloud-services/files/preSignedUrls"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - cloudUrlsCreate
+ - 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: listPlatformPrograms
+ uris: "{{ user_extension_prefix }}/mlcore/v1/programsByPlatformRoles"
+ upstream_url: "{{ ml_core_service_url }}/v1/user-extension/programsByPlatformRoles"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - programAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: listPlatformSolutions
+ uris: "{{ user_extension_prefix }}/mlcore/v1/solutions"
+ upstream_url: "{{ ml_core_service_url }}/v1/user-extension/solutions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: VerifyLink
+ uris: "{{ solutions_mlservice_prefix }}/mlcore/v1/verifyLink"
+ upstream_url: "{{ ml_core_service_url }}/v1/solutions/verifyLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: GetTemplateOrQuestions
+ uris: "{{ solutions_mlservice_prefix }}/mlcore/v1/details"
+ upstream_url: "{{ ml_core_service_url }}/v1/solutions/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - solutionAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: joinProgramByUser
+ uris: "{{ programs_service_prefix }}/mlcore/v1/join"
+ upstream_url: "{{ ml_core_service_url }}/v1/programs/join"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - programAccess
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: EntitiesUpload
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entities/bulkCreate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entities/bulkCreate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'registryUpdate'
+ - name: 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: EntitiesUpdate
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entities/bulkUpdate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entities/bulkUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'registryUpdate'
+ - name: 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: EntitiesMapping
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entities/mappingUpload"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entities/mappingUpload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'registryUpdate'
+ - name: 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: UploadUserRoles
+ uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/bulkCreate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/bulkCreate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: FetchUserRoles
+ uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/list"
+ upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: RateObservation
+ uris: "{{ private_ml_survey_prefix }}/api/v1/observationSubmissions/rate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/observationSubmissions/rate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'observationUpdate'
+ - name: 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: GenerateObservationLink
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/getObservationSolutionLink"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutions/getObservationSolutionLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: CreateChildSurveySolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/importSurveryTemplateToSolution"
+ upstream_url: "{{ ml_survey_private_url }}/v1/surveys/importSurveryTemplateToSolution"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: GenerateSurveyLink
+ uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/getLink"
+ upstream_url: "{{ ml_survey_private_url }}/v1/surveys/getLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: UpdateQuestions
+ uris: "{{ private_ml_survey_prefix }}/api/v1/questions/bulkUpdate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/questions/bulkUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UploadQuestions
+ uris: "{{ private_ml_survey_prefix }}/api/v1/questions/bulkCreate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/questions/bulkCreate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: FetchUserExtension
+ uris: "{{ private_ml_survey_prefix }}/api/v1/userExtension/getProfile"
+ upstream_url: "{{ ml_survey_private_url }}/v1/userExtension/getProfile"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'useraccess'
+ - name: 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: CreateProgram
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/create"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsAccess'
+ - name: 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: FetchEntityType
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entityTypes/list"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entityTypes/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: UpdateSolution
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/update"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UpdateSolutionAddRoles
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/addRolesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/addRolesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UpdateSolutionAddEntities
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/addEntitiesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/addEntitiesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UpdateSolutionRemoveRoles
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/removeRolesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/removeRolesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UpdateSolutionRemoveEntities
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/removeEntitiesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/removeEntitiesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: UpdateProgram
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/update"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: UpdateProgramAddRoles
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/addRolesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/addRolesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: UpdateProgramAddEntities
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/addEntitiesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/addEntitiesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: UpdateProgramRemoveRoles
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/removeRolesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/removeRolesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: UpdateProgramRemoveEntities
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/removeEntitiesInScope"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/removeEntitiesInScope"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: ProgramSearch
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/list"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsAccess'
+ - name: 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: FetchRelatedEntities
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entities/relatedEntities"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entities/relatedEntities"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'registryAccess'
+ - name: 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: FetchQuestionList
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/questionList"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutions/questionList"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: FetchEntitiesList
+ uris: "{{ private_ml_core_prefix }}/api/v1/entities/listByEntityType"
+ upstream_url: "{{ ml_core_private_url }}/v1/entities/listByEntityType"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'registryAccess'
+ - name: 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: SearchForSolutions
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/list"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: FetchCriteriaDetails
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutionDetails/criteria"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutionDetails/criteria"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: CriteriaUpload
+ uris: "{{ private_ml_survey_prefix }}/api/v1/criteria/upload"
+ upstream_url: "{{ ml_survey_private_url }}/v1/criteria/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsUpdate'
+ - name: 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: FrameworkUpload
+ uris: "{{ private_ml_survey_prefix }}/api/v1/frameworks/create"
+ upstream_url: "{{ ml_survey_private_url }}/v1/frameworks/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - name: 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: UploadThemesToFramewok
+ uris: "{{ private_ml_survey_prefix }}api/v1/frameworks/uploadThemes/"
+ upstream_url: "{{ ml_survey_private_url }}/v1/frameworks/uploadThemes"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - name: 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: CreateSolutionFromFramework
+ uris: "{{ private_ml_survey_prefix }}/api/v1/observations/importFromFramework"
+ upstream_url: "{{ ml_survey_private_url }}/v1/observations/importFromFramework"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'observationAccess'
+ - name: 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: UploadCriteriaRubricsForSolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/uploadCriteriaRubricExpressions"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutions/uploadCriteriaRubricExpressions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: UploadThemeRubricToSolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/uploadThemesRubricExpressions"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutions/uploadThemesRubricExpressions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: CreateSurveySolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/createSolutionTemplate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/surveys/createSolutionTemplate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'surveyAccess'
+ - name: 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: RolesUpdate
+ uris: "{{ private_ml_survey_prefix }}/api/v1/userRoles/bulkUpdate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/userRoles/bulkUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: SolutionCreationForCourse
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/create"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: MapProgramToObservationSolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/solutions/importFromSolution"
+ upstream_url: "{{ ml_survey_private_url }}/v1/solutions/importFromSolution"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: UploadThemesToFramewok
+ uris: "{{ private_ml_survey_prefix }}/api/v1/frameworks/uploadThemes/"
+ upstream_url: "{{ ml_survey_private_url }}/v1/frameworks/uploadThemes"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'frameworkUpdate'
+ - name: 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: MapProgramToSurveySolution
+ uris: "{{ private_ml_survey_prefix }}/api/v1/surveys/mapSurverySolutionToProgram"
+ upstream_url: "{{ ml_survey_private_url }}/v1/surveys/mapSurverySolutionToProgram"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsUpdate'
+ - name: 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: FetchLink
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/fetchLink"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/fetchLink"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: GetSolutionDetails
+ uris: "{{ private_ml_core_prefix }}/api/v1/solutions/getDetails"
+ upstream_url: "{{ ml_core_private_url }}/v1/solutions/getDetails"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'solutionsAccess'
+ - name: 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: UserExtensionsUpload
+ uris: "{{ private_ml_survey_prefix }}/api/v1/userExtension/bulkUpload"
+ upstream_url: "{{ ml_survey_private_url }}/v1/userExtension/bulkUpload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: GetProgramDetails
+ uris: "{{ private_ml_core_prefix }}/api/v1/programs/details"
+ upstream_url: "{{ ml_core_private_url }}/v1/programs/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'programsAccess'
+ - name: 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: FindDetailsFromDb
+ uris: "{{ private_ml_core_prefix }}/api/v1/admin/dbFind"
+ upstream_url: "{{ ml_core_private_url }}/v1/admin/dbFind"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dbAccess'
+ - name: 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: UpdateDetailsInDb
+ uris: "{{ private_ml_core_prefix }}/api/v1/admin/dbUpdate"
+ upstream_url: "{{ ml_core_private_url }}/v1/admin/dbUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dbAccess'
+ - name: 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: DeleteDetailsFromDb
+ uris: "{{ private_ml_core_prefix }}/api/v1/admin/dbDelete"
+ upstream_url: "{{ ml_core_private_url }}/v1/admin/dbDelete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dbAccess'
+ - name: 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: AddDetailsToDb
+ uris: "{{ private_ml_core_prefix }}/api/v1/admin/dbCreate"
+ upstream_url: "{{ ml_core_private_url }}/v1/admin/dbCreate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dbAccess'
+ - name: 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: createAndUpdateCertificateTemplate
+ uris: "{{ private_ml_core_prefix }}/api/v1/certificateTemplates/createOrUpdate"
+ upstream_url: "{{ ml_core_private_url }}/v1/certificateTemplates/createOrUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: 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: uploadCertificateTemplate
+ uris: "{{ private_ml_core_prefix }}/api/v1/certificateTemplates/uploadTemplate"
+ upstream_url: "{{ ml_core_private_url }}/v1/certificateTemplates/uploadTemplate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: 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: createCertificateTemplateSvg
+ uris: "{{ private_ml_core_prefix }}/api/v1/certificateTemplates/createSvg"
+ upstream_url: "{{ ml_core_private_url }}/v1/certificateTemplates/createSvg"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: 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: createAndUpdateCertificateBaseTemplate
+ uris: "{{ private_ml_core_prefix }}/api/v1/certificateBaseTemplates/createOrUpdate"
+ upstream_url: "{{ ml_core_private_url }}/v1/certificateBaseTemplates/createOrUpdate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: 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: certificateBaseTemplateDetailsList
+ uris: "{{ private_ml_core_prefix }}/api/v1/certificateBaseTemplates/list"
+ upstream_url: "{{ ml_core_private_url }}/v1/certificateBaseTemplates/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'projectAccess'
+ - name: 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: getExploreCourseDetailV2
+ uris: "{{ course_service_prefix }}/v2/explore"
+ upstream_url: "{{ sb_cb_ext_service_url }}/course/v2/explore"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - 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: uploadFileToCloud
+ uris: "{{ cloud_service_prefix }}/mlcore/v1/files/upload"
+ upstream_url: "{{ ml_core_service_url }}/v1/cloud-services/files/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - cloudUrlsCreate
+ - 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: "{{ large_request_size_limit }}"
+
+ - name: OperationalReportAdminGrantAccess
+ uris: "/operationalreports/admin/grantaccess"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/admin/grantaccess"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: wheeboxRead
+ uris: "/wheebox/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/fetch/assessment/wheebox"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createEntityType
+ uris: "{{ private_ml_survey_prefix }}/api/v1/entityTypes/bulkCreate"
+ upstream_url: "{{ ml_survey_private_url }}/v1/entityTypes/bulkCreate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mlApp'
+ - name: 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: moderatedOpenProgramEnroll
+ uris: "{{ open_program_prefix }}/v1/enrol"
+ upstream_url: "{{ lms_service_url }}/v1/openprogram/enrol"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: OperationalReportDownload
+ uris: "/operationalreports/download"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: verifyOtpV3
+ uris: "{{ otp_service_prefix }}/v3/verify"
+ upstream_url: "{{ learning_service_url }}/v3/otp/verify"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: generateOtpV3
+ uris: "{{ otp_service_prefix }}/v3/generate"
+ upstream_url: "{{ learning_service_url }}/v3/otp/generate"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'anonymousUserAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: userExtendedPatchV2
+ uris: "{{ user_service_prefix }}/otp/v2/extPatch"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/user/patch"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'courseAccess'
+ - 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: learnerleaderboard
+ uris: "/halloffame/learnerleaderboard"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/halloffame/learnerleaderboard"
+ strip_uri: true
+ plugins:
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: 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: OperationalReportReadAccess
+ uris: "/operationalreports/admin/readaccess"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/admin/readaccess"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: adminBulkUpdate
+ uris: "{{ workflow_handler_service_prefix }}/admin/bulkupdate/getstatus"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/admin/bulkupdate/getstatus"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: OperationalReportGetFileInformation
+ uris: "/operationalreports/v1/reportInfo"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/v1/reportInfo"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: OperationalReportLeaderReadAccess
+ uris: "/operationalreports/leader/readaccess"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/leader/readaccess"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: BulkUserUpdateFileUpload
+ uris: "{{ workflow_handler_service_prefix }}/admin/transition/bulkupdate"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/admin/bulkupdate/transition"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: BulkUserUpdateFileDownload
+ uris: "{{ workflow_handler_service_prefix }}/admin/bulkuploadfile/download"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/admin/bulkbuplodfile/download/"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: listSector
+ uris: "/catalog/v1/sector"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/catalog/sector"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readSector
+ uris: "/catalog/v1/sector/read"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/catalog/sector/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createSector
+ uris: "/catalog/v1/sector/create"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/catalog/sector/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createSubSector
+ uris: "/catalog/v1/subsector/create"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v1/catalog/subsector/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createCalendarEvent
+ uris: "{{ calendar_prefix }}/v4/create"
+ upstream_url: "{{ content_service_url }}/event/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readCalendarEvent
+ uris: "{{ calendar_prefix }}/v4/read"
+ upstream_url: "{{ content_service_url }}/event/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateCalendarEvent
+ uris: "{{ calendar_prefix }}/v4/update"
+ upstream_url: "{{ content_service_url }}/event/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: publishCalendarEvent
+ uris: "{{ calendar_prefix }}/v4/publish"
+ upstream_url: "{{ content_service_url }}/event/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - '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: retireCalendarEvent
+ uris: "{{ calendar_prefix }}/v4/retire"
+ upstream_url: "{{ content_service_url }}/private/event/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createCareersEvent
+ uris: "{{ careers_prefix }}/v4/create"
+ upstream_url: "{{ content_service_url }}/event/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readCareersEvent
+ uris: "{{ careers_prefix }}/v4/read"
+ upstream_url: "{{ content_service_url }}/event/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateCareersEvent
+ uris: "{{ careers_prefix }}/v4/update"
+ upstream_url: "{{ content_service_url }}/event/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: publishCareersPrefixEvent
+ uris: "{{ careers_prefix }}/v4/publish"
+ upstream_url: "{{ content_service_url }}/event/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: retireCareersEvent
+ uris: "{{ careers_prefix }}/v4/retire"
+ upstream_url: "{{ content_service_url }}/event/v4/retire"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: getUserProgressV2
+ uris: "/v2/batch/getUserProgress"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v2/progress/getUserProgress"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: bulkUploadCalendarEvent
+ uris: "{{ calendar_prefix }}/v1/bulkUpload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/calendar/v1/bulkUpload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: micrositeUserInsights
+ uris: "/microsite/read/insights"
+ upstream_url: "{{ sb_cb_ext_service_url }}/microsite/read/insights"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: microsite
+ uris: "/msite/content/aggregation/search"
+ upstream_url: "{{ sb_cb_ext_service_url }}/content/aggregation/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: workflowGetUserWFApplicationFieldsV2
+ uris: "{{ workflow_handler_service_prefix }}/v2/userWFApplicationFieldsSearch"
+ upstream_url: "{{ workflow_handler_service_url }}/v2/workflow/getUserWFApplicationFields"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: externalOrgStorageReportDownloadDoc
+ uris: "/external/storage/v1/report"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/v1/report"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'automatedReportAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: externalOperationalReportDownload
+ uris: "/external/operationalreports/download"
+ upstream_url: "{{ sb_cb_ext_service_url }}/operational/reports/download"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'automatedReportAccess'
+ - name: 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: demandCreate
+ uris: "{{ demand_prefix }}/content/create"
+ upstream_url: "{{ cb_pores_service_url }}/demand/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: demandRead
+ uris: "{{ demand_prefix }}/content/read"
+ upstream_url: "{{ cb_pores_service_url }}/demand/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: deleteDemand
+ uris: "{{ demand_prefix }}/content/delete"
+ upstream_url: "{{ cb_pores_service_url }}/demand/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: searchDemand
+ uris: "{{ demand_prefix }}/content/search"
+ upstream_url: "{{ cb_pores_service_url }}/demand/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgAssetUpload
+ uris: "/storage/orgStoreUpload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/storage/orgStoreUpload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListCreate
+ uris: "{{ playlist_prefix }}/create"
+ upstream_url: "{{ cb_pores_service_url }}/playList/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListUpdate
+ uris: "{{ playlist_prefix }}/update"
+ upstream_url: "{{ cb_pores_service_url }}/playList/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListSearch
+ uris: "{{ playlist_prefix }}/search"
+ upstream_url: "{{ cb_pores_service_url }}/playList/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListDelete
+ uris: "{{ playlist_prefix }}/delete"
+ upstream_url: "{{ cb_pores_service_url }}/playList/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playerGetAssessmentResultV5
+ uris: "{{ user_service_prefix }}/assessment/v5/result"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/quml/assessment/result"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: retakeAssessmentV5
+ uris: "{{ user_service_prefix }}/assessment/v5/retake"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/quml/assessment/retake"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ small_request_size_limit }}"
+
+ - name: assessmentSubmitV5
+ uris: "/v5/user/assessment/submit"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/user/assessment/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataCreate'
+ - 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: "{{ medium_request_size_limit }}"
+
+ - name: playerQuestionListV5
+ uris: "{{ player_prefix }}/question/v5/list"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/quml/question/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: playerQuSetReadHierarchyV5
+ uris: "{{ player_prefix }}/questionset/v5/hierarchy"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/quml/assessment/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - 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: interestCreate
+ uris: "{{ interest_prefix }}/v1/create"
+ upstream_url: "{{ cb_pores_service_url }}/interest/v1/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: interestRead
+ uris: "{{ interest_prefix }}/v1/read"
+ upstream_url: "{{ cb_pores_service_url }}/interest/v1/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: interestSearch
+ uris: "{{ interest_prefix }}/v1/search"
+ upstream_url: "{{ cb_pores_service_url }}/interest/v1/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: interestAssign
+ uris: "{{ interest_prefix }}/v1/assign"
+ upstream_url: "{{ cb_pores_service_url }}/interest/v1/assign"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateDemandStatus
+ uris: "{{ demand_prefix }}/content/v1/update/status"
+ upstream_url: "{{ cb_pores_service_url }}/demand/v1/update/status"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: assessmentSaveV5
+ uris: "/assessment/save"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/user/assessment/save"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgBookmarkCreate
+ uris: "{{ orgBookmark_prefix }}/v1/create"
+ upstream_url: "{{ cb_pores_service_url }}/orgBookmark/v1/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgBookmarkUpdate
+ uris: "{{ orgBookmark_prefix }}/v1/update"
+ upstream_url: "{{ cb_pores_service_url }}/orgBookmark/v1/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgBookmarkSearch
+ uris: "{{ orgBookmark_prefix }}/v1/search"
+ upstream_url: "{{ cb_pores_service_url }}/orgBookmark/v1/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgBookmarkDelete
+ uris: "{{ orgBookmark_prefix }}/v1/delete"
+ upstream_url: "{{ cb_pores_service_url }}/orgBookmark/v1/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: orgBookmarkRead
+ uris: "{{ orgBookmark_prefix }}/v1/read"
+ upstream_url: "{{ cb_pores_service_url }}/orgBookmark/v1/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListV2Search
+ uris: "{{ playlist_prefix }}/v2/search"
+ upstream_url: "{{ cb_pores_service_url }}/playList/v2/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListRead
+ uris: "{{ playlist_prefix }}/read"
+ upstream_url: "{{ cb_pores_service_url }}/playList/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: announcementCreate
+ uris: "{{ announcement_prefix }}/v1/create"
+ upstream_url: "{{ cb_pores_service_url }}/announcements/v1/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: announcementSearch
+ uris: "{{ announcement_prefix }}/v1/search"
+ upstream_url: "{{ cb_pores_service_url }}/announcements/v1/search"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: announcementUpdate
+ uris: "{{ announcement_prefix }}/v1/update"
+ upstream_url: "{{ cb_pores_service_url }}/announcements/v1/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: announcementRead
+ uris: "{{ announcement_prefix }}/v1/read"
+ upstream_url: "{{ cb_pores_service_url }}/announcements/v1/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: announcementDelete
+ uris: "{{ announcement_prefix }}/v1/delete"
+ upstream_url: "{{ cb_pores_service_url }}/announcements/v1/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: assessmentSavePointV5
+ uris: "/assessment/savepoint"
+ upstream_url: "{{ sb_cb_ext_service_url }}/v5/quml/assessment/savepoint"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListV2Create
+ uris: "{{ playlist_prefix }}/v2/create"
+ upstream_url: "{{ cb_pores_service_url }}/playList/v2/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListV2Update
+ uris: "{{ playlist_prefix }}/v2/update"
+ upstream_url: "{{ cb_pores_service_url }}/playList/v2/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListV2Read
+ uris: "{{ playlist_prefix }}/v2/read"
+ upstream_url: "{{ cb_pores_service_url }}/playList/v2/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosOnBoard
+ uris: "{{ cios_prefix }}/v1/onboardContent"
+ upstream_url: "{{ cb_pores_service_url }}/cios/v1/onboardContent"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosRead
+ uris: "{{ cios_prefix }}/v1/content/read"
+ upstream_url: "{{ cb_pores_service_url }}/cios/v1/content/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosSearch
+ uris: "{{ cios_prefix }}/v1/search/content"
+ upstream_url: "{{ cb_pores_service_url }}/cios/v1/search/content"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosDelete
+ uris: "{{ cios_prefix }}/v1/content/delete"
+ upstream_url: "{{ cb_pores_service_url }}/cios/v1/content/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentUpdate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosLoadExcel
+ uris: "{{ ciosIntegration_prefix }}/v1/loadContentFromExcel"
+ upstream_url: "{{ cios_content_service_url }}/ciosIntegration/v1/loadContentFromExcel"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: ciosReadContent
+ uris: "{{ ciosIntegration_prefix }}/v1/readAllContentFromDb"
+ upstream_url: "{{ cios_content_service_url }}/ciosIntegration/v1/readAllContentFromDb"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: createTendersEvent
+ uris: "{{ tenders_prefix }}/v4/create"
+ upstream_url: "{{ content_service_url }}/event/v4/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentCreate'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: readTendersEvent
+ uris: "{{ tenders_prefix }}/v4/read"
+ upstream_url: "{{ content_service_url }}/event/v4/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: updateTendersEvent
+ uris: "{{ tenders_prefix }}/v4/update"
+ upstream_url: "{{ content_service_url }}/event/v4/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: publishTendersEvent
+ uris: "{{ tenders_prefix }}/v4/publish"
+ upstream_url: "{{ content_service_url }}/event/v4/publish"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: CBBulkUserUploadV2
+ uris: "{{ user_service_prefix }}/v2/bulkupload"
+ upstream_url: "{{ sb_cb_ext_service_url }}/user/v2/bulkupload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'userCreate'
+ - name: 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: BulkUserUpdateFileUploadV2
+ uris: "{{ workflow_handler_service_prefix }}/admin/v2/bulkupdate/transition"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/admin/v2/bulkupdate/transition"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: playListSearchProgram
+ uris: "{{ playlist_prefix }}/v1/search/program"
+ upstream_url: "{{ cb_pores_service_url }}/playList/v1/search/program"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: profileDetails
+ uris: "{{ mentoring_user_prefix }}/v1/user/read/"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/user/read/"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: mentorProfileDetails
+ uris: "{{ mentoring_prefix }}/v1/mentors/profile/"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/profile/"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: menteeProfileDetails
+ uris: "{{ mentoring_prefix }}/v1/mentors/profile/"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/users/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: fileCloudUpload
+ uris: "{{ mentoring_user_prefix }}/v1/cloud-services/file/upload"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/cloud-services/file/upload"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: menteeSessions
+ uris: "{{ mentoring_prefix }}/v1/mentees/sessions"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentees/sessions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: homeFeeds
+ uris: "{{ mentoring_prefix }}/v1/mentees/sessions"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentees/homeFeed"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: getSignedUrl
+ uris: "{{ mentoring_user_prefix }}/v1/cloud-services/file"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/cloud-services/file"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: uploadFile
+ uris: "{{ mentoring_prefix }}/v1/cloud-services/getSignedUrl"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/cloud-services/getSignedUrl"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: feedbackSubmit
+ uris: "{{ mentoring_prefix }}/v1/feedback/submit"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/feedback/submit"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: upcomingSessions
+ uris: "{{ mentoring_prefix }}/v1/mentors/upcomingSessions"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/upcomingSessions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: shareMentorProfile
+ uris: "{{ mentoring_prefix }}/v1/mentors/share"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/share"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - name: 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: reportIssue
+ uris: "{{ mentoring_prefix }}/v1/issues/create"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/issues/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: mentorProfileRead
+ uris: "{{ mentoring_prefix }}/v1/profile/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/profile/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: createdSessions
+ uris: "{{ mentoring_prefix }}/v1/mentors/createdSessions"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/createdSessions"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: mentorsList
+ uris: "{{ mentoring_prefix }}/v1/mentors/list"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: mentorProfileDetailsv1
+ uris: "{{ mentoring_prefix }}/v1/mentors/details"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: formRead
+ uris: "{{ mentoring_prefix }}/v1/form/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/form/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: sessionCreate
+ uris: "{{ mentoring_prefix }}/v1/sessions/update"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: sessionList
+ uris: "{{ mentoring_prefix }}/v1/sessions/list"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: sessionDetails
+ uris: "{{ mentoring_prefix }}/v1/sessions/details"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/details"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: shareSession
+ uris: "{{ mentoring_prefix }}/v1/sessions/share"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/share"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: sessionEnroll
+ uris: "{{ mentoring_prefix }}/v1/sessions/enroll"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/enroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - name: 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: sessionsUnEnroll
+ uris: "{{ mentoring_prefix }}/v1/sessions/unEnroll"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/unEnroll"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - name: 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: sessionStart
+ uris: "{{ mentoring_prefix }}/v1/sessions/start"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/start"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: joinSession
+ uris: "{{ mentoring_prefix }}/v1/mentees/joinSession"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentees/joinSession"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: mentorsReport
+ uris: "{{ mentoring_prefix }}/v1/mentors/reports"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/reports"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - name: 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: menteeReport
+ uris: "{{ mentoring_prefix }}/v1/mentees/reports"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentees/reports"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - name: 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: questionsSetRead
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questionsSet/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionsRead
+ uris: "{{ mentoring_prefix }}/v1/questions/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questions/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: entityTypeRead
+ uris: "{{ mentoring_interface_prefix }}/v1/entity-type/read"
+ upstream_url: "{{ mentoring_service_url }}/interface/v1/entity-type/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: mentorEntityTypeRead
+ uris: "{{ mentoring_prefix }}/v1/entity-type/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/entity-type/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: listOfOrgRoles
+ uris: "{{ mentoring_user_prefix }}/v1/user-role/list"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/user-role/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: menteeList
+ uris: "{{ mentoring_prefix }}/v1/mentees/list"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentees/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: mentorList
+ uris: "{{ mentoring_prefix }}/v1/mentors/list"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/mentors/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: enrolledMenteesList
+ uris: "{{ mentoring_prefix }}/v1/sessions/enrolledMentees"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/sessions/enrolledMentees"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: platformConfig
+ uris: "{{ mentoring_prefix }}/v1/platform/config"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/platform/config"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - name: 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: entityTypeCreate
+ uris: "{{ mentoring_prefix }}/v1/entity-type/create"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/entity-type/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: entityTypeCreateUser
+ uris: "{{ mentoring_user_prefix }}/v1/entity-type/create"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/entity-type/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: entityTypeUpdateUser
+ uris: "{{ mentoring_user_prefix }}/v1/entity-type/update"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/entity-type/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: entityTypeUpdate
+ uris: "{{ mentoring_prefix }}/v1/entity-type/create"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/entity-type/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: toChangeUserRole
+ uris: "{{ mentoring_prefix }}/v1/org-admin/roleChange"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/org-admin/roleChange"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: getOrgPolicy
+ uris: "{{ mentoring_prefix }}/v1/org-admin/getOrgPolicies"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/org-admin/getOrgPolicies"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - 'mentorServiceOrgAdmin'
+ - 'mentorServiceSysAdmin'
+ - name: 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: setReleateOrganisation
+ uris: "{{ mentoring_prefix }}/v1/org-admin/updateRelatedOrgs"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/org-admin/updateRelatedOrgs"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: setOrgPolicy
+ uris: "{{ mentoring_prefix }}/v1/org-admin/setOrgPoliciessetOrgPolicies"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/org-admin/setOrgPoliciessetOrgPolicies"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: updateSampleCsv
+ uris: "{{ mentoring_prefix }}/v1/org-admin/uploadSampleCSV"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/org-admin/uploadSampleCSV"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: createUserServiceForm
+ uris: "{{ mentoring_user_prefix }}/v1/form/create"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/form/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: createMentorServiceForm
+ uris: "{{ mentoring_prefix }}/v1/form/create"
+ upstream_url: "{{ mentoring_service_url }}/mentor/v1/form/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: updateUserServiceForm
+ uris: "{{ mentoring_user_prefix }}/v1/form/update"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/form/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: updateMentorServiceForm
+ uris: "{{ mentoring_prefix }}/v1/form/update"
+ upstream_url: "{{ mentoring_service_url }}/mentor/v1/form/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: adminAccountCreate
+ uris: "{{ mentoring_user_prefix }}/v1/admin/create"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: adminAccountLogin
+ uris: "{{ mentoring_user_prefix }}/v1/admin/login"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/login"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: addOrgAdmin
+ uris: "{{ mentoring_user_prefix }}/v1/admin/addOrgAdmin"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/addOrgAdmin"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: deactivateOrg
+ uris: "{{ mentoring_user_prefix }}/v1/admin/deactivateOrg"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/deactivateOrg"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: orgCreate
+ uris: "{{ mentoring_user_prefix }}/v1/organization/create"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/organization/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: updateOrg
+ uris: "{{ mentoring_user_prefix }}/v1/organization/update"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/organization/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: orgList
+ uris: "{{ mentoring_user_prefix }}/v1/organization/list"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/organization/list"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentor'
+ - 'mentorServiceMentee'
+ - name: 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: requestOrgRole
+ uris: "{{ mentoring_user_prefix }}/v1/organization/requestOrgRole"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/organization/requestOrgRole"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: buildorrebuildMaterializedviewsInternal
+ uris: "{{ mentoring_prefix }}/v1/admin/triggerViewRebuildInternal"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/admin/triggerViewRebuildInternal"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: buildorrebuildMaterializedviews
+ uris: "{{ mentoring_prefix }}/v1/admin/triggerViewRebuild"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/admin/triggerViewRebuild"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: buildorrebuildMaterializedviewsUserInternal
+ uris: "{{ mentoring_user_prefix }}/v1/admin/triggerViewRebuildInternal"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/triggerViewRebuildInternal"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: buildorrebuildMaterializedviewsUser
+ uris: "{{ mentoring_user_prefix }}/v1/admin/triggerViewRebuild"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/admin/triggerViewRebuild"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: deleteEnityUser
+ uris: "{{ mentoring_user_prefix }}/v1/entity-type/delete"
+ upstream_url: "{{ mentoring_service_url }}/user/v1/entity-type/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: deleteEnity
+ uris: "{{ mentoring_prefix }}/v1/entity-type/delete"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/entity-type/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceOrgAdmin'
+ - name: 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: questionsSetCreate
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/create"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questionsSet/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionsSetUpdate
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/update"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questionsSet/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionsSetReadv1
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questionsSet/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionRead
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/read"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questions/read"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionCreate
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/create"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questions/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: questionUpdate
+ uris: "{{ mentoring_prefix }}/v1/questionsSet/update"
+ upstream_url: "{{ mentoring_service_url }}/mentoring/v1/questions/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceSysAdmin'
+ - name: 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: exploreCourseCreate
+ uris: "{{ course_service_prefix }}/v1/explore/upsert"
+ upstream_url: "{{ sb_cb_ext_service_url }}/course/v1/explore/upsert"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: exploreCourseDelete
+ uris: "{{ course_service_prefix }}/v1/explore/delete"
+ upstream_url: "{{ sb_cb_ext_service_url }}/course/v1/explore/delete"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'contentAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: externalMentoringCreate
+ uris: "{{ mentoring_interface_prefix }}/v1/external/create"
+ upstream_url: "{{ mentoring_service_url }}/interface/v1/external/create"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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: pendingRequestCSVDwonload
+ uris: "{{ workflow_handler_service_prefix }}/admin/pending/request"
+ upstream_url: "{{ workflow_handler_service_url }}/v1/workflow/admin/pendingRequest/download/"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'dataAccess'
+ - name: rate-limiting
+ config.policy: local
+ config.hour: "{{ medium_rate_limit_per_hour }}"
+ config.limit_by: credential
+ - name: request-size-limiting
+ config.allowed_payload_size: "{{ medium_request_size_limit }}"
+
+ - name: externalMentoringUpdate
+ uris: "{{ mentoring_interface_prefix }}/v1/external/update"
+ upstream_url: "{{ mentoring_service_url }}/interface/v1/external/update"
+ strip_uri: true
+ plugins:
+ - name: jwt
+ - name: cors
+ - "{{ statsd_pulgin }}"
+ - name: acl
+ config.whitelist:
+ - 'mentorServiceMentee'
+ - 'mentorServiceMentor'
+ - name: 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 }}"
diff --git a/ansible/roles/kong-consumer/defaults/main.yml b/ansible/roles/kong-consumer/defaults/main.yml
index 9acffb2f50..a24a8297d1 100644
--- a/ansible/roles/kong-consumer/defaults/main.yml
+++ b/ansible/roles/kong-consumer/defaults/main.yml
@@ -55,6 +55,21 @@ mobile_device_groups:
- solutionAccess
- surveyAccess
- surveyUpdate
+ - frameworkAdmin
+ - frameworkCreate
+ - userSuperAdmin
+ - orgUpdatecontent
+ - SuperAdmin
+ - orgSuperAdmin
+ - orgAdmin
+ - dataAccess
+ - dataCreate
+ - contentAdmin
+ - contentTempAccess
+ - pluginAccess
+ - channelAdmin
+ - noteAccess
+ - userTempAdmin
anonymous_user_groups:
- deviceCreate
@@ -150,6 +165,19 @@ kong_all_consumer_groups:
- readNotificationFeed
- updateNotificationFeed
- deleteNotificationFeed
+ - frameworkAdmin
+ - frameworkCreate
+ - userSuperAdmin
+ - orgUpdatecontent
+ - SuperAdmin
+ - orgSuperAdmin
+ - orgAdmin
+ - registryUpdate
+ - frameworkUpdate
+ - programsUpdate
+ - programsAccess
+ - solutionsUpdate
+ - dbAccess
kong_consumers:
- username: api-admin
@@ -177,12 +205,12 @@ kong_consumers:
- username: portal_anonymous
groups: "{{ anonymous_user_groups }}"
state: present
- - username: portal_loggedin
- groups: "{{ kong_all_consumer_groups }}"
- state: present
- - username: portal_anonymous_fallback_token
- groups: "{{ anonymous_user_groups }}"
- state: present
- - username: portal_loggedin_fallback_token
- groups: "{{ kong_all_consumer_groups }}"
- state: present
+ # - username: portal_loggedin
+ # groups: "{{ kong_all_consumer_groups }}"
+ # state: present
+ # - username: portal_anonymous_fallback_token
+ # groups: "{{ anonymous_user_groups }}"
+ # state: present
+ # - username: portal_loggedin_fallback_token
+ # groups: "{{ kong_all_consumer_groups }}"
+ # state: present
diff --git a/ansible/roles/log-es6/log-es6.iml b/ansible/roles/log-es6/log-es6.iml
new file mode 100644
index 0000000000..1578adc390
--- /dev/null
+++ b/ansible/roles/log-es6/log-es6.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ansible/roles/openjdk/tasks/main.yml b/ansible/roles/openjdk/tasks/main.yml
index 150cfd9f4d..63e8aba82b 100644
--- a/ansible/roles/openjdk/tasks/main.yml
+++ b/ansible/roles/openjdk/tasks/main.yml
@@ -5,5 +5,5 @@
apt: name='oracle-java8-set-default' state=absent
- name: ensure openjdk 8 is present
- apt: name='openjdk-8-jre-headless' state=present
+ apt: name='openjdk-8-jdk-headless' state=present
diff --git a/ansible/roles/post-install/defaults/main.yml b/ansible/roles/post-install/defaults/main.yml
index 9c9e626402..adef571366 100644
--- a/ansible/roles/post-install/defaults/main.yml
+++ b/ansible/roles/post-install/defaults/main.yml
@@ -1635,9 +1635,9 @@ custodian_org_data:
- { "id": "{{ sunbird_default_channel }}", "field": "{{ sunbird_default_channel }}", "value": "https://{{ domain_name }}/faq" }
default_user_details:
- - { "firstName": "creator", "lastName": "", "email": "creator@yopmail.com", "password":"Pass@123" }
- - { "firstName": "reviewer", "lastName": "", "email": "reviewer@yopmail.com", "password":"Pass@123" }
- - { "firstName": "publisher", "lastName": "", "email": "publisher@yopmail.com", "password":"Pass@123" }
+ - { "firstName": "creator4", "lastName": "", "email": "creator4@yopmail.com", "password":"Pass@123" }
+ - { "firstName": "reviewer4", "lastName": "", "email": "reviewer4@yopmail.com", "password":"Pass@123" }
+ - { "firstName": "publisher4", "lastName": "", "email": "publisher4@yopmail.com", "password":"Pass@123" }
# These variables will get overridden on run time
state_id: ""
diff --git a/ansible/roles/post-install/tasks/main.yml b/ansible/roles/post-install/tasks/main.yml
index 121e4d0653..949252c68b 100644
--- a/ansible/roles/post-install/tasks/main.yml
+++ b/ansible/roles/post-install/tasks/main.yml
@@ -16,55 +16,55 @@
- debug:
var: keycloak_access_token
-- name: Creating root org
- block:
- - uri:
- url: "https://{{ domain_name }}/api/org/v1/create"
- method: POST
- headers:
- x-authenticated-user-token: "{{ keycloak_access_token }}"
- Authorization: "Bearer {{ core_vault_sunbird_api_auth_token }}"
- body_format: json
- body: |-
- {
- "request": {
- "orgName": "Sunbird",
- "channel": "{{ sunbird_default_channel }}",
- "description": "Default Channel",
- "isTenant": true,
- "organisationType":"board"
- }
- }
- register: custodian_org_output
- - debug:
- var: custodian_org_output
- - set_fact:
- sunbird_custodian_org_id: "{{ custodian_org_output.json.result.organisationId }}"
- - debug:
- var: sunbird_custodian_org_id
+#- name: Creating root org
+# block:
+# - uri:
+# url: "https://{{ domain_name }}/api/org/v1/create"
+# method: POST
+# headers:
+# x-authenticated-user-token: "{{ keycloak_access_token }}"
+# Authorization: "Bearer {{ core_vault_sunbird_api_auth_token }}"
+# body_format: json
+# body: |-
+# {
+# "request": {
+# "orgName": "Sunbird",
+# "channel": "{{ sunbird_default_channel }}",
+# "description": "Default Channel",
+# "isTenant": true,
+# "organisationType":"board"
+# }
+# }
+# register: custodian_org_output
+# - debug:
+# var: custodian_org_output
+# - set_fact:
+# sunbird_custodian_org_id: "{{ custodian_org_output.json.result.organisationId }}"
+# - debug:
+# var: sunbird_custodian_org_id
# Else login won't work
-- name: Creating NTP org for login
- block:
- - uri:
- url: "https://{{ domain_name }}/api/org/v1/create"
- method: POST
- headers:
- x-authenticated-user-token: "{{ keycloak_access_token }}"
- Authorization: "Bearer {{ core_vault_sunbird_api_auth_token }}"
- body_format: json
- body: |-
- {
- "request": {
- "orgName":"NTP",
- "description":"NTP Organisation for Sunbird",
- "isRootOrg": true,
- "channel": "ntp",
- "organisationType": "board",
- "isTenant": true
- }
- }
+#- name: Creating NTP org for login
+# block:
+# - uri:
+# url: "https://{{ domain_name }}/api/org/v1/create"
+# method: POST
+# headers:
+# x-authenticated-user-token: "{{ keycloak_access_token }}"
+# Authorization: "Bearer {{ core_vault_sunbird_api_auth_token }}"
+# body_format: json
+# body: |-
+ # {
+ # "request": {
+ # "orgName":"NTP",
+ # "description":"NTP Organisation for Sunbird",
+ # "isRootOrg": true,
+ # "channel": "ntp",
+ # "organisationType": "board",
+ # "isTenant": true
+ # }
+ # }
-# - import_tasks: knowledge_platform_tasks.yaml
-# - import_tasks: user_org.yaml
-# - import_tasks: forms.yaml
+#- import_tasks: knowledge_platform_tasks.yaml
+#- import_tasks: user_org.yaml
+#- import_tasks: forms.yaml
diff --git a/ansible/roles/post-install/tasks/user_org.yaml b/ansible/roles/post-install/tasks/user_org.yaml
index caee5ebaa7..413b996502 100644
--- a/ansible/roles/post-install/tasks/user_org.yaml
+++ b/ansible/roles/post-install/tasks/user_org.yaml
@@ -57,11 +57,6 @@
"operation":"add",
"scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
},
- {
- "role": "REPORT_ADMIN",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
{
"role": "CONTENT_REVIEWER",
"operation":"add",
@@ -82,11 +77,6 @@
"operation":"add",
"scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
},
- {
- "role": "ORG_MANAGEMENT",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
{
"role": "TEACHER_BADGE_ISSUER",
"operation":"add",
@@ -97,26 +87,11 @@
"operation":"add",
"scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
},
- {
- "role": "CONTENT_CURATION",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
- {
- "role": "SYSTEM_ADMINISTRATION",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
{
"role": "ANNOUNCEMENT_SENDER",
"operation":"add",
"scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
},
- {
- "role": "PROGRAM_MANAGER",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
{
"role": "REPORT_VIEWER",
"operation":"add",
@@ -127,21 +102,6 @@
"operation":"add",
"scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
},
- {
- "role": "CONTENT_REVIEW",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
- {
- "role": "CONTENT_CREATION",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
- {
- "role": "MEMBERSHIP_MANAGEMENT",
- "operation":"add",
- "scope": [{ "organisationId": "{{ sunbird_custodian_org_id }}" }]
- },
{
"role": "COURSE_CREATOR",
"operation":"add",
diff --git a/ansible/roles/postgresql-backup/defaults/main.yml b/ansible/roles/postgresql-backup/defaults/main.yml
index d64be512d8..d9b326a650 100644
--- a/ansible/roles/postgresql-backup/defaults/main.yml
+++ b/ansible/roles/postgresql-backup/defaults/main.yml
@@ -1,5 +1,4 @@
postgresql_backup_dir: /tmp/postgresql-backup
postgresql_user: postgres
-postgresql_backup_azure_container_name: postgresql-backup
-
-# Set these vars per environment as show in example below
+backup_bucket: backup-bucket
+postgresql_backup_folder: postgresql-backup-{{ ansible_host }}
\ No newline at end of file
diff --git a/ansible/roles/postgresql-backup/meta/main.yml b/ansible/roles/postgresql-backup/meta/main.yml
deleted file mode 100644
index 23b18a800a..0000000000
--- a/ansible/roles/postgresql-backup/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
- - azure-cli
\ No newline at end of file
diff --git a/ansible/roles/postgresql-backup/tasks/main.yml b/ansible/roles/postgresql-backup/tasks/main.yml
index c71f15510f..1f9f1d6e85 100644
--- a/ansible/roles/postgresql-backup/tasks/main.yml
+++ b/ansible/roles/postgresql-backup/tasks/main.yml
@@ -13,20 +13,14 @@
async: 3600
poll: 10
-- name: Ensure azure blob storage container exists
- command: az storage container create --name {{ postgresql_backup_azure_container_name }}
- ignore_errors: true
- environment:
- AZURE_STORAGE_ACCOUNT: "{{ sunbird_management_storage_account_name }}"
- AZURE_STORAGE_KEY: "{{ sunbird_management_storage_account_key }}"
-
-- name: Upload to azure blob storage
- command: az storage blob upload --name {{ postgresql_backup_gzip_file_name }} --file {{ postgresql_backup_gzip_file_path }} --container-name {{ postgresql_backup_azure_container_name }}
- environment:
- AZURE_STORAGE_ACCOUNT: "{{ sunbird_management_storage_account_name }}"
- AZURE_STORAGE_KEY: "{{ sunbird_management_storage_account_key }}"
- async: 3600
- poll: 10
+- name: upload to gcs
+ include_role:
+ name: artifacts-upload-gcp
+ vars:
+ artifacts_container: "{{ backup_bucket }}/{{ postgresql_backup_folder }}"
+ artifact_path: "{{ postgresql_backup_gzip_file_path }}"
+ artifact: "{{ postgresql_backup_gzip_file_name }}"
+ service_account: "{{ gcp_backups_service_account }}"
- name: clean up backup dir after upload
file: path="{{ postgresql_backup_dir }}" state=absent
diff --git a/ansible/roles/postgresql-data-update/tasks/databases.yml b/ansible/roles/postgresql-data-update/tasks/databases.yml
index d13313e58c..d469e400d7 100644
--- a/ansible/roles/postgresql-data-update/tasks/databases.yml
+++ b/ansible/roles/postgresql-data-update/tasks/databases.yml
@@ -2,16 +2,18 @@
- name: Ensure PostgreSQL databases are present.
postgresql_db:
name: "{{ item.name }}"
+ password: "{{ item.password | default(omit) }}"
encoding: "{{ item.encoding | default('UTF-8') }}"
template: "{{ item.template | default('template0') }}"
login_host: "{{ item.login_host | default('localhost') }}"
- login_password: "{{ item.login_password | default(omit) }}"
login_user: "{{ item.login_user | default(postgresql_user) }}"
+ login_password: "{{ item.login_password | default(omit) }}"
login_unix_socket: "{{ item.login_unix_socket | default(postgresql_unix_socket_directories[0]) }}"
port: "{{ item.port | default(omit) }}"
owner: "{{ item.owner | default(postgresql_user) }}"
state: "{{ item.state | default('present') }}"
with_items: "{{ postgresql_databases }}"
+ no_log: "{{ postgres_users_no_log }}"
become: true
become_user: "{{ postgresql_user }}"
# See: https://github.com/ansible/ansible/issues/16048#issuecomment-229012509
diff --git a/ansible/roles/postgresql-data-update/tasks/main.yml b/ansible/roles/postgresql-data-update/tasks/main.yml
index 4dc4a1890b..d098c1fc45 100644
--- a/ansible/roles/postgresql-data-update/tasks/main.yml
+++ b/ansible/roles/postgresql-data-update/tasks/main.yml
@@ -1,8 +1,8 @@
- name: install psycopg2
package:
- name: python-psycopg2
+ name: python3-psycopg2
state: present
-
+
# Configure PostgreSQL.
- import_tasks: users.yml
- import_tasks: databases.yml
@@ -47,26 +47,26 @@
vars:
ansible_ssh_pipelining: true
-- name: Create the schema for uci transformer-service
- postgresql_db:
- login_user: "{{ uci_postgres_user }}"
- login_password: "{{ uci_postgres_password }}"
- login_unix_socket: "{{ postgresql_unix_socket_directories[0] }}"
- name: "{{ uci_forms_postgres_database }}"
- state: restore
- target: "/tmp/uci_transformer_postgres.sql"
- become_user: "{{ uci_postgres_user }}"
- vars:
- ansible_ssh_pipelining: true
+# - name: Create the schema for uci transformer-service
+# postgresql_db:
+# login_user: "{{ uci_postgres_user }}"
+# login_password: "{{ uci_postgres_password }}"
+# login_unix_socket: "{{ postgresql_unix_socket_directories[0] }}"
+# name: "{{ uci_forms_postgres_database }}"
+# state: restore
+# target: "/tmp/uci_transformer_postgres.sql"
+# become_user: "{{ uci_postgres_user }}"
+# vars:
+# ansible_ssh_pipelining: true
-- name: Create the schema for uci odk
- postgresql_db:
- login_user: "{{ uci_postgres_user }}"
- login_password: "{{ uci_postgres_password }}"
- login_unix_socket: "{{ postgresql_unix_socket_directories[0] }}"
- name: "{{ uci_odk_postgres_database }}"
- state: restore
- target: "/tmp/uci_odk_postgres.sql"
- become_user: "{{ uci_postgres_user }}"
- vars:
- ansible_ssh_pipelining: true
\ No newline at end of file
+# - name: Create the schema for uci odk
+# postgresql_db:
+# login_user: "{{ uci_postgres_user }}"
+# login_password: "{{ uci_postgres_password }}"
+# login_unix_socket: "{{ postgresql_unix_socket_directories[0] }}"
+# name: "{{ uci_odk_postgres_database }}"
+# state: restore
+# target: "/tmp/uci_odk_postgres.sql"
+# become_user: "{{ uci_postgres_user }}"
+# vars:
+# ansible_ssh_pipelining: true
\ No newline at end of file
diff --git a/ansible/roles/postgresql/defaults/main.yml b/ansible/roles/postgresql/defaults/main.yml
index 4e1677969c..160e7828ce 100644
--- a/ansible/roles/postgresql/defaults/main.yml
+++ b/ansible/roles/postgresql/defaults/main.yml
@@ -68,3 +68,7 @@ postgresql_users: []
# Whether to output user data when managing users.
postgres_users_no_log: true
+
+# apt postgres repo details
+postgres_repo_key: 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
+postgres_repo: 'deb http://apt.postgresql.org/pub/repos/apt/ jammy-pgdg main'
diff --git a/ansible/roles/postgresql/tasks/setup-Debian.yml b/ansible/roles/postgresql/tasks/setup-Debian.yml
index 1b540196f0..b8e68b82b7 100644
--- a/ansible/roles/postgresql/tasks/setup-Debian.yml
+++ b/ansible/roles/postgresql/tasks/setup-Debian.yml
@@ -4,6 +4,16 @@
name: "{{ postgresql_python_library }}"
state: present
+- name: debian | Adding Postgres Debian Repo Key
+ apt_key:
+ url: "{{ postgres_repo_key }}"
+ state: "present"
+
+- name: debian | Adding postgres Debian Repo
+ apt_repository:
+ repo: "{{ postgres_repo }}"
+ state: "present"
+
- name: Ensure PostgreSQL packages are installed.
apt:
name: "{{ postgresql_packages }}"
diff --git a/ansible/roles/postgresql/vars/Ubuntu-22.yml b/ansible/roles/postgresql/vars/Ubuntu-22.yml
new file mode 100644
index 0000000000..650ca25e33
--- /dev/null
+++ b/ansible/roles/postgresql/vars/Ubuntu-22.yml
@@ -0,0 +1,11 @@
+---
+__postgresql_version: "10"
+__postgresql_data_dir: "/var/lib/postgresql/{{ __postgresql_version }}/main"
+__postgresql_bin_path: "/usr/lib/postgresql/{{ __postgresql_version }}/bin"
+__postgresql_config_path: "/etc/postgresql/{{ __postgresql_version }}/main"
+__postgresql_daemon: postgresql
+__postgresql_packages:
+ - postgresql-10
+ - postgresql-contrib
+ - libpq-dev
+postgresql_python_library: python3-psycopg2
diff --git a/ansible/roles/prometheus-backup/meta/main.yml b/ansible/roles/prometheus-backup/meta/main.yml
deleted file mode 100644
index bb605fa878..0000000000
--- a/ansible/roles/prometheus-backup/meta/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-dependencies:
- - azure-cli
diff --git a/ansible/roles/stack-sunbird/defaults/main.yml b/ansible/roles/stack-sunbird/defaults/main.yml
index 422d2e8ec9..22520c7ff6 100644
--- a/ansible/roles/stack-sunbird/defaults/main.yml
+++ b/ansible/roles/stack-sunbird/defaults/main.yml
@@ -583,7 +583,7 @@ notification_liveness_readiness:
healthcheck: true
readinessProbe:
httpGet:
- path: /health
+ path: /service/health
port: 9000
initialDelaySeconds: 15
periodSeconds: 15
@@ -591,7 +591,7 @@ notification_liveness_readiness:
failureThreshold: 2
livenessProbe:
httpGet:
- path: /health
+ path: /service/health
port: 9000
initialDelaySeconds: 15
periodSeconds: 15
@@ -607,7 +607,7 @@ nodebb_liveness_readiness:
initialDelaySeconds: 45
periodSeconds: 15
timeoutSeconds: 5
- failureThreshold: 20
+ failureThreshold: 2
livenessProbe:
httpGet:
path: /discussions/api/category/2
@@ -615,7 +615,7 @@ nodebb_liveness_readiness:
initialDelaySeconds: 45
periodSeconds: 15
timeoutSeconds: 5
- failureThreshold: 20
+ failureThreshold: 2
player_liveness_readiness:
healthcheck: true
@@ -753,7 +753,7 @@ report_liveness_readiness:
healthcheck: false
readinessProbe:
httpGet:
- path: /service/health
+ path: /health
port: 3030
initialDelaySeconds: 15
periodSeconds: 15
@@ -1042,8 +1042,6 @@ content_opa_enabled: true
knowledgemw_opa_enabled: true
learner_opa_enabled: true
lms_opa_enabled: true
-notification_opa_enabled: true
-report_opa_enabled: true
# Desktop app is not sending x-authenticated-for header due to which managed user flow is breaking
# This is a temporary fix till the desktop app issue is fixed
@@ -1051,8 +1049,4 @@ kong_desktop_device_consumer_names_for_opa: '["desktop"]'
# Audience claim check is disabled as of now
# List of keycloak clients as these can come in audience field of a JWT token
-# keycloak_allowed_aud: '"{{ keycloak_auth_server_url }}/realms/{{ keycloak_realm }}", "account", "realm-management"'
-
-#Youtube Standard Licence Validation
-youtube_app_name: fetch-youtube-license
-youtube_api_key: "{{ lp_vault_youtube_api_key }}"
+# keycloak_allowed_aud: '"{{ keycloak_auth_server_url }}/realms/{{ keycloak_realm }}", "account", "realm-management"'
\ No newline at end of file
diff --git a/ansible/roles/stack-sunbird/templates/assessment-service_application.conf b/ansible/roles/stack-sunbird/templates/assessment-service_application.conf
index 851433f160..74699c16ea 100644
--- a/ansible/roles/stack-sunbird/templates/assessment-service_application.conf
+++ b/ansible/roles/stack-sunbird/templates/assessment-service_application.conf
@@ -383,10 +383,12 @@ languageCode {
telugu : "te"
}
-cloud_storage_type: "azure"
-azure_storage_key: "{{ sunbird_public_storage_account_name }}"
-azure_storage_secret: "{{ sunbird_public_storage_account_key }}"
-azure_storage_container: "{{ sunbird_content_azure_storage_container }}"
+#Cloud Storage details
+cloud_storage_type="{{ cloud_service_provider }}"
+cloud_storage_key="{{ cloud_storage_key }}"
+cloud_storage_secret="""{{ cloud_storage_secret }}"""
+cloud_storage_container="{{ cloud_storage_content_bucketname }}"
+cloud_storage_endpoint="{{ cloud_storage_endpoint }}"
kafka {
urls : "{{ kafka_urls }}"
@@ -414,15 +416,5 @@ import {
master.category.validation.enabled="{{ master_category_validation_enabled }}"
-question.cache.enable=true
-questionset.cache.enable=true
-assessment.copy.origin_data=["name", "author", "license", "organisation"]
-assessment.copy.props_to_remove=["downloadUrl", "artifactUrl", "variants",
- "createdOn", "collections", "children", "lastUpdatedOn", "SYS_INTERNAL_LAST_UPDATED_ON",
- "versionKey", "s3Key", "status", "pkgVersion", "toc_url", "mimeTypesCount",
- "contentTypesCount", "leafNodesCount", "childNodes", "prevState", "lastPublishedOn",
- "flagReasons", "compatibilityLevel", "size", "publishChecklist", "publishComment",
- "LastPublishedBy", "rejectReasons", "rejectComment", "gradeLevel", "subject",
- "medium", "board", "topic", "purpose", "subtopic", "contentCredits",
- "owner", "collaborators", "creators", "contributors", "badgeAssertions", "dialcodes",
- "concepts", "keywords", "reservedDialcodes", "dialcodeRequired", "leafNodes", "sYS_INTERNAL_LAST_UPDATED_ON", "prevStatus", "lastPublishedBy", "streamingUrl"]
\ No newline at end of file
+content.security.jwt.secret="{{ content_sec_jwt_secret }}"
+
diff --git a/ansible/roles/stack-sunbird/templates/content-service_application.conf b/ansible/roles/stack-sunbird/templates/content-service_application.conf
index 7cea2aa99a..77e3e676c3 100644
--- a/ansible/roles/stack-sunbird/templates/content-service_application.conf
+++ b/ansible/roles/stack-sunbird/templates/content-service_application.conf
@@ -14,6 +14,7 @@
# And if an environment variable exists when there is no other substitution, then
# HOCON will fall back to substituting environment variable:
#mykey = ${JAVA_HOME}
+indexHtmlValidation.env=false
## Akka
# https://www.playframework.com/documentation/latest/ScalaAkka#Configuration
@@ -211,8 +212,8 @@ play.http {
}
play.server.http.idleTimeout = 60s
-play.http.parser.maxDiskBuffer = 100MB
-parsers.anyContent.maxLength = 100MB
+play.http.parser.maxDiskBuffer = 400MB
+parsers.anyContent.maxLength = 400MB
## Netty Provider
# https://www.playframework.com/documentation/latest/SettingsNetty
@@ -339,8 +340,8 @@ play.filters {
}
}
-play.http.parser.maxMemoryBuffer = 50MB
-akka.http.parsing.max-content-length = 50MB
+play.http.parser.maxMemoryBuffer = 400MB
+akka.http.parsing.max-content-length = 400MB
schema.base_path="{{kp_schema_base_path | default('/home/sunbird/content-service-1.0-SNAPSHOT/schemas')}}"
# Cassandra Configuration
@@ -364,6 +365,7 @@ collection {
keyspace: "{{ lp_cassandra_keyspace_prefix }}_hierarchy_store"
cache.enable: true
image.migration.enabled: true
+ children_status_validation: false
}
content {
@@ -388,7 +390,8 @@ content {
copy {
invalid_statusList: ["Flagged","FlaggedDraft","FraggedReview","Retired", "Processing"]
origin_data: ["name", "author", "license", "organisation"]
- props_to_remove: ["downloadUrl", "artifactUrl", "variants", "createdOn", "collections", "children", "lastUpdatedOn", "SYS_INTERNAL_LAST_UPDATED_ON", "versionKey", "s3Key", "status", "pkgVersion", "toc_url", "mimeTypesCount", "contentTypesCount", "leafNodesCount", "childNodes", "prevState", "lastPublishedOn", "flagReasons", "compatibilityLevel", "size", "publishChecklist", "publishComment", "LastPublishedBy", "rejectReasons", "rejectComment", "gradeLevel", "subject", "medium", "board", "topic", "purpose", "subtopic", "contentCredits", "owner", "collaborators", "creators", "contributors", "badgeAssertions", "dialcodes", "concepts", "keywords", "reservedDialcodes", "dialcodeRequired", "leafNodes", "sYS_INTERNAL_LAST_UPDATED_ON", "prevStatus", "lastPublishedBy", "streamingUrl", "boardIds", "gradeLevelIds", "subjectIds", "mediumIds", "topicsIds", "targetFWIds", "targetBoardIds", "targetGradeLevelIds", "targetSubjectIds", "targetMediumIds", "targetTopicIds", "se_boards", "se_subjects", "se_mediums", "se_gradeLevels", "se_topics", "se_FWIds", "se_boardIds", "se_subjectIds", "se_mediumIds", "se_gradeLevelIds", "se_topicIds"]
+ props_to_remove: ["downloadUrl", "artifactUrl", "variants", "createdOn", "collections", "children", "lastUpdatedOn", "SYS_INTERNAL_LAST_UPDATED_ON", "versionKey", "s3Key", "status", "pkgVersion", "toc_url", "mimeTypesCount", "contentTypesCount", "leafNodesCount", "childNodes", "prevState", "lastPublishedOn", "flagReasons", "compatibilityLevel", "size", "publishChecklist", "publishComment", "LastPublishedBy", "rejectReasons", "rejectComment", "gradeLevel", "subject", "medium", "board", "topic", "subtopic", "contentCredits", "owner", "collaborators", "creators", "contributors", "badgeAssertions", "dialcodes", "concepts", "keywords", "reservedDialcodes", "dialcodeRequired", "leafNodes", "sYS_INTERNAL_LAST_UPDATED_ON", "prevStatus", "lastPublishedBy", "streamingUrl", "batches"]
+ is_copy_artifacturl: false
}
media {
base.url: "{{content_media_base_url | default(proto + '://' + domain_name)}}"
@@ -404,10 +407,10 @@ redis {
#--Maximum Content Package File Size Limit in Bytes (50 MB)
-MAX_CONTENT_PACKAGE_FILE_SIZE_LIMIT=157286400
+MAX_CONTENT_PACKAGE_FILE_SIZE_LIMIT=400000000
#--Maximum Asset File Size Limit in Bytes (50 MB)
-MAX_ASSET_FILE_SIZE_LIMIT=157286400
+MAX_ASSET_FILE_SIZE_LIMIT=400000000
#--No of Retry While File Download Fails
RETRY_ASSET_DOWNLOAD_COUNT=1
@@ -481,19 +484,14 @@ composite {
url : "{{ sunbird_search_service_api_base_url }}/v3/search"
}
}
-cloud_storage_type: "azure"
-azure_storage_key: "{{ sunbird_public_storage_account_name }}"
-azure_storage_secret: "{{ sunbird_public_storage_account_key }}"
-azure_storage_container: "{{ sunbird_content_azure_storage_container }}"
-# Google Drive APIKEY
-learning_content_drive_apiKey = "{{ learning_content_drive_apiKey }}"
-
-#Youtube Standard Licence Validation
-learning.content.youtube.application.name="{{ youtube_app_name }}"
-learning_content_youtube_apikey="{{ youtube_api_key }}"
-youtube.license.regex.pattern=["\\?vi?=([^&]*)", "watch\\?.*v=([^&]*)", "(?:embed|vi?)/([^/?]*)","^([A-Za-z0-9\\-\\_]*)"]
-learning.valid_license=["creativeCommon"]
+#Cloud Storage details
+cloud_storage_type="{{ cloud_service_provider }}"
+cloud_storage_key="{{ cloud_storage_key }}"
+cloud_storage_secret="""{{ cloud_storage_secret }}"""
+cloud_storage_container="{{ cloud_storage_content_bucketname }}"
+cloud_storage_endpoint="{{ cloud_storage_endpoint }}"
+temp=temp
kafka {
urls : "{{ kafka_urls }}"
@@ -504,64 +502,59 @@ kafka {
# DIAL Link Config
dial_service {
api {
- base_url : "http://dial-service.{{namespace}}.svc.cluster.local:9000"
+ base_url : "{{ sunbird_dial_repo_api_base_url }}"
auth_key : "{{ sunbird_dial_repo_api_key }}"
- search : "/dialcode/v3/search"
- generate : "/dialcode/v3/generate"
}
}
-
-reserve_dialcode {
- mimeType : ["application/vnd.ekstep.content-collection"]
- max_count : 250
-}
-
content.link_dialcode.validation=true
content.link_dialcode.max_limit=10
# Content Import API Config
-import {
- request_size_limit : 1000
- output_topic_name : "{{ env_name }}.auto.creation.job.request"
- required_props : {{ content_import_required_props }}
- remove_props : {{ content_import_remove_props }}
-}
+content.import.request_size_limit=1000
+content.import.required_props={{ content_import_required_props }}
+content.import.topic_name="{{ env_name }}.auto.creation.job.request"
+content.import.remove_props={{ content_import_remove_props }}
contentTypeToPrimaryCategory {
- ClassroomTeachingVideo: "Explanation Content"
- ConceptMap: "Learning Resource"
- Course: "Course"
- CuriosityQuestionSet: "Practice Question Set"
- eTextBook: "eTextbook"
- ExperientialResource: "Learning Resource"
- ExplanationResource: "Explanation Content"
- ExplanationVideo: "Explanation Content"
- FocusSpot: "Teacher Resource"
- LearningOutcomeDefinition: "Teacher Resource"
- MarkingSchemeRubric: "Teacher Resource"
- PedagogyFlow: "Teacher Resource"
- PracticeQuestionSet: "Practice Question Set"
- PracticeResource: "Practice Question Set"
- SelfAssess: "Course Assessment"
- TeachingMethod: "Teacher Resource"
- TextBook: "Digital Textbook"
- Collection: "Content Playlist"
- ExplanationReadingMaterial: "Learning Resource"
- LearningActivity: "Learning Resource"
- LessonPlan: "Content Playlist"
- LessonPlanResource: "Teacher Resource"
- PreviousBoardExamPapers: "Learning Resource"
- TVLesson: "Explanation Content"
- OnboardingResource: "Learning Resource"
- ReadingMaterial: "Learning Resource"
- Template: "Template"
- Asset: "Asset"
- Plugin: "Plugin"
- LessonPlanUnit: "Lesson Plan Unit"
- CourseUnit: "Course Unit"
- TextBookUnit: "Textbook Unit"
- Asset: "Certificate Template"
-}
+ ClassroomTeachingVideo: "Explanation Content"
+ ConceptMap: "Learning Resource"
+ Course: "Course"
+ CuriosityQuestionSet: "Practice Question Set"
+ eTextBook: "eTextbook"
+ ExperientialResource: "Learning Resource"
+ ExplanationResource: "Explanation Content"
+ ExplanationVideo: "Explanation Content"
+ FocusSpot: "Teacher Resource"
+ LearningOutcomeDefinition: "Teacher Resource"
+ MarkingSchemeRubric: "Teacher Resource"
+ PedagogyFlow: "Teacher Resource"
+ PracticeQuestionSet: "Practice Question Set"
+ PracticeResource: "Practice Question Set"
+ SelfAssess: "Course Assessment"
+ TeachingMethod: "Teacher Resource"
+ TextBook: "Digital Textbook"
+ Collection: "Content Playlist"
+ ExplanationReadingMaterial: "Learning Resource"
+ LearningActivity: "Learning Resource"
+ LessonPlan: "Content Playlist"
+ LessonPlanResource: "Teacher Resource"
+ PreviousBoardExamPapers: "Learning Resource"
+ TVLesson: "Explanation Content"
+ OnboardingResource: "Learning Resource"
+ ReadingMaterial: "Learning Resource"
+ Template: "Template"
+ Asset: "Asset"
+ Plugin: "Plugin"
+ LessonPlanUnit: "Lesson Plan Unit"
+ CourseUnit: "Course Unit"
+ TextBookUnit: "Textbook Unit"
+ Asset: "Certificate Template"
+ Course: "Program"
+ Course: "Blended Program"
+ Resource: "Offline Session"
+ Course: "Curated Program"
+ Course: "Moderated Program"
+ }
resourceTypeToPrimaryCategory {
Learn: "Learning Resource"
@@ -584,6 +577,7 @@ mimeTypeToPrimaryCategory {
"application/epub": ["Learning Resource", "Teacher Resource"]
"application/vnd.ekstep.ecml-archive": ["Learning Resource", "Teacher Resource"]
"text/x-url": ["Learnin Resource", "Teacher Resource"]
+ "application/offline": ["Learning Resource"]
}
objectcategorydefinition.keyspace="{{ lp_cassandra_keyspace_prefix }}_category_store"
@@ -591,24 +585,25 @@ objectcategorydefinition.keyspace="{{ lp_cassandra_keyspace_prefix }}_category_s
#Default objectCategory mapping for channel
channel {
content{
- primarycategories=["Course Assessment", "eTextbook", "Explanation Content", "Learning Resource", "Practice Question Set", "Teacher Resource", "Exam Question"]
- additionalcategories= {{ content_additional_categories | default('["Classroom Teaching Video", "Concept Map", "Curiosity Question Set", "Experiential Resource", "Explanation Video", "Focus Spot", "Learning Outcome Definition", "Lesson Plan", "Marking Scheme Rubric", "Pedagogy Flow", "Previous Board Exam Papers", "TV Lesson", "Textbook"]')}}
+ primarycategories=["Course Assessment", "eTextbook", "Explanation Content", "Learning Resource", "Practice Question Set", "Teacher Resource"]
+ additionalcategories=["Classroom Teaching Video", "Concept Map", "Curiosity Question Set", "Experiential Resource", "Explanation Video", "Focus Spot", "Learning Outcome Definition", "Lesson Plan", "Marking Scheme Rubric", "Pedagogy Flow", "Previous Board Exam Papers", "TV Lesson", "Textbook"]
}
collection {
- primarycategories=["Content Playlist", "Course", "Digital Textbook", "Question paper"]
- additionalcategories={{ collection_additional_categories | default('["Textbook", "Lesson Plan"]')}}
+ primarycategories=["Content Playlist", "Course", "Digital Textbook"]
+ additionalcategories=["Textbook", "Lesson Plan"]
}
asset {
primarycategories=["Asset", "CertAsset", "Certificate Template"]
additionalcategories=[]
}
}
+
master.category.validation.enabled="{{ master_category_validation_enabled }}"
-#Collection CSV
+#Collection CSV
sunbird_dialcode_search_api="http://dial-service.{{namespace}}.svc.cluster.local:9000/dialcode/v3/list"
framework_read_api_url="{{ sunbird_content_repo_api_base_url }}/framework/v3/read"
-sunbird_link_dial_code_api="{{ sunbird_content_service_api_base_url }}/collection/v4/dialcode/link"
+sunbird_link_dial_code_api="{{ sunbird_content_repo_api_base_url }}/collection/v3/dialcode/link"
collection {
@@ -640,5 +635,7 @@ collection {
}
}
}
-
+content.security.jwt.secret="{{ content_sec_jwt_secret }}"
plugin.media.base.url="{{ plugin_media_base_url }}"
+Course="Mandatory Course Goal"
+hierarchyUpdate.allow.resource.at.root.level=true
diff --git a/ansible/roles/stack-sunbird/templates/dial-service_application.conf b/ansible/roles/stack-sunbird/templates/dial-service_application.conf
index 745a8b9bfe..1be178f6ff 100644
--- a/ansible/roles/stack-sunbird/templates/dial-service_application.conf
+++ b/ansible/roles/stack-sunbird/templates/dial-service_application.conf
@@ -183,11 +183,9 @@ kafka {
dial_id = "https://{{domain_name}}/dial/{dialcode}"
dial_type = "https://{{domain_name}}/ns/"
-jsonld {
+schema {
basePath = "{{dial_service_schema_base_path}}"
- type = "sbed"
localPath = "/tmp"
ttl = 300
- sb_schema = ["http://store.knowlg.sunbird.org/dial/specs/sb/schema.jsonld"]
}
diff --git a/ansible/roles/stack-sunbird/templates/inbound.env b/ansible/roles/stack-sunbird/templates/inbound.env
index c8ed1a5157..7b48fe1153 100644
--- a/ansible/roles/stack-sunbird/templates/inbound.env
+++ b/ansible/roles/stack-sunbird/templates/inbound.env
@@ -12,7 +12,6 @@ KAFKA_OUTBOUND_TOPIC={{env_name}}.outbound
KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
-KAFKA_MESSAGE_REPORT_TOPIC={{env_name}}.message-report
#FormsDB
FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_database}}
@@ -57,7 +56,6 @@ REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
-SELECTED_FILE_CDN=azure
#Netcore
NETCORE_WHATSAPP_AUTH_TOKEN={{uci_netcore_whatsapp_token}}
diff --git a/ansible/roles/stack-sunbird/templates/ml-core-service.env b/ansible/roles/stack-sunbird/templates/ml-core-service.env
index 6bf2405d86..976be92dc1 100755
--- a/ansible/roles/stack-sunbird/templates/ml-core-service.env
+++ b/ansible/roles/stack-sunbird/templates/ml-core-service.env
@@ -78,7 +78,7 @@ ELASTICSEARCH_HOST_URL={{ml_core_elasticsearch_host_url | default("")}}
ELASTICSEARCH_ENTITIES_INDEX={{ml_core_elasticsearch_user_extension_index_type | default ("")}}
# Base url of the sunbird enviornment
-USER_SERVICE_URL={{ml_core_user_service_URL | default("http://learner-service:9000")}}
+USER_SERVICE_URL={{ml_core_user_service_URL | default("http://user-service:3000")}}
## portal url of env
APP_PORTAL_BASE_URL={{ proto }}://{{ domain_name }}
diff --git a/ansible/roles/stack-sunbird/templates/ml-projects-service.env b/ansible/roles/stack-sunbird/templates/ml-projects-service.env
index eeca6c4d70..5a0af39fc2 100644
--- a/ansible/roles/stack-sunbird/templates/ml-projects-service.env
+++ b/ansible/roles/stack-sunbird/templates/ml-projects-service.env
@@ -36,6 +36,3 @@ KAFKA_GROUP_ID={{ml_project_kafka_group_id | default("ml-project-service")}}
#Kafka topic name for pushing projects
PROJECT_SUBMISSION_TOPIC={{ml_project_submission_topic | default (env_name+".ml.projects.submissions")}}
-
-# Base url of the sunbird enviornment
-USER_SERVICE_URL={{ml_project_user_service_URL | default("http://learner-service:9000")}}
diff --git a/ansible/roles/stack-sunbird/templates/orchestrator.env b/ansible/roles/stack-sunbird/templates/orchestrator.env
index 4165f7dceb..bd6b974a11 100644
--- a/ansible/roles/stack-sunbird/templates/orchestrator.env
+++ b/ansible/roles/stack-sunbird/templates/orchestrator.env
@@ -12,9 +12,6 @@ KAFKA_OUTBOUND_TOPIC={{env_name}}.outbound
KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
-KAFKA_PROCESS_OUTBOUND={{env_name}}.process-outbound
-KAFKA_BROADCAST_TRANSFORMER_TOPIC={{env_name}}.broadcast-transformer
-KAFKA_GENERIC_TRANSFORMER_TOPIC={{env_name}}.generic-transformer
#Dummy config: To be removed later
KAFKA_LOGS_TOPIC={{env_name}}.inbound-unprocessed
@@ -24,14 +21,11 @@ FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_databa
FORMS_DB_USERNAME={{uci_postgres_user}}
FORMS_DB_PASSWORD={{uci_postgres_password}}
FORMS_DB_NAME={{uci_forms_postgres_database}}
-FORMS_DB_HOST={{uci_postgres_host}}
-FORMS_DB_PORT=5432
#Cassandra
CASSANDRA_URL={{sunbird_cassandra_host}}
CASSANDRA_PORT=9042
CASSANDRA_KEYSPACE={{env}}_uci_store
-CASSANDRA_MIGRATION_COUNT={{uci_cassandra_migration_count | default(1)}}
#Ports
ORCHESTRATOR_INTERNAL_PORT=8686
diff --git a/ansible/roles/stack-sunbird/templates/outbound.env b/ansible/roles/stack-sunbird/templates/outbound.env
index bac1d980e8..a76df2cce3 100644
--- a/ansible/roles/stack-sunbird/templates/outbound.env
+++ b/ansible/roles/stack-sunbird/templates/outbound.env
@@ -18,8 +18,6 @@ FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_databa
FORMS_DB_USERNAME={{uci_postgres_user}}
FORMS_DB_PASSWORD={{uci_postgres_password}}
FORMS_DB_NAME={{uci_forms_postgres_database}}
-FORMS_DB_HOST={{uci_postgres_host}}
-FORMS_DB_PORT=5432
#Cassandra
CASSANDRA_URL={{sunbird_cassandra_host}}
@@ -57,4 +55,3 @@ REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
-SELECTED_FILE_CDN=azure
diff --git a/ansible/roles/stack-sunbird/templates/search-service_application.conf b/ansible/roles/stack-sunbird/templates/search-service_application.conf
index f976dc8706..b4ded97213 100644
--- a/ansible/roles/stack-sunbird/templates/search-service_application.conf
+++ b/ansible/roles/stack-sunbird/templates/search-service_application.conf
@@ -332,7 +332,7 @@ installation.id="{{sunbird_installation}}"
# ElasticSearch Configuration
ekstepPlatformApiUserId="search-service"
search.es_conn_info="{{ search_index_host }}"
-search.fields.query=["name^100","title^100","lemma^100","code^100","domain","subject","description^10","keywords^100","ageGroup^10","filter^10","theme^10","genre^10","objects^25","contentType^100","language^200","teachingMode^25","skills^10","learningObjective^10","curriculum^100","gradeLevel^100","developer^100","attributions^10","identifier^100","IL_UNIQUE_ID^100","owner^50","board^100","relatedBoards^100","creator^100", "dialcodes^100","text","words","releaseNotes"]
+search.fields.query=["name^100", "identifier^100", "purpose^60", "keywords^60", "source^50.0", "owner^50", "creator^20", "sectorName^20","subSectorName^20","language^20.0", "description^5.0","courseCategory^5.0"]
search.fields.date=["lastUpdatedOn","createdOn","versionDate","lastSubmittedOn","lastPublishedOn"]
search.fields.mode_collection=["identifier","name","objectType","contentType","mimeType","size","childNodes","board","subject","medium","gradeLevel","appIcon","resourceType","origin","originData"]
search.batch.size=500
@@ -347,3 +347,6 @@ compositesearch.index.name="{{ compositesearch_index_name }}"
content.tagging.backward_enable=false
content.tagging.property=["subject","medium"]
search.payload.log_enable=true
+
+search.fields.enable.fuzzy.when.noresult=true
+search.fields.enable.secureSettings=true
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_cert-registry-service.env b/ansible/roles/stack-sunbird/templates/sunbird_cert-registry-service.env
index 2ea34bac0b..dcde35ae43 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_cert-registry-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_cert-registry-service.env
@@ -6,7 +6,7 @@ sunbird_es_port={{sunbird_es_port}}
sunbird_cassandra_keyspace={{sunbird_cassandra_keyspace|d('sunbird')}}
sunbird_cassandra_username={{sunbird_cassandra_username|d('cassandra')}}
sunbird_cassandra_password={{sunbird_cassandra_password|d('password')}}
-sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
+sunbird_cassandra_consistency_level=quorum
{% if (cassandra_cluster_size | int) > 1 %}
sunbird_cassandra_host={{groups['cassandra']|join(',')}}
sunbird_cassandra_port=9042
@@ -14,5 +14,3 @@ sunbird_cassandra_port=9042
sunbird_cassandra_host={{sunbird_cassandra_host}}
sunbird_cassandra_port=9042
{% endif %}
-# Release-5.0.0
-isMultiDCEnabled={{cassandra_multi_dc_enabled}}
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_cert-service.env b/ansible/roles/stack-sunbird/templates/sunbird_cert-service.env
index c43c23171b..da843520b6 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_cert-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_cert-service.env
@@ -1,13 +1,12 @@
CONTAINER_NAME={{cert_service_container_name}}
CLOUD_STORAGE_TYPE={{cloud_service_provider}}
-PRIVATE_CLOUD_STORAGE_SECRET={{sunbird_private_storage_account_key}}
-PRIVATE_CLOUD_STORAGE_KEY={{sunbird_private_storage_account_name}}
sunbird_cert_domain_url={{proto}}://{{proxy_server_name}}
sunbird_cert_enc_service_url=http://enc-service:8013
download_link_expiry_timeout=600
es_conn_info={{groups['es']|join(':9200,')}}:9200
ITEXT_LICENSE_ENABLED={{itext_license_enabled}}
ITEXT_LICENSE_PATH=/home/sunbird/itext_trail_license.xml
-PUBLIC_CLOUD_STORAGE_KEY={{sunbird_public_storage_account_name}}
-PUBLIC_CLOUD_STORAGE_SECRET={{sunbird_public_storage_account_key}}
PUBLIC_CONTAINER_NAME={{sunbird_cert_qr_container_name}}
+GCP_STORAGE_KEY={{cloud_storage_key}}
+GCP_STORAGE_SECRET={{cloud_storage_secret | replace('\n', '\\n')}}
+GCP_STORAGE_ENDPOINT={{cloud_storage_endpoint}}
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_discussions-mw-service.env b/ansible/roles/stack-sunbird/templates/sunbird_discussions-mw-service.env
index f972a40d80..fa7958b16f 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_discussions-mw-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_discussions-mw-service.env
@@ -7,10 +7,8 @@ nodebb_api_slug={{discussionsmw_nodebb_api_slug | default('/discussions/api') }}
# 3. click on Plugins => Write API
# 4. Under MASTER TOKENS section, click on create token button, It will generate a token.
authorization_token={{ discussionsmw_nodebb_authorization_token }}
-
-TELEMETRY_EVENTS_BATCH_SIZE={{ telemetry_events_batch_size | default(1) }}
-TELEMETRY_SERVICE_API_SLUG={{ telemetry_service_api_slug | default('/v1/telemetry') }}
-TELEMETRY_SERVICE_URL={{ telemetry_service_url | default('http://telemetry-service:9001') }}
-API_AUTH_TOKEN={{ api_auth_token | default('') }}
-enable_audit_event={{ enable_audit_event | default('true') }}
-moderation_flag={{ moderation_flag | default('false') }}
+CASSANDRA_IP={{sunbird_cassandra_host}}
+CASSANDRA_IP_PORT=9042
+CASSANDRA_USERNAME=cassandra
+CASSANDRA_PASSWORD=password
+CASSANDRA_KEYSPACE=sunbird
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_groups-service.env b/ansible/roles/stack-sunbird/templates/sunbird_groups-service.env
index 2c1e2fe83d..38e1c3cf8c 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_groups-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_groups-service.env
@@ -1,13 +1,14 @@
{% if (cassandra_cluster_size | int) > 1 %}
sunbird_cassandra_host={{groups['cassandra']|join(',')}}
sunbird_cassandra_port=9042,9042,9042
+sunbird_cassandra_consistency_level=quorum
{% else %}
sunbird_cassandra_host={{sunbird_cassandra_host}}
sunbird_cassandra_port=9042
+sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
{% endif %}
sunbird_cassandra_password={{sunbird_cassandra_password|d('password')}}
sunbird_cassandra_username={{sunbird_cassandra_username|d('cassandra')}}
-sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
LEARNER_SERVICE_PORT=http://learner-service:9000
sunbird_redis_host={{sunbird_redis_host}}
sunbird_redis_port={{sunbird_redis_port|default(6379)}}
@@ -40,5 +41,3 @@ notification_service_api_url=/v2/notification/send
#“OFF“: To disable for all states
#To allow multiple channel . please write as comma separated : e.g : tn,cg value
enable_tenant_config={{enable_tenant_config| default('*')}}
-# Release-5.0.0
-isMultiDCEnabled={{cassandra_multi_dc_enabled}}
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_knowledge-mw-service.env b/ansible/roles/stack-sunbird/templates/sunbird_knowledge-mw-service.env
index 6a13ddadfd..fa09a8b413 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_knowledge-mw-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_knowledge-mw-service.env
@@ -58,3 +58,5 @@ sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
sunbird_health_check_enable={{sunbird_health_check_enable}}
# Release-3.0.0
sunbird_keycloak_public_key={{core_vault_sunbird_sso_publickey}}
+
+sunbird_content_upload_data_limit=400mb
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_learner-service.env b/ansible/roles/stack-sunbird/templates/sunbird_learner-service.env
index 79d0bfe1e3..7605b7f796 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_learner-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_learner-service.env
@@ -33,21 +33,25 @@ sunbird_account_key={{sunbird_public_storage_account_key}}
sunbird_quartz_mode={{sunbird_sunbird_quartz_mode}}
sunbird_env_logo_url={{sunbird_env_logo_url}}
sunbird_web_url={{sunbird_web_url}}
+sunbird_fcm_account_key={{sunbird_fcm_account_key}}
sunbird_msg_91_auth={{sunbird_msg_91_auth}}
sunbird_msg_sender={{sunbird_msg_sender}}
sunbird_installation_email={{sunbird_installation_email}}
-{% if (cassandra_cluster_size | int) > 1 %}
+{% if groups['cassandra-2'] is defined %}
sunbird_cassandra_host={{groups['cassandra']|join(',')}}
sunbird_cassandra_port=9042,9042,9042
+sunbird_cassandra_consistency_level=quorum
{% else %}
sunbird_cassandra_host={{sunbird_cassandra_host}}
sunbird_cassandra_port=9042
-{% endif %}
sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
+{% endif %}
+
sunbird_mw_system_host=learner-service
sunbird_mw_system_port=8088
background_actor_provider=local
api_actor_provider=local
+badging_authorization_key={{vault_badging_authorization_key}}
sunbird_badger_baseurl=http://badger-service:8004
sunbird_remote_req_router_path=akka.tcp://SunbirdMWSystem@actor-service:8088/user/RequestRouter
sunbird_remote_bg_req_router_path=akka.tcp://SunbirdMWSystem@actor-service:8088/user/BackgroundRequestRouter
@@ -77,7 +81,7 @@ sunbird_user_profile_field_default_visibility={{sunbird_user_profile_field_defau
sunbird_keycloak_required_action_link_expiration_seconds={{sunbird_keycloak_required_action_link_expiration_seconds}}
sunbird_course_batch_notification_enabled={{sunbird_course_batch_notification_enabled}}
sunbird_course_batch_notification_signature={{sunbird_course_batch_notification_signature}}
-sunbird_otp_expiration={{sunbird_otp_expiration}}
+#sunbird_otp_expiration={{sunbird_otp_expiration}}
sunbird_otp_length={{sunbird_otp_length}}
sunbird_content_azure_storage_container={{sunbird_content_azure_storage_container}}
# Release-1.14
@@ -88,16 +92,13 @@ sunbird_keycloak_user_federation_provider_id={{core_vault_sunbird_keycloak_user_
sunbird_gzip_enable={{sunbird_gzip_enable}}
sunbird_course_metrics_base_url={{sunbird_course_metrics_base_url}}
sunbird_gzip_size_threshold={{sunbird_gzip_size_threshold | default(262144)}}
-sunbird_analytics_blob_account_name={{sunbird_private_storage_account_name}}
-sunbird_analytics_blob_account_key={{sunbird_private_storage_account_key}}
# Optional for caching
sunbird_cache_enable={{sunbird_cache_enable | default(false)}}
# Set below variables if above true
sunbird_redis_host={{sunbird_redis_host}}
sunbird_redis_port={{sunbird_redis_port|default(6379)}}
kafka_urls={{kafka_urls}}
-# Release-5.0.0
-sunbird_user_cert_kafka_topic={{kafka_topic_lms_user_account}}
+sunbird_user_cert_kafka_topic={{env_name}}.lms.user.account.merge
# Release-2.3.0
sunbird_reset_pass_msg={{sunbird_reset_pass_msg | d('You have requested to reset password. Click on the link to set a password: {0}')}}
sunbird_fuzzy_search_threshold={{sunbird_fuzzy_search_threshold | d('0.5')}}
@@ -120,15 +121,32 @@ google_captcha_private_key={{google_captcha_private_key | default("")}}
google_captcha_mobile_private_key={{google_captcha_mobile_private_key | default("")}}
PORTAL_SERVICE_PORT=http://player.{{namespace}}.svc.cluster.local:3000
form_api_endpoint={{form_api_endpoint | default('/plugin/v1/form/read')}}
+sunbird_sso_lb_ip={{keycloak_url}}
+channel_registration_disabled="true"
+notification_service_notify_endpoint=/v1/notification/send/sync
+sunbird_default_country_code=91
+#SMS Related Configs ##
+sms_gateway_provider=NIC
+nic_sms_gateway_provider_base_url=https://smsgw.sms.gov.in/failsafe/HttpLink
+nic_sms_gateway_provider_senderid=MYGOVT
+nic_sms_gateway_provider_username={{nic_sms_gateway_provider_username | default("")}}
+nic_sms_gateway_provider_password={{nic_sms_gateway_provider_password | default("")}}
+dlt_entity_id={{dlt_entity_id | default("")}}
+sunbird_otp_expiration=900
+sunbird_installation_display_name_for_sms=Karmayogi Bharat
+sunbird_mail_server_use_tls="true"
+sunbird_mail_protocol={{ mail_tls_protocol }}
-# Release-3.7.0
-learner_in_memory_cache_ttl={{learner_in_memory_cache_ttl | default(600)}}
-user_index_alias={{user_index_alias | default('user_alias')}}
-org_index_alias={{org_index_alias | default('org_alias')}}
-sunbird_installation_display_name_for_sms=DIKSHA
-sunbird_sso_lb_ip={{keycloak_url}}
+user_read_api_v2_mandatory_fields=profileDetails.personalDetails.firstname,profileDetails.professionalDetails[0].group,profileDetails.personalDetails.mobile,profileDetails.personalDetails.primaryEmail,profileDetails.professionalDetails[0].designation
+user_read_api_v2_non_mandatory_fields=profileDetails.employmentDetails.employeeCode,profileDetails.personalDetails.gender,profileDetails.personalDetails.dob,profileDetails.personalDetails.domicileMedium,profileDetails.personalDetails.category,profileDetails.employmentDetails.pinCode
+
+kafka_user_first_login_event_topic={{ env }}.user.first.login
+
+sunbird_otp_hour_rate_limit=5
+sunbird_otp_day_rate_limit=20
+sunbird_rate_limit_enabled=true
-# Release-5.0.0
-sunbird_cloud_service_provider={{cloud_service_provider}}
-isMultiDCEnabled={{cassandra_multi_dc_enabled}}
+secret.key.token.validation={{ secret_key_token_validation }}
+otpValidationSecretKey={{ secret_key_for_otpvalidation }}
+mentoring.roles=MENTOR
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env b/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env
index 6b790eb735..c84939331a 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_lms-service.env
@@ -33,21 +33,25 @@ sunbird_account_name={{sunbird_public_storage_account_name}}
sunbird_account_key={{sunbird_public_storage_account_key}}
sunbird_quartz_mode={{sunbird_sunbird_quartz_mode}}
sunbird_web_url={{sunbird_web_url}}
+sunbird_fcm_account_key={{sunbird_fcm_account_key}}
sunbird_msg_91_auth={{sunbird_msg_91_auth}}
sunbird_msg_sender={{sunbird_msg_sender}}
sunbird_installation_email={{sunbird_installation_email}}
-{% if (cassandra_cluster_size | int) > 1 %}
+{% if groups['cassandra-2'] is defined %}
sunbird_cassandra_host={{groups['cassandra']|join(',')}}
sunbird_cassandra_port=9042,9042,9042
+sunbird_cassandra_consistency_level=quorum
{% else %}
sunbird_cassandra_host={{sunbird_cassandra_host}}
sunbird_cassandra_port=9042
-{% endif %}
sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
+{% endif %}
+
sunbird_mw_system_host=lms-service
sunbird_mw_system_port=8088
background_actor_provider=local
api_actor_provider=local
+badging_authorization_key={{vault_badging_authorization_key}}
sunbird_badger_baseurl=http://badger-service:8004
sunbird_remote_req_router_path=akka.tcp://SunbirdMWSystem@actor-service:8088/user/RequestRouter
sunbird_remote_bg_req_router_path=akka.tcp://SunbirdMWSystem@actor-service:8088/user/BackgroundRequestRouter
@@ -60,7 +64,7 @@ telemetry_queue_threshold_value=100
sunbird_default_channel={{sunbird_default_channel}}
sunbird_api_mgr_base_url=http://knowledge-mw-service:5000
sunbird_cs_base_url=http://knowledge-mw-service:5000
-sunbird_cs_search_path=/v1/search
+sunbird_cs_search_path=/v1/content/search
sunbird_env_logo_url={{sunbird_env_logo_url}}
sunbird_user_bulk_upload_size={{sunbird_user_bulk_upload_size}}
@@ -89,27 +93,24 @@ sunbird_keycloak_user_federation_provider_id={{core_vault_sunbird_keycloak_user_
sunbird_gzip_enable={{sunbird_gzip_enable}}
sunbird_course_metrics_base_url={{sunbird_course_metrics_base_url}}
sunbird_gzip_size_threshold={{sunbird_gzip_size_threshold | default(262144)}}
-sunbird_analytics_blob_account_name={{sunbird_private_storage_account_name}}
-sunbird_analytics_blob_account_key={{sunbird_private_storage_account_key}}
# Optional for caching
sunbird_cache_enable={{sunbird_cache_enable | default(false)}}
# Set below variables if above true
sunbird_redis_host={{sunbird_redis_host}}
sunbird_redis_port={{sunbird_redis_port|default(6379)}}
-sunbird_user_org_api_base_url={{ sunbird_user_service_api_base_url }}
+sunbird_user_org_api_base_url=http://learner-service:9000
kafka_topics_instruction={{kafka_topics_instruction}}
kafka_urls={{kafka_urls}}
kafka_topics_certificate_instruction={{kafka_topics_certificate_instruction}}
kafka_assessment_topic={{kafka_assessment_topic}}
kafka_topics_contentstate_invalid={{kafka_topics_contentstate_invalid}}
-kafka_enrolment_sync_topic={{kafka_enrolment_sync_topic}}
# Required by lms service to call cert service
sunbird_cert_service_base_url=http://cert-service:9000
learning_service_base_url={{sunbird_content_repo_api_base_url}}
sunbird_user_search_cretordetails_fields=id,firstName,lastName
-sunbird_user_service_api_base_url={{ sunbird_user_service_api_base_url }}
+sunbird_user_service_api_base_url={{sunbird_user_service_api_base_url}}
limit_managed_user_creation={{limit_managed_user_creation | default(true)}}
managed_user_limit={{managed_user_limit | default(30)}}
@@ -122,7 +123,8 @@ learning.content.props.to.add={{ learning_content_props_to_add | default('mimeTy
group_activity_agg_cache_ttl={{ group_activity_agg_cache_ttl }}
group_activity_agg_cache_enable={{ group_activity_agg_cache_enable }}
sunbird_env_name={{env_name}}
-
+content.default.fields=contentid,userid,batchid,courseid,completedcount,completionpercentage,lastcompletedtime,status,viewcount
+
## Redis connection detail ##
redis.connection.max={{ lms_redis_connection_max | default(64) }}
redis.connection.idle.max={{ lms_redis_connection_idle_max | default(32) }}
@@ -138,10 +140,36 @@ user_enrolments_response_cache_ttl={{ user_enrolments_response_cache_ttl | defau
druid_proxy_api_host={{groups['raw-broker'][0]}}
druid_proxy_api_port=8082
druid_proxy_api_endpoint=/druid/v2/
-collection_summary_agg_data_source={{ summary_agg_data_source | default('audit-rollup-syncts') }}
+collection_summary_agg_data_source={{ summary_agg_data_source | default('telemetry-events') }}
collection_summary_agg_cache_ttl={{ summary_agg_ttl | default(21600) }}
enrollment_list_size={{ enrollment_list_size | default(1000) }}
+send-notification=true
+scheduler-time-gap=1440
+scheduler-run-day=4
+scheduler-run-time=20
+
+enrol_end_date_allow_lesser_value={{ enrol_end_date_allow_lesser_value | default('false') }}
+sunbird_course_batch_path=/app/toc/{courseId}/overview?batchId={batchId}
+enrolment_list_include_retired_courses=false
+
+lms.service.host=http://learner-service:9000/
+sunbird_batch_date_update_notifications_subject=Notification for changes in the batch dates
+lms.send.email.notification=/v1/notification/email
+
+program_enroll_allowed_primary_category=Program,Curated Program
+program_enroll_allowed_children_primary_category=Course
+program_enroll_restricted_children_primary_category=Curated Program,Program,Blended Program
+content_hierarchy_store_key_space_name={{ env }}_hierarchy_store
+kafka_cert_pre_processor_topic={{ env }}.issue.program.certificate.request
+admin_program_enroll_allowed_primary_category=Program,Standalone Assessment
+redis_collection_index=10
+search_identifier_max_size={{ search_identifier_max_size | default('1000') }}
+kafka_user_enrolment_event_topic={{ env }}.user.enrolment.event
+
+content_bucket=/content-store/content
+static_host_url={{ cloud_storage_endpoint }}
+profile_update_url=/app/user-profile/details
+
+enrol_list_fields=contentType,name,channel,mimeType,appIcon,resourceType,identifier,trackable,objectType,organisation,pkgVersion,version,trackable,primaryCategory,posterImage,duration,creatorLogo,license,programDuration,avgRating,batches,endDate,startDate,status,enrollmentType,createdBy,certificates,competencies_v5,firstChildId,leafNodesCount,courseCategory
-# Release-5.0.0
-sunbird_cloud_service_provider={{cloud_service_provider}}
-isMultiDCEnabled={{cassandra_multi_dc_enabled}}
\ No newline at end of file
+number_of_records_per_trip_content_cache_load=200
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_nodebb.env b/ansible/roles/stack-sunbird/templates/sunbird_nodebb.env
index ba09122b9d..9e0b890f9d 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_nodebb.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_nodebb.env
@@ -1,18 +1,10 @@
# Initialization variable for mongo
# Ref: https://community.nodebb.org/topic/4325/set-up-nodebb-via-environment-variables
-database=redis
-# declearing js heap memory size
-NODE_OPTIONS={{nodebb_heap_size|default(1024)}}
+database=mongo
secret={{nodebb_hash_key|default('1d57ba64-86d4-43ff-bd10-f6e9e0782899')}}
url=http://0.0.0.0:4567/discussions/
-redis__host={{sunbird_nodebb_redis_host|default(sunbird_lp_redis_host)}}
-redis__port=6379
-redis__username={{nodebb_db_username|default('')}}
-redis__password={{nodebb_db_password|default('')}}
-isCluster={{nodebb_cluster_enable|default('true')}}
-# redis database number
-redis__database={{nodebb_db_index_name|default(10)}}
-redis__secondarydb={{nodebb_db_secondary_index_name|default(11)}}
+mongo__host={{mongo_nodebb_host}}
+mongo__database=nodebb
# password won't get overwritten if you run
# 'node app --setup' multiple times
# Default username is admin
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_notification-service.env b/ansible/roles/stack-sunbird/templates/sunbird_notification-service.env
index 19b9d2607c..02a7bc02a7 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_notification-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_notification-service.env
@@ -1,17 +1,17 @@
{% if (cassandra_cluster_size | int) > 1 %}
sunbird_cassandra_host={{groups['cassandra']|join(',')}}
sunbird_cassandra_port=9042,9042,9042
+sunbird_cassandra_consistency_level=quorum
{% else %}
sunbird_cassandra_host={{ groups['cassandra'][0] }}
sunbird_cassandra_port=9042
+sunbird_cassandra_consistency_level=quorum
{% endif %}
-sunbird_cassandra_consistency_level={{sunbird_cassandra_consistency_level}}
sunbird_cassandra_notification_keyspace=sunbird_notifications
sunbird_cassandra_password={{sunbird_cassandra_password|d('password')}}
sunbird_cassandra_username={{sunbird_cassandra_username|d('cassandra')}}
sunbird_notification_kafka_servers_config={{sunbird_processing_kafka_host}}
-# Release-5.0.0
-sunbird_notification_kafka_topic={{kafka_topic_lms_notification}}
+sunbird_notification_kafka_topic={{env_name}}.lms.notification
sunbird_notification_msg_default_sender={{sunbird_msg_sender}}
sunbird_msg_91_auth={{sunbird_msg_91_auth}}
sunbird_mail_server_from_email={{sunbird_mail_server_from_email}}
@@ -35,5 +35,6 @@ LEARNER_SERVICE_PORT=http://learner-service:9000
sunbird_us_system_setting_url=/api/data/v1/system/settings/list
sunbird_us_org_read_url=/v1/org/read
notification_category_type_config=certificateUpdate
-# Release-5.0.0
-isMultiDCEnabled={{cassandra_multi_dc_enabled}}
+sunbird_mail_server_use_tls="true"
+
+
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_player.env b/ansible/roles/stack-sunbird/templates/sunbird_player.env
index 0d1c34f45b..7130ccf290 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_player.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_player.env
@@ -202,23 +202,3 @@ sunbird_portal_uci_bot_phone_number={{sunbird_portal_uci_bot_phone_number | defa
#Release-4.6.0
sunbird_collection_children_limit={{ sunbird_collection_children_limit | default(1200) }}
sunbird_questionset_children_limit={{ sunbird_questionset_children_limit | default(500) }}
-
-
-#release-5.0.0
-#AWS config for storage access
-#To be reverted post testing
-sunbird_cloud_storage_provider={{cloud_service_provider}}
-sunbird_aws_bucket_name={{aws_private_bucket_name | default("")}}
-sunbird_aws_reports={{aws_reports_folder_name | default("reports")}}
-sunbird_aws_labels={{aws_labels_folder_name | default("labels")}}
-sunbird_aws_access_key={{aws_private_bucket_access_key | default("")}}
-sunbird_aws_secret_key={{aws_private_bucket_secret_key | default("")}}
-sunbird_aws_region={{aws_private_bucket_region | default("ap-south-1")}}
-
-#GCLOUD config for storage access
-sunbird_gcloud_bucket_name={{gcloud_private_bucket_name | default("")}}
-sunbird_gcloud_reports={{gcloud_reports_folder_name | default("reports")}}
-sunbird_gcloud_labels={{gcloud_labels_folder_name | default("labels")}}
-sunbird_gcloud_client_email={{gcloud_private_bucket_client_email | default("")}}
-sunbird_gcloud_private_key={{gcloud_private_bucket_private_key | default("")}}
-sunbird_gcloud_projectId={{gcloud_private_bucket_projectId | default("")}}
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_report-service.env b/ansible/roles/stack-sunbird/templates/sunbird_report-service.env
index a2ebfce02a..9d609a0cc4 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_report-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_report-service.env
@@ -9,23 +9,4 @@ SUNBIRD_REPORTS_TABLE_NAME=report
SUNBIRD_REPORT_SUMMARY_TABLE_NAME={{sunbird_report_summary_table_name}}
SUNBIRD_ENV="https://{{domain_name}}"
DEACTIVATE_JOB_API_HOST=http://kong:8000/data/v1/report/jobs/deactivate
-DEACTIVATE_JOB_API_KEY={{sunbird_api_auth_token}}
-
-# 4.10.0
-sunbird_azure_report_container_name={{sunbird_azure_report_container_name}}
-sunbird_azure_account_name={{sunbird_private_storage_account_name}}
-sunbird_azure_account_key={{sunbird_private_storage_account_key}}
-sunbird_api_auth_token={{sunbird_api_auth_token}}
-sunbird_super_admin_slug={{sunbird_super_admin_slug|default('sunbird')}}
-sunbird_portal_auth_server_url={{keycloak_auth_server_url}}
-sunbird_keycloak_public_key={{core_vault_sunbird_sso_publickey}}
-sunbird_portal_auth_server_client={{sunbird_portal_auth_server_client}}
-sunbird_keycloak_public={{sunbird_keycloak_public}}
-sunbird_learner_player_url={{sunbird_learner_player_url}}
-sunbird_content_proxy_url=http://knowledge-mw-service:5000
-sunbird_keycloak_realm={{keycloak_realm}}
-sunbird_cache_store={{sunbird_cache_store}}
-sunbird_cache_ttl={{sunbird_cache_ttl}}
-sunbird_report_sas_expiry_in_minutes=3600
-sunbird_dataservice_url={{sunbird_dataservice_url}}
-
+DEACTIVATE_JOB_API_KEY={{sunbird_api_auth_token}}
\ No newline at end of file
diff --git a/ansible/roles/stack-sunbird/templates/sunbird_telemetry-service.env b/ansible/roles/stack-sunbird/templates/sunbird_telemetry-service.env
index 1fe41c7039..6d7dc93783 100644
--- a/ansible/roles/stack-sunbird/templates/sunbird_telemetry-service.env
+++ b/ansible/roles/stack-sunbird/templates/sunbird_telemetry-service.env
@@ -4,7 +4,7 @@ telemetry_local_storage_enabled=true
telemetry_local_storage_type={{sunbird_telemetry_dispatchers}}
telemetry_kafka_broker_list={{sunbird_telemetry_kafka_servers}}
telemetry_kafka_topic={{sunbird_telemetry_kafka_topic}}
-telemetry_kafka_compression=snappy
+telemetry_kafka_compression=none
# Below is the config to enable Telemetry Proxy. To send telemetry data to ekstep
telemetry_proxy_enabled=false
diff --git a/ansible/roles/stack-sunbird/templates/taxonomy-service_application.conf b/ansible/roles/stack-sunbird/templates/taxonomy-service_application.conf
index 1c3714fbe8..33703e7221 100644
--- a/ansible/roles/stack-sunbird/templates/taxonomy-service_application.conf
+++ b/ansible/roles/stack-sunbird/templates/taxonomy-service_application.conf
@@ -366,10 +366,17 @@ platform {
}
# Cloud Storage Config
-cloud_storage_type: "azure"
-azure_storage_key: "{{ sunbird_public_storage_account_name }}"
-azure_storage_secret: "{{ sunbird_public_storage_account_key }}"
-azure_storage_container: "{{ sunbird_content_azure_storage_container }}"
+# cloud_storage_type: "azure"
+# azure_storage_key: "{{ sunbird_public_storage_account_name }}"
+# azure_storage_secret: "{{ sunbird_public_storage_account_key }}"
+# azure_storage_container: "{{ sunbird_content_azure_storage_container }}"
+
+#Cloud Storage details
+cloud_storage_type="{{ cloud_service_provider }}"
+cloud_storage_key="{{ cloud_storage_key }}"
+cloud_storage_secret="""{{ cloud_storage_secret }}"""
+cloud_storage_container="{{ cloud_storage_content_bucketname }}"
+cloud_storage_endpoint="{{ cloud_storage_endpoint }}"
installation.id: ekstep
diff --git a/ansible/roles/stack-sunbird/templates/transformer.env b/ansible/roles/stack-sunbird/templates/transformer.env
index fd2e6d00aa..30963cb81f 100644
--- a/ansible/roles/stack-sunbird/templates/transformer.env
+++ b/ansible/roles/stack-sunbird/templates/transformer.env
@@ -13,8 +13,6 @@ KAFKA_TELEMETRY_TOPIC={{env_name}}.uci.telemetry
KAFKA_ODK_TRANSFORMER_TOPIC={{env_name}}.odk.transformer
KAFKA_ODK_TRANSFORMER_TOPIC_PATTERN={{env_name}}.odk.*
KAFKA_LOGS_TOPIC={{env_name}}.inbound-unprocessed
-KAFKA_PROCESS_OUTBOUND={{env_name}}.process-outbound
-KAFKA_BROADCAST_TRANSFORMER_TOPIC={{env_name}}.broadcast-transformer
#FormsDB
FORMS_DB_URL=postgresql://{{uci_postgres_host}}:5432/{{uci_forms_postgres_database}}
@@ -28,7 +26,6 @@ FORMS_DB_PORT=5432
CASSANDRA_URL={{sunbird_cassandra_host}}
CASSANDRA_PORT=9042
CASSANDRA_KEYSPACE={{env}}_uci_store
-CASSANDRA_MIGRATION_COUNT=1
#Ports
TRANSFORMER_INTERNAL_PORT=9091
@@ -64,14 +61,4 @@ ENV={{env}}
REDIS_HOST={{sunbird_redis_host}}
REDIS_PASS={{sunbird_redis_pass | default('')}}
REDIS_PORT={{sunbird_redis_port | default(6379)}}
-REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
-
-# Events
-EXHAUST_TELEMETRY_ENABLED=TRUE
-POSTHOG_EVENT_ENABLED=FALSE
-
-#Azure Config
-AZURE_BLOB_STORE_CONTAINER={{sunbird_azure_uci_container_name | default('uci-' + env )}}
-AZURE_BLOB_STORE_ACCOUNT_KEY={{sunbird_private_storage_account_name}}
-AZURE_BLOB_STORE_ACCOUNT_NAME={{sunbird_private_storage_account_key}}
-SELECTED_FILE_CDN=azure
\ No newline at end of file
+REDIS_DB_INDEX={{redis_db_index_uci | default('7')}}
\ No newline at end of file
diff --git a/ansible/roles/vm-agents-nodeexporter/templates/prometheus-node-exporter.service.j2 b/ansible/roles/vm-agents-nodeexporter/templates/prometheus-node-exporter.service.j2
index b761e739b9..141ef313d6 100755
--- a/ansible/roles/vm-agents-nodeexporter/templates/prometheus-node-exporter.service.j2
+++ b/ansible/roles/vm-agents-nodeexporter/templates/prometheus-node-exporter.service.j2
@@ -6,7 +6,7 @@ After=network.target
Type=simple
User={{ prometheus_exporters_common_user }}
Group={{ prometheus_exporters_common_group }}
-ExecStart={{ prometheus_exporters_common_root_dir }}/node_exporter_current/node_exporter
+ExecStart={{ prometheus_exporters_common_root_dir }}/node_exporter_current/node_exporter --collector.systemd
SyslogIdentifier=prometheus_node_exporter
Restart=always
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManager/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManager/config.xml
index 99ae364dae..a174f2921c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManager/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManager/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManagerEcho/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManagerEcho/config.xml
index cb84967fb9..da450d1be6 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManagerEcho/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/APIManagerEcho/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
index bad9bddc1f..70b0522e3c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/AdminUtils/config.xml
@@ -87,7 +87,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Analytics/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Analytics/config.xml
index 0e2f5b81b5..ea4fa1dca0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Analytics/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Analytics/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Assessment/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Assessment/config.xml
index 57fd207551..d7c0ae42bc 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Assessment/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Assessment/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,12 +76,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +90,7 @@ ArtifactRepo - Push the docker image to container registry.
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Bot/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Bot/config.xml
index 9d3f277a13..a9ad9068c3 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Bot/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Bot/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cassandra/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cassandra/config.xml
index 06ff17040a..46c4b2208a 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cassandra/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cassandra/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraDecrypt/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraDecrypt/config.xml
index 72bb8bb862..366792e623 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraDecrypt/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraDecrypt/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraStateValidated/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraStateValidated/config.xml
index dec55c1df8..a87f7d704c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraStateValidated/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraStateValidated/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraTrigger/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraTrigger/config.xml
index 19b638685d..74cfb0d1e1 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraTrigger/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CassandraTrigger/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cert/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cert/config.xml
index fbf6fc242f..5c6534c3e4 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cert/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Cert/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CertRegistryService/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CertRegistryService/config.xml
index 4748b3d7bb..97b82306b7 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CertRegistryService/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/CertRegistryService/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Content/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Content/config.xml
index 5919c15e3f..77bdeb3308 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Content/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Content/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Dial/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Dial/config.xml
index 0de239fd7b..6c9d8103e8 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Dial/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Dial/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/DiscussionsMW/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/DiscussionsMW/config.xml
index 6eac98442d..ea65827053 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/DiscussionsMW/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/DiscussionsMW/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/EncService/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/EncService/config.xml
index b6ac09120d..80b51b0afc 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/EncService/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/EncService/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Groups/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Groups/config.xml
index e163035864..547efb2011 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Groups/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Groups/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/HawkeyeSuperset/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/HawkeyeSuperset/config.xml
index 5ce3e214a7..0e60d50cc1 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/HawkeyeSuperset/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/HawkeyeSuperset/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Keycloak/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
index d6b675bfb0..c8a56d584d 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Keycloak/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/KnowledgeMW/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/KnowledgeMW/config.xml
index dc35c777ba..c1ef277ba1 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/KnowledgeMW/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/KnowledgeMW/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Learner/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Learner/config.xml
index a0f41171e9..5379fb70b3 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Learner/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Learner/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Lms/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Lms/config.xml
index 353c7d776f..2eddcd8297 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Lms/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Lms/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,12 +76,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,13 +90,13 @@ ArtifactRepo - Push the docker image to container registry.
false
-
+
true
false
- 0
+ 1
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Nodebb/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Nodebb/config.xml
index 4887782fae..350804012f 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Nodebb/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Nodebb/config.xml
@@ -81,7 +81,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Notification/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Notification/config.xml
index 8741ed7874..a6ab8c202e 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Notification/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Notification/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Player/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Player/config.xml
index 5d18ec991c..06601bfb73 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Player/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Player/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Print/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Print/config.xml
index ef761534e2..02771fa80e 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Print/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Print/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxy/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxy/config.xml
index eff80798ab..b257cb60de 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxy/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxy/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxyvalidator/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxyvalidator/config.xml
index 926ceb0b96..2b6ae42e7a 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxyvalidator/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Proxyvalidator/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Report/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Report/config.xml
index 6e6022264f..35253c66cd 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Report/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Report/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Router/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Router/config.xml
index 2f6dbc4e18..45e140df84 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Router/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Router/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Search/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Search/config.xml
index c5c50f2621..f3206ea45c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Search/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Search/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/SparkHdclusterExporter/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/SparkHdclusterExporter/config.xml
index a6e1211e9f..4f259c299e 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/SparkHdclusterExporter/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/SparkHdclusterExporter/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Taxonomy/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Taxonomy/config.xml
index 22173d79ee..94c5d7423d 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Taxonomy/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Taxonomy/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Telemetry/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Telemetry/config.xml
index 8364282076..7cedaa9768 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Telemetry/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Telemetry/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Yarn/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Yarn/config.xml
index b235988e34..f98501d5ee 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Yarn/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Core/jobs/Yarn/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AdhocScripts/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AdhocScripts/config.xml
index 9a042704ae..a9b2a6d026 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AdhocScripts/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AdhocScripts/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-data-pipeline.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Analytics/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Analytics/config.xml
index b4458fb7cd..2ac76c5c50 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Analytics/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Analytics/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-data-pipeline.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AnalyticsCore/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AnalyticsCore/config.xml
index 6de1a96449..7f0d8b0abc 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AnalyticsCore/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/AnalyticsCore/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ApiModule/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ApiModule/config.xml
index af4862b0f2..423485a33b 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ApiModule/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ApiModule/config.xml
@@ -81,7 +81,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/CoreDataProducts/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/CoreDataProducts/config.xml
index f93395f5e0..158e21e59e 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/CoreDataProducts/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/CoreDataProducts/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DataReplay/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DataReplay/config.xml
index fa45925735..41308ccdd3 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DataReplay/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DataReplay/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-data-pipeline.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DruidAnomalyDetection/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DruidAnomalyDetection/config.xml
index a0fd3c44f9..8a82758cc0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DruidAnomalyDetection/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/DruidAnomalyDetection/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-data-pipeline.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ETLJobs/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ETLJobs/config.xml
index bd031ec623..5e66757607 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ETLJobs/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/ETLJobs/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-data-pipeline.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/EdDataProducts/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/EdDataProducts/config.xml
index 6e67c63781..bcb1193a41 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/EdDataProducts/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/EdDataProducts/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/FlinkPipelineJobs/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/FlinkPipelineJobs/config.xml
index 78602a563a..2f561cc606 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/FlinkPipelineJobs/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/FlinkPipelineJobs/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,12 +76,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +90,7 @@ ArtifactRepo - Push the docker image to container registry.
false
-
+
true
@@ -100,7 +101,7 @@ ArtifactRepo - Push the docker image to container registry.
- kubernetes/pipelines/upload/Jenkinsfile
+ pipelines/upload/docker/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/MLWorkbench/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/MLWorkbench/config.xml
index 590eab1e26..c83c153b0a 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/MLWorkbench/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/MLWorkbench/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Secor/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Secor/config.xml
index d39e2833b0..00549587d3 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Secor/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/DataPipeline/jobs/Secor/config.xml
@@ -1,14 +1,13 @@
-
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
-
+
false
@@ -19,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -33,9 +34,9 @@
false
- image_tag
+ build_number
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
+ lastSuccessfulBuild
false
@@ -46,25 +47,26 @@ ArtifactRepo - Push the docker image to container registry.
ArtifactRepo
+ JenkinsJob
-
+
0
0
false
project
false
-
- 1
+
+
-
+
/Build/DataPipeline/Secor
SUCCESS
@@ -76,12 +78,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -90,18 +92,18 @@ ArtifactRepo - Push the docker image to container registry.
false
-
+
true
false
-
- 0
+
+ 1
false
- kubernetes/pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraTrigger/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraTrigger/config.xml
index f954ac1cbe..c2c5b2b9e6 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraTrigger/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/CassandraTrigger/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-learning-platform.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/FlinkJobs/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/FlinkJobs/config.xml
index 1aa83cd9de..0ac70cf254 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/FlinkJobs/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/FlinkJobs/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,12 +76,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,18 +90,18 @@ ArtifactRepo - Push the docker image to container registry.
false
-
+
true
false
- 0
+ 1
false
- kubernetes/pipelines/upload/Jenkinsfile
+ pipelines/upload/docker/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Learning/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Learning/config.xml
index 6611070f09..d12fb730ec 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Learning/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Learning/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4j/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4j/config.xml
index fd7ef60977..f570fee838 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4j/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Neo4j/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/SyncTool/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/SyncTool/config.xml
index 6a9af8f80c..82b4d76d9b 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/SyncTool/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/SyncTool/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -50,7 +52,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
+
0
0
@@ -75,12 +77,12 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
-
-
+
+
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -89,7 +91,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
false
-
+
true
@@ -100,7 +102,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
- pipelines/upload/Jenkinsfile
+ pipelines/upload/artifacts/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Yarn/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Yarn/config.xml
index ab7ab56194..0d2e8de0dd 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Yarn/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/KnowledgePlatform/jobs/Yarn/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-learning-platform.git
+ https://github.com/KB-iGOT/sunbird-learning-platform.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernDataProducts/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernDataProducts/config.xml
index e040465555..e859180724 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernDataProducts/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernDataProducts/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/Sunbird-Lern/data-products
+ https://github.com/KB-iGOT/data-products
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernFlinkJobs/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernFlinkJobs/config.xml
index 0988779348..034159f2ff 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernFlinkJobs/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Lern/jobs/LernFlinkJobs/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
1
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,12 +76,12 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/Sunbird-Lern/data-pipeline.git
+ https://github.com/KB-iGOT/sunbird-devops.git
@@ -95,12 +96,12 @@ ArtifactRepo - Push the docker image to container registry.
true
false
- 0
+ 1
false
- kubernetes/pipelines/upload/Jenkinsfile
+ pipelines/upload/docker/Jenkinsfile
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
index 969a059c99..8373116d05 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/CollectionEditor/config.xml
@@ -73,7 +73,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentEditor/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentEditor/config.xml
index 9215d10244..2005255feb 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentEditor/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentEditor/config.xml
@@ -73,7 +73,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlayer/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlayer/config.xml
index 4f8edb89fa..e1326e2857 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlayer/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlayer/config.xml
@@ -73,7 +73,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlugins/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlugins/config.xml
index 253aeb9d55..5f31ce7c0c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlugins/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/ContentPlugins/config.xml
@@ -73,7 +73,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
index 569336322c..b7b269dff6 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Plugins/jobs/GenericEditor/config.xml
@@ -73,7 +73,7 @@ ArtifactRepo - Upload and keep a copy of the artifact in Jenkins, JenkinsJob - J
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateApi/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateApi/config.xml
index 9875634b70..2c47ac2b97 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateApi/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateApi/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateSign/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateSign/config.xml
index b72965fa7d..757fc7655d 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateSign/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/CertificateSign/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/Registry/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/Registry/config.xml
index 3d80fa21f0..ae1351bb29 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/Registry/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/Sunbird-RC/jobs/Registry/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Inbound/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Inbound/config.xml
index 1de265b223..58a1a475c0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Inbound/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Inbound/config.xml
@@ -81,7 +81,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Orchestrator/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Orchestrator/config.xml
index 66dc340ab5..19aa5c9fa1 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Orchestrator/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Orchestrator/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Outbound/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Outbound/config.xml
index 15d9fee16c..8f4d9d369b 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Outbound/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Outbound/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Transformer/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Transformer/config.xml
index 1ccca73d3c..a94858364b 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Transformer/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/Transformer/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/UCI/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/UCI/config.xml
index 6a85cb1626..8199490400 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/UCI/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/UCI/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/odk/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/odk/config.xml
index 5859d25d65..162f16b08f 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/odk/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/UCI/jobs/odk/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cb-pores-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cb-pores-service/config.xml
index 2b5fc92092..3d6b0e29d8 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cb-pores-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cb-pores-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- 192.168.3.200:8123/repository/mydocker
- false
-
-
+
0
0
@@ -81,27 +76,28 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- http://192.168.3.200:8081/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
+ github-cred
- cbrelease-3.0.1
+ ${public_repo_branch}
false
-
+
true
false
- 0
+ 1
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbc-asset/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbc-asset/config.xml
index 8fd4453212..366b692640 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbc-asset/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbc-asset/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbp-asset/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbp-asset/config.xml
index b283b38122..59209f1e22 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbp-asset/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/cbp-asset/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-tagging-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-tagging-service/config.xml
index 8d713bc6eb..3085d82255 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-tagging-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-tagging-service/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/project-sunbird/sunbird-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-validation-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-validation-service/config.xml
index 462337160c..5917dbd2a7 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-validation-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/content-validation-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/faq-assistant/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/faq-assistant/config.xml
index a74e088ae6..01db89cdc9 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/faq-assistant/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/faq-assistant/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- 192.168.3.200:8123/repository/mydocker
- false
-
-
+
0
0
@@ -81,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- http://192.168.3.200:8081/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- cbrelease-3.0.1
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/form-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/form-service/config.xml
index a2d23297b7..69dd007b06 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/form-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/form-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- cbrelease-3.0.1
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-backend-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-backend-service/config.xml
index 4c52b5dd14..ac03d8b847 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-backend-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-backend-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-collab-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-collab-service/config.xml
index 7694dfc36d..0fa3893a2d 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-collab-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-collab-service/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-dictionary-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-dictionary-service/config.xml
index 8b5c43ec7a..c254a5af91 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-dictionary-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-dictionary-service/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-web-portal/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-web-portal/config.xml
index 165c6cf4c6..52f8c01bff 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-web-portal/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/frac-web-portal/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/fracentity-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/fracentity-service/config.xml
new file mode 100644
index 0000000000..e292630e36
--- /dev/null
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/fracentity-service/config.xml
@@ -0,0 +1,110 @@
+
+
+
+
+ hudson.model.ParametersDefinitionProperty
+ com.sonyericsson.rebuild.RebuildSettings
+
+
+
+
+ false
+
+
+
+ -1
+ -1
+ -1
+ 5
+
+
+
+ false
+
+
+ false
+ false
+
+
+
+
+ absolute_job_path
+ <font color=dimgray size=2><b>Do not change this value! The metadata.json will be copied from this job.</b></font>
+ Build/igot-build/fracentity-service
+ false
+
+
+ image_tag
+ <font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
+ false
+
+
+ artifact_source
+ <font color=dimgray size=2><b>
+ArtifactRepo - Push the docker image to container registry.
+</b></font>
+
+
+ ArtifactRepo
+
+
+
+
+
+
+ 0
+ 0
+
+ false
+ project
+ false
+
+
+
+
+
+
+
+ Build/igot-build/fracentity-service
+
+ SUCCESS
+ 0
+ BLUE
+ true
+
+
+
+
+
+
+
+ 2
+
+
+ https://github.com/KB-iGOT/sunbird-devops.git
+ github-cred
+
+
+
+
+ ${public_repo_branch}
+
+
+ false
+
+
+
+ true
+ false
+
+ 0
+ false
+
+
+
+ pipelines/upload/docker/Jenkinsfile
+ false
+
+
+ false
+
\ No newline at end of file
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/hub-graph-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/hub-graph-service/config.xml
index 407c3d206c..fea05a59a4 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/hub-graph-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/hub-graph-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/mdo-asset/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/mdo-asset/config.xml
index efa0fd354b..1662536a6b 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/mdo-asset/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/mdo-asset/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-analytics/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-analytics/config.xml
index 13139b7414..68f59d4ed6 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-analytics/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-analytics/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,27 +76,27 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
false
- 0
+ 1
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-microsurvey-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-microsurvey-service/config.xml
index 05d7036140..389a1bc690 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-microsurvey-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-microsurvey-service/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-user/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-user/config.xml
index c46227a57e..f1cec839b0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-user/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-user/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-web-portal/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-web-portal/config.xml
index a49ea2100b..25f9b00078 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-web-portal/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-web-portal/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-zuul/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-zuul/config.xml
index 93151c96b6..611f4aca20 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-zuul/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-dashboard-zuul/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-microsurvey-web-portal/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-microsurvey-web-portal/config.xml
index 7fe0d40f89..d560596802 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-microsurvey-web-portal/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/pm-microsurvey-web-portal/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-filter-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-filter-service/config.xml
index 0096fbfe7c..0ef3cf30f0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-filter-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-filter-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,27 +76,28 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
+ github-cred
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
false
- 0
+ 1
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-image-filter-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-image-filter-service/config.xml
index 0c8202cd83..f3fb1e420a 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-image-filter-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-image-filter-service/config.xml
@@ -86,7 +86,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-moderator-admin-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-moderator-admin-service/config.xml
index a3b45f381a..65cced0af5 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-moderator-admin-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/profanity-moderator-admin-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -50,7 +51,7 @@ ArtifactRepo - Push the docker image to container registry.
-
+
0
0
@@ -75,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- cbrelease-3.0.1
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/sb-cb-ext-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/sb-cb-ext-service/config.xml
index 06ae9dd202..c785b7a3c3 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/sb-cb-ext-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/sb-cb-ext-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,21 +76,21 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/scoring-engine-service/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/scoring-engine-service/config.xml
index e6f2de0523..74f1c5f3c0 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/scoring-engine-service/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/scoring-engine-service/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+
+ false
+
+
false
false
@@ -34,7 +36,6 @@
image_tag
<font color=darkgreen size=2><b>OPTIONAL: Specify the tag to upload a specific image version to the container registry.</b></font>
-
false
@@ -48,15 +49,9 @@ ArtifactRepo - Push the docker image to container registry.
-
- docker_server
-
- igotregistry.azurecr.io
- false
-
-
+
0
0
@@ -81,27 +76,27 @@ ArtifactRepo - Push the docker image to container registry.
-
-
+
+
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/sunbird-devops.git
- auto-deploy-test
+ ${public_repo_branch}
false
-
+
true
false
- 0
+ 1
false
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/spv-asset/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/spv-asset/config.xml
index 4472d84775..9293f25249 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/spv-asset/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/spv-asset/config.xml
@@ -80,7 +80,7 @@ ArtifactRepo - Push the docker image to container registry.
2
- https://github.com/sunbird-cb/sunbird-cb-devops.git
+ https://github.com/KB-iGOT/KB-iGOT-devops.git
diff --git a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/static_domain/config.xml b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/static_domain/config.xml
index dd74014d5f..b29160517c 100644
--- a/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/static_domain/config.xml
+++ b/deploy/jenkins/jobs/ArtifactUpload/jobs/dev/jobs/igot/jobs/static_domain/config.xml
@@ -1,6 +1,6 @@
-
+
-
+
hudson.model.ParametersDefinitionProperty
com.sonyericsson.rebuild.RebuildSettings
@@ -18,8 +18,10 @@
5
-
-
+