Configuration

This Page Explains All Configuration Used By Question & QuestionSet Service

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.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

KeyDefault ValueDescriptionRequired/OptionalCategory

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

KeyDefault ValueDescriptionRequired/OptionalCategory

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