Skip to content

Latest commit

 

History

History
52 lines (42 loc) · 21.8 KB

File metadata and controls

52 lines (42 loc) · 21.8 KB
description
This Page Explains All Configuration Used By Question & QuestionSet Service

Configuration

We have 3 components under Question & QuestionSet Service:

  1. inquiry-api-service (micro-service)
  2. async-questionset-publish (flink job for data pipeline)
  3. questionset-republish (flink job for data pipeline)

inquiry-api-service:

keydefault valuedescriptionOptional/RequiredCategory
play.http.parser.maxMemoryBuffer50MBPlay Framework Config. It allows to configure memory size for request coming to serviceOptionalPlay Framework Config.
akka.http.parsing.max-content-length50MBPlay Framework Config. It allows to configure size of request coming to serviceOptionalPlay Framework Config.
schema.base_path../../schemas/Base Path for Object Level Schema.RequiredMicroservice Config
cassandra.lp.connection127.0.0.1:9042IP and Port of Cassandra DatabaseRequiredDatabase Config
redis.host"localhost"IP of Redis DatabaseRequiredDatabase Config
redis.port6379Port of Redis DatabaseOptionalDatabase Config
redis.maxConnections128Maximum No of connection allowedOptionalDatabase Config
graph.dir/data/graphDBGraph DB (Neo4j) ConfigurationOptionalDatabase Config
akka.request_timeout30Request timeoutOptionalMicroservice Config
environment.idekstepAn unique id for representing envRequiredMicroservice Config
graph.ids["domain"]Graph DB (Neo4j) ConfigurationOptionalDatabase Config
graph.passport.key.base31b6fd1c4d64e745c867e61a45edc34aGraph DB (Neo4j) ConfigurationRequiredDatabase Config
route.domain"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
route.bolt.write.domain"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
route.bolt.read.domain"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
route.all"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
route.bolt.write.all"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
route.bolt.read.all"bolt://localhost:7687"Graph DB (Neo4j) ConfigurationRequiredDatabase Config
shard.id1Graph DB (Neo4j) ConfigurationRequiredDatabase Config
platform.auth.check.enabledFALSEFlag to enbale disable authentication checkOptionalMicroservice Config
platform.cache.ttl3600000Expiry Time for Cached RecordOptionalMicroservice Config
telemetry_envdevEnvironment Name for TelemetryOptionalMicroservice Config
installation.idekstepInstallation IdOptionalMicroservice Config
kafka.urls"localhost:9092"Kafka Host & PortRequiredMicroservice Config
kafka.topic.send.enableTRUEThis flag is used to decide whether to send the publish event to kafka topic or notOptionalMicroservice Config
kafka.topics.instruction"local.assessment.publish.request"Kafka Topic name for publish apiRequiredMicroservice Config
objectcategorydefinition.keyspace"category_store"Keyspace Name from where service should read primary category definitionRequiredMicroservice Config
questionset.keyspace"hierarchy_store"Keyspace Name where questionset hierarchy and other external data (e.g: instructions) should be saved.RequiredMicroservice Config
question.keyspace"question_store"Keyspace Name where question external data (e.g: body, editorState, etc) should be saved.RequiredMicroservice Config
question.list.limit20Number of Identifiers allowed in Question List apiOptionalMicroservice Config
neo4j_objecttypes_enabled["Question"]This config is used to decide whether to write data in graph or not from hierarchy childrenOptionalMicroservice Config
composite.search.urlhttp://localhost:9000Host Url of Knowlg search serviceRequiredMicroservice Config
import.request_size_limit200Request limit for import apiOptionalMicroservice Config
import.output_topic_name"local.auto.creation.job.request"Kafka topic name for import apiRequiredMicroservice Config
import.required_props.question["name", "code", "mimeType", "framework", "channel"]Name of required properties of Question object for import apiOptionalMicroservice Config
import.required_props.questionset["name", "code", "mimeType", "framework", "channel"]Name of required properties of QuestionSet object for import apiOptionalMicroservice Config
import.remove_props.question[]Name of properties which need to be removed from Question object for import apiOptionalMicroservice Config
import.remove_props.questionset[]Name of properties which need to be removed from QuestionSet object for import apiOptionalMicroservice Config
root_node_visibility["Default","Private"]Allowed Visibility for Root QuestionSet objectOptionalMicroservice Config
master.category.validation.enabledYesThis flag is used to control framework categories validationOptionalMicroservice Config
question.cache.enabletrueThis flag control caching data for Live Questions into Redis CacheOptionalMicroservice Config
questionset.cache.enabletrueThis flag control caching data for Live QuestionSets into Redis CacheOptionalMicroservice Config
assessment.copy.origin_data["name", "author", "license", "organisation"]This Config holds property names which should be populated as originData into copied node.OptionalMicroservice Config
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"]This Config holds all property names which should be removed while copying Question/QuestionSet object.OptionalMicroservice Config
cloud_storage_containerNAThis Config holds container name of cloud storage where data should be stored/read.RequiredCloud Storage Config
cloudstorage.metadata.replace_absolute_pathfalseThis flag is used for storing all metadata having cloud storage path as cloud agnostic path in db and return absolute path in read api responses. By default it is disabled.OptionalMicroservice Config
cloudstorage.metadata.listNAThis config holds list of all property where cloud storage path can be present. This Config will be used only if cloudstorage.metadata.replace_absolute_path is enabled.OptionalMicroservice Config
cloudstorage.relative_path_prefixCLOUD_STORAGE_BASE_PATHThis config holds the string value which should be used in place of cloud storage base url. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled.OptionalMicroservice Config
cloudstorage.read_base_patNAThis config holds the storage base url or cname url which should be used to convert urls to absolute url before returning data to user. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled.OptionalMicroservice Config
cloudstorage.write_base_pathNAThis config can hold multiple cloud storage base url which should be should be replaced by the value of cloudstorage.relative_path_prefix. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled.OptionalMicroservice Config

async-questionset-publish (flink job):

Key Default Value Description Required/Optional Category
kafka.input.topic {{ env_name }}.assessment.publish.request This config holds value of input kafka topic name from where events should be read for processing Required Kafka Config
kafka.post_publish.topic {{ env_name }}.assessment.postpublish.request This config holds value of kafka topic name for any post publish activity. Required Kafka Config
kafka.groupId {{ env_name }}-questionset-publish-group This config holds the group name for kafka input topic where flink checkpointer is maintained. Optional Kafka Config
task.consumer.parallelism 1 This config decides how many threads/process to run for consumer Optional Flink Config
task.parallelism 1 This config decides how many process to run in parallel for event processing. Optional Flink Config
task.router.parallelism 1 This config decides how many process to run for event router. Optional Flink Config
question.keyspace {{instance}}_question_store Cassandra db keyspace name where question data is stored. instance variable will have env name Required Database Config
question.table question_data Cassandra db table name where question data is stored. Optional Database Config
questionset.keyspace {{instance}}_hierarchy_store Cassandra db keyspace name where questionset data is stored. instance variable will have env name Required Database Config
questionset.table questionset_hierarchy Cassandra db table name where questionset data is stored. Optional Database Config
print_service.base_url NA Print Service Host Url should be configured. Required Job Config
cloud_storage_type NA This config holds cloud storage provider name. e.g: azure, aws, etc. Required Cloud Storage Config
cloud_storage_key NA This Config holds unique key which represents specific cloud storage account Required Cloud Storage Config
cloud_storage_secret NA This Config holds secret key to access cloud storage. Required Cloud Storage Config
cloud_storage_endpoint "" This Config holds endpoint of cloud storage, if needed by cloud storage. Optional Cloud Storage Config
cloud_storage_container NA This Config holds container name of cloud storage where data should be stored/read. Required Cloud Storage Config
master.category.validation.enabled Yes This flag is used to control framework categories validation Optional Job Config
cloudstorage.metadata.replace_absolute_path false This flag is used for storing all metadata having cloud storage path as cloud agnostic path in db and return absolute path in read api responses. By default it is disabled. Optional Job Config
cloudstorage.metadata.list ["appIcon","posterImage","artifactUrl","downloadUrl","variants","previewUrl","pdfUrl"] This config holds list of all property where cloud storage path can be present. This Config will be used only if cloudstorage.metadata.replace_absolute_path is enabled. Optional Job Config
cloudstorage.relative_path_prefix CLOUD_STORAGE_BASE_PATH This config holds the string value which should be used in place of cloud storage base url. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled. Optional Job Config
cloudstorage.read_base_pat "https://sunbirddevbbpublic.blob.core.windows.net" This config holds the storage base url or cname url which should be used to convert urls to absolute url before returning data to user. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled. Optional Job Config
cloudstorage.write_base_path ["https://sunbirddevbbpublic.blob.core.windows.net"] This config can hold multiple cloud storage base url which should be should be replaced by the value of cloudstorage.relative_path_prefix. This config will be used only if cloudstorage.metadata.replace_absolute_path is enabled. Optional Job Config

questionset-republish (flink job):

Key Default Value Description Required/Optional Category
kafka.input.topic {{ env_name }}.assessment.republish.request This config holds value of input kafka topic name from where events should be read for processing Required Kafka Config
kafka.post_publish.topic {{ env_name }}.assessment.postpublish.request This config holds value of kafka topic name for any post re-publish activity. Required Kafka Config
kafka.groupId {{ env_name }}-questionset-republish-group This config holds the group name for kafka input topic where flink checkpointer is maintained. Required Kafka Config

Rest other configuration of async-questionset-publish job is applicable for this job as well with all default values.