Configuration
This Page Explains All Configuration Used By Question & QuestionSet Service
We have 3 components under Question & QuestionSet Service:
inquiry-api-service (micro-service)
async-questionset-publish (flink job for data pipeline)
questionset-republish (flink job for data pipeline)
inquiry-api-service:
key | default value | description | Optional/Required | Category |
---|---|---|---|---|
play.http.parser.maxMemoryBuffer | 50MB | Play Framework Config. It allows to configure memory size for request coming to service | Optional | Play Framework Config. |
akka.http.parsing.max-content-length | 50MB | Play Framework Config. It allows to configure size of request coming to service | Optional | Play Framework Config. |
schema.base_path | ../../schemas/ | Base Path for Object Level Schema. | Required | Microservice Config |
cassandra.lp.connection | 127.0.0.1:9042 | IP and Port of Cassandra Database | Required | Database Config |
redis.host | "localhost" | IP of Redis Database | Required | Database Config |
redis.port | 6379 | Port of Redis Database | Optional | Database Config |
redis.maxConnections | 128 | Maximum No of connection allowed | Optional | Database Config |
graph.dir | /data/graphDB | Graph DB (Neo4j) Configuration | Optional | Database Config |
akka.request_timeout | 30 | Request timeout | Optional | Microservice Config |
environment.id | ekstep | An unique id for representing env | Required | Microservice Config |
graph.ids | ["domain"] | Graph DB (Neo4j) Configuration | Optional | Database Config |
graph.passport.key.base | 31b6fd1c4d64e745c867e61a45edc34a | Graph DB (Neo4j) Configuration | Required | Database Config |
route.domain | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
route.bolt.write.domain | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
route.bolt.read.domain | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
route.all | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
route.bolt.write.all | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
route.bolt.read.all | "bolt://localhost:7687" | Graph DB (Neo4j) Configuration | Required | Database Config |
shard.id | 1 | Graph DB (Neo4j) Configuration | Required | Database Config |
platform.auth.check.enabled | FALSE | Flag to enbale disable authentication check | Optional | Microservice Config |
platform.cache.ttl | 3600000 | Expiry Time for Cached Record | Optional | Microservice Config |
telemetry_env | dev | Environment Name for Telemetry | Optional | Microservice Config |
installation.id | ekstep | Installation Id | Optional | Microservice Config |
kafka.urls | "localhost:9092" | Kafka Host & Port | Required | Microservice Config |
kafka.topic.send.enable | TRUE | This flag is used to decide whether to send the publish event to kafka topic or not | Optional | Microservice Config |
kafka.topics.instruction | "local.assessment.publish.request" | Kafka Topic name for publish api | Required | Microservice Config |
objectcategorydefinition.keyspace | "category_store" | Keyspace Name from where service should read primary category definition | Required | Microservice Config |
questionset.keyspace | "hierarchy_store" | Keyspace Name where questionset hierarchy and other external data (e.g: instructions) should be saved. | Required | Microservice Config |
question.keyspace | "question_store" | Keyspace Name where question external data (e.g: body, editorState, etc) should be saved. | Required | Microservice Config |
question.list.limit | 20 | Number of Identifiers allowed in Question List api | Optional | Microservice Config |
neo4j_objecttypes_enabled | ["Question"] | This config is used to decide whether to write data in graph or not from hierarchy children | Optional | Microservice Config |
composite.search.url | http://localhost:9000 | Host Url of Knowlg search service | Required | Microservice Config |
import.request_size_limit | 200 | Request limit for import api | Optional | Microservice Config |
import.output_topic_name | "local.auto.creation.job.request" | Kafka topic name for import api | Required | Microservice Config |
import.required_props.question | ["name", "code", "mimeType", "framework", "channel"] | Name of required properties of Question object for import api | Optional | Microservice Config |
import.required_props.questionset | ["name", "code", "mimeType", "framework", "channel"] | Name of required properties of QuestionSet object for import api | Optional | Microservice Config |
import.remove_props.question | [] | Name of properties which need to be removed from Question object for import api | Optional | Microservice Config |
import.remove_props.questionset | [] | Name of properties which need to be removed from QuestionSet object for import api | Optional | Microservice Config |
root_node_visibility | ["Default","Private"] | Allowed Visibility for Root QuestionSet object | Optional | Microservice Config |
master.category.validation.enabled | Yes | This flag is used to control framework categories validation | Optional | Microservice Config |
question.cache.enable | true | This flag control caching data for Live Questions into Redis Cache | Optional | Microservice Config |
questionset.cache.enable | true | This flag control caching data for Live QuestionSets into Redis Cache | Optional | Microservice Config |
assessment.copy.origin_data | ["name", "author", "license", "organisation"] | This Config holds property names which should be populated as originData into copied node. | Optional | Microservice 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. | Optional | Microservice Config |
cloud_storage_container | NA | This Config holds container name of cloud storage where data should be stored/read. | Required | Cloud Storage 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 | Microservice Config |
cloudstorage.metadata.list | NA | 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 | Microservice 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 | Microservice Config |
cloudstorage.read_base_pat | NA | 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 | Microservice Config |
cloudstorage.write_base_path | NA | 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 | Microservice 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.
Last updated