diff --git a/ansible/roles/kong-api/defaults/main.yml b/ansible/roles/kong-api/defaults/main.yml index 7af41e2149..7a21402828 100644 --- a/ansible/roles/kong-api/defaults/main.yml +++ b/ansible/roles/kong-api/defaults/main.yml @@ -10001,3 +10001,1284 @@ kong_apis: - name: opa-checks config.required: true config.enabled: true + +- name: EntitiesUpdate + uris: "{{ private_ml_survey_prefix }}/v1/entities/bulkUpdate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: EntitiesMapping + uris: "{{ private_ml_survey_prefix }}/v1/entities/mappingUpload" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadUserRoles + uris: "{{ private_ml_survey_prefix }}/v1/userRoles/bulkCreate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchUserRoles + uris: "{{ private_ml_survey_prefix }}/v1/userRoles/list" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: RateObservation + uris: "{{ private_ml_survey_prefix }}/v1/observationSubmissions/rate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: GenerateObservationLink + uris: "{{ private_ml_survey_prefix }}/v1/solutions/getObservationSolutionLink" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: CreateChildSurveySolution + uris: "{{ private_ml_survey_prefix }}/v1/surveys/importSurveryTemplateToSolution" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: GenerateSurveyLink + uris: "{{ private_ml_survey_prefix }}/v1/surveys/getLink" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateQuestions + uris: "{{ private_ml_survey_prefix }}/v1/questions/bulkUpdate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadQuestions + uris: "{{ private_ml_survey_prefix }}/v1/questions/bulkCreate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchUserExtension + uris: "{{ private_ml_survey_prefix }}/v1/userExtension/getProfile" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: CreateProgram + uris: "{{ private_ml_core_prefix }}/v1/programs/create" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchEntityType + uris: "{{ private_ml_survey_prefix }}/v1/entityTypes/list" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateSolution + uris: "{{ private_ml_core_prefix }}/v1/solutions/update" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateSolutionAddRoles + uris: "{{ private_ml_core_prefix }}/v1/solutions/addRolesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateSolutionAddEntities + uris: "{{ private_ml_core_prefix }}/v1/solutions/addEntitiesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateSolutionRemoveRoles + uris: "{{ private_ml_core_prefix }}/v1/solutions/removeRolesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateSolutionRemoveEntities + uris: "{{ private_ml_core_prefix }}/v1/solutions/removeEntitiesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateProgram + uris: "{{ private_ml_core_prefix }}/v1/programs/update" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateProgramAddRoles + uris: "{{ private_ml_core_prefix }}/v1/programs/addRolesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateProgramAddEntities + uris: "{{ private_ml_core_prefix }}/v1/programs/addEntitiesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateProgramRemoveRoles + uris: "{{ private_ml_core_prefix }}/v1/programs/removeRolesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UpdateProgramRemoveEntities + uris: "{{ private_ml_core_prefix }}/v1/programs/removeEntitiesInScope" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: ProgramSearch + uris: "{{ private_ml_core_prefix }}/v1/programs/list" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchRelatedEntities + uris: "{{ private_ml_survey_prefix }}/v1/entities/relatedEntities" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchQuestionList + uris: "{{ private_ml_survey_prefix }}/v1/solutions/questionList" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchEntitiesList + uris: "{{ private_ml_core_prefix }}/v1/entities/listByEntityType" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: SearchForSolutions + uris: "{{ private_ml_core_prefix }}/v1/solutions/list" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchCriteriaDetails + uris: "{{ private_ml_survey_prefix }}/v1/solutionDetails/criteria" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: CriteriaUpload + uris: "{{ private_ml_survey_prefix }}/v1/criteria/upload" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FrameworkUpload + uris: "{{ private_ml_survey_prefix }}/v1/frameworks/create" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadThemesToFramewok + uris: "{{ private_ml_survey_prefix }}api/v1/frameworks/uploadThemes/" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: CreateSolutionFromFramework + uris: "{{ private_ml_survey_prefix }}/v1/observations/importFromFramework" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadCriteriaRubricsForSolution + uris: "{{ private_ml_survey_prefix }}/v1/solutions/uploadCriteriaRubricExpressions" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadThemeRubricToSolution + uris: "{{ private_ml_survey_prefix }}/v1/solutions/uploadThemesRubricExpressions" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: CreateSurveySolution + uris: "{{ private_ml_survey_prefix }}/v1/surveys/createSolutionTemplate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: ProjectsUpload + uris: "{{ private_ml_project_prefix }}/v1/project/templates/bulkCreate" + upstream_url: "{{ ml_project_service_url }}/v1/project/templates/bulkCreate" + 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: ProjectsUpdate + uris: "{{ private_ml_project_prefix }}/v1/project/templates/bulkUpdate" + upstream_url: "{{ ml_project_service_url }}/v1/project/templates/bulkUpdate" + 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: TasksUpload + uris: "{{ private_ml_project_prefix }}/v1/project/templateTasks/bulkCreate" + upstream_url: "{{ ml_project_service_url }}/v1/project/templateTasks/bulkCreate" + 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: TasksUpdate + uris: "{{ private_ml_project_prefix }}/v1/project/templateTasks/bulkUpdate" + upstream_url: "{{ ml_project_service_url }}/v1/project/templateTasks/bulkUpdate" + 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: SolutionCreationForProjects + uris: "{{ private_ml_project_prefix }}/v1/solutions/create" + upstream_url: "{{ ml_project_service_url }}/v1/solutions/create" + 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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: MapSolutionToProject + uris: "{{ private_ml_project_prefix }}/v1/project/templates/importProjectTemplate" + upstream_url: "{{ ml_project_service_url }}/v1/project/templates/importProjectTemplate" + 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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: SearchForCreatedProjects + uris: "{{ private_ml_project_prefix }}/v1/library/categories/projects" + upstream_url: "{{ ml_project_service_url }}/v1/library/categories/projects" + 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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: RolesUpdate + uris: "{{ private_ml_survey_prefix }}/v1/userRoles/bulkUpdate" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: ReadUserDetails + uris: "{{ private_ml_project_prefix }}/api/user/v1/read" + upstream_url: "{{ ml_project_service_url }}/user/v1/read" + 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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: SolutionCreationForCourse + uris: "{{ private_ml_core_prefix }}/v1/solutions/create" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: MapProgramToObservationSolution + uris: "{{ private_ml_survey_prefix }}/v1/solutions/importFromSolution" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: UploadThemesToFramewok + uris: "{{ private_ml_survey_prefix }}/v1/frameworks/uploadThemes/" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: MapProgramToSurveySolution + uris: "{{ private_ml_survey_prefix }}/v1/surveys/mapSurverySolutionToProgram" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: FetchLink + uris: "{{ private_ml_core_prefix }}/v1/solutions/fetchLink" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: GetSolutionDetails + uris: "{{ private_ml_core_prefix }}/v1/solutions/getDetails" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: TemplateUpdate + uris: "{{ private_ml_project_prefix }}/v1/project/templates/update" + upstream_url: "{{ ml_project_service_url }}/project/templates/update" + 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: TaskUpdate + uris: "{{ private_ml_project_prefix }}/v1/templates/tasks/update" + upstream_url: "{{ ml_project_service_url }}/project/templates/tasks/update" + 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: TemplateUpdate + uris: "{{ private_ml_project_prefix }}/v1/project/templates/update" + upstream_url: "{{ ml_project_service_url }}/v1/project/templates/update" + 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: TaskUpdate + uris: "{{ private_ml_project_prefix }}/v1/project/templateTasks/update" + upstream_url: "{{ ml_project_service_url }}/v1/project/templateTasks/update" + 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: UserExtensionsUpload + uris: "{{ private_ml_survey_prefix }}/v1/userExtension/bulkUpload" + upstream_url: "{{ ml_survey_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: GenerateQuestionResponseReport + uris: "{{ private_ml_report_prefix }}/v1/reports/createQuestionResponseReport" + upstream_url: "{{ ml_reports_service_url }}/v1/reports/createQuestionResponseReport" + 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: AddDetailsToDb + uris: "{{ private_ml_core_prefix }}/v1/admin/dbCreate" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: createAndUpdateCertificateTemplate + uris: "{{ private_ml_core_prefix }}/v1/certificateTemplates/createOrUpdate" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: uploadCertificateTemplate + uris: "{{ private_ml_core_prefix }}/v1/certificateTemplates/uploadTemplate" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: projectCertificateReissue + uris: "{{ private_ml_project_prefix }}/v1/userProjects/certificateReIssue" + upstream_url: "{{ ml_project_service_url }}/v1/userProjects/certificateReIssue" + 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: createCertificateTemplateSvg + uris: "{{ private_ml_core_prefix }}/v1/certificateTemplates/createSvg" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: createAndUpdateCertificateBaseTemplate + uris: "{{ private_ml_core_prefix }}/v1/certificateBaseTemplates/createOrUpdate" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false +- name: certificateBaseTemplateDetailsList + uris: "{{ private_ml_core_prefix }}/v1/certificateBaseTemplates/list" + upstream_url: "{{ ml_core_service_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: "{{ small_request_size_limit }}" + - name: opa-checks + config.required: false + config.enabled: false