For the complete documentation index, see llms.txt. This page is also available as Markdown.

Configuration Reference

The config files behind the frontend, proxy, audit, notification and view-template behavior. For registry-core environment variables, see the Environment Variable Reference.

Edit config.json and update the values below for your deployment.

Key
Purpose

keycloak

Keycloak config object: url (domainUrl/auth), clientId (registry-frontend), realm (sunbird-rc)

baseUrl

your API base URL, e.g. domainUrl/registry/api/v1

domainName

your site's domain, e.g. https://demo-url.xiv.in

schemaUrl

swagger API URL, e.g. domainUrl/registry/api/docs/swagger.json

footerText

footer label text

languages

language codes for multilingual support — add translation files under src/assets/i18n/global/ and src/assets/i18n/local/

default_theme

theme color / site logo object

Needed to avoid CORS issues when running locally.

1

Create the config file

Create a proxy.conf.json in the project root if it doesn't exist.

2

Add the proxy config for your API endpoints

proxy.conf.json
{
  "/registry/api/docs": {
    "target": "https://domain_name/",
    "secure": false,
    "changeOrigin": true,
    "logLevel": "debug"
  }
}
3

Start with the proxy

npm start
# or
ng serve --proxy-config proxy.conf.json

Sunbird RC logs schema-level ADD/READ/UPDATE/DELETE/SEARCH operations. Two logging modes:

Mode
Where logs go
Requires

FILE

Files, with a 30 MB rolling policy

—

DATABASE

The configured primary database, and ElasticSearch too if enabled

An audit schema, per raw_audit_schema.json, placed in the registry's configured schema directory

Toggle via audit_enabled; see audit_frame_store, audit_suffix, audit_suffixSeparator in the Environment Variable Reference.

Sunbird RC can notify an entity's owner on Invite/Create/Modify/Delete/Revoke. Configure notification templates per schema, per operation: create, update, invite, delete, revoke — each a list, so multiple templates per operation are supported.

Both email (subject + body) and SMS (body only) are supported. Delivery is either:

Mode
How it works

Asynchronous (Kafka)

The registry publishes a message to the configured topic; the notification service consumes it and sends the notification.

Synchronous (API)

The registry calls the notification service directly.

The Notification Service itself expects SMS/SMTP gateway config — see its env vars in the Environment Variable Reference.

View templates are JSON transformers applied to entity responses at runtime — they can rename/hide fields, evaluate JEXL expressions, and call custom provider functions.

Applied to:

...produces:

Fields default to "display": true; set "display": false to hide a field while still keeping it available for internal referencing (e.g. nationalIdentifier above).

Applying a template — to GET APIs (Get An Entity, Get An Entity By Id) via a viewTemplateId header:

...and to search/discovery APIs via the request body:

Last updated