Skip to main content

Backend Services Configuration

This document provides an overview of the configuration settings for the backend services of OpenCDMP, based on their respective app.env files.

Backend Service Configuration

Here you can view all available configuration options for main app backend service.

Authentication & Security

Env VariableDescriptionRequiredDefault ValueExample
IDP_ISSUER_URIKeycloak realm URL string.Yes-http://<keycloak-hostname>:<port>/realms/<realm-name>
IDP_CLAIMS_ROLES_PATHKeycloak API client roles path.Yes-<keycloak_client>.roles
SECURITY_AUDIENCEKeycloak API client scope that security is intended for.Yes-<keycloak-client-scope>
CORS_ALLOWED_ORIGINString that contains allowed origin for this server.Yes-http://<hostname>:<port>

Database Configuration

Env VariableDescriptionRequiredDefault ValueExample
DB_URLDatabase connection string.Yes-jdbc:postgresql://<opencdmp-postgres-hostname>:<port>/<database-name>
DB_USERDatabase username string.Yes-<opencdmp-user>
DB_PASSDatabase password string.Yes-<opencdmp-password>

Elasticsearch Configuration

Env VariableDescriptionRequiredDefault ValueExample
ELASTIC_ENABLEDBoolean value to enable Elastic search.Yes-true
ELASTIC_HOSTURI that contains elastic host.Yes*-<elastic-host>:<port>
ELASTIC_USE_SSLBoolean value to enable Elastic SSL.Nofalsetrue
ELASTIC_USERElastic username string.Yes*-<opencdmp-elastic-user>
ELASTIC_PASSElastic password string.Yes*-<opencdmp-elastic-password>
ELASTIC_PLAN_INDEXElastic index name for plans.Yes*-<opencdmp-plans-index>
ELASTIC_DESCRIPTION_INDEXElastic index name for descriptions.Yes*-<opencdmp-descriptons-index>

*Required only if ELASTIC_ENABLED is set to true

RabbitMQ Configuration

Env VariableDescriptionRequiredDefault ValueExample
QUEUE_APP_IDRabbitMQ application id string.Yes-<opencdmp-app-id>
QUEUE_NAMERabbitMQ queue name string.Yes-<rabbit-mq-queue-name>
QUEUE_EXCHANGERabbitMQ exchange name string.Yes-<rabbit-mq-queue-exchange>
RABBIT_HOSTRabbitMQ connection host name.Yes-<hostname>
RABBIT_PORTRabbitMQ connection port.Yes-<port>
RABBIT_USERRabbitMQ username string.Yes-<rabbit-mq-username>
RABBIT_PASSRabbitMQ password string.Yes-<rabbit-mq-password>

Keycloak API Configuration

Env VariableDescriptionRequiredDefault ValueExample
KEYCLOAK_API_SERVER_URLKeycloak server URL string.Yes-http://<keycloak-hostname>:<port>
KEYCLOAK_API_REALMKeycloak realm name.Yes-<keycloak-realm>
KEYCLOAK_API_CLIENT_IDKeycloak client id string to get auth token.Yes-<keycloak-client-id>
KEYCLOAK_API_CLIENT_SECRETKeycloak client secret string to get auth token.Yes-<keycloak-client-secret>
KEYCLOAK_API_USERNAMEKeycloak user name string.Yes-<keycloak-username>
KEYCLOAK_API_PASSWORDKeycloak password string.Yes-<keycloak-password>

Keycloak Group IDs (Role Mapping)

Env VariableDescriptionRequiredDefault ValueExample
KEYCLOAK_API_GLOBAL_USER_GROUP_IDUUID group value for role USER.Yes-a04fd333-f127-449e-8fc2-0626570a3899
KEYCLOAK_API_GLOBAL_ADMIN_GROUP_IDUUID group value for role ADMIN.Yes-299f18fe-e271-4625-a4c1-9c3eb313b2ea
KEYCLOAK_API_GLOBAL_INSTALLATION_ADMIN_GROUP_IDUUID group value for role INSTALLATION ADMIN.Yes-88a65fff-dffe-474a-a461-252ff4230203
KEYCLOAK_API_TENANT_ADMIN_GROUP_IDUUID group value for role TENANT ADMIN.Yes-4453d854-4aea-4d19-af80-7f9d85e5a2c9
KEYCLOAK_API_TENANT_USER_GROUP_IDUUID group value for role TENANT USER.Yes-c7057c4d-e7dc-49ef-aa5d-02ad3a22bff89
KEYCLOAK_API_TENANT_CONFIG_MANAGER_GROUP_IDUUID group value for role TENANT CONFIG MANAGER.Yes-09a6977b-719e-4e90-b3fc-3b394d82e05f
KEYCLOAK_API_TENANT_PLAN_MANAGER_GROUP_IDUUID group value for role TENANT PLAN MANAGER.Yes-37d1fb0e-5e03-47bf-aefc-365c0670f84e

File Transformer Service Authentication

Env VariableDescriptionRequiredDefault ValueExample
FILE_TRANSFORMER_AUTH_TOKEN_ENDPOINTURL to get keycloak auth token for file transformer services.Yes**-http://<keycloak-hostname>:<port>/realms/<realm-name>/protocol/openid-connect/token
FILE_TRANSFORMER_AUTH_CLIENT_IDKeycloak client id string to get auth token for file transformer services.Yes**-<keycloak-client-id>
FILE_TRANSFORMER_AUTH_CLIENT_SECRETKeycloak client secret string to get auth token for file transformer services.Yes**-<keycloak-client-secret>
FILE_TRANSFORMER_AUTH_SCOPEKeycloak client scope string for file transformer services.Yes**-<keycloak-scope>

**Required if using file transformer services

Deposit Service Authentication

Env VariableDescriptionRequiredDefault ValueExample
DEPOSIT_AUTH_TOKEN_ENDPOINTURL to get keycloak auth token for deposit services.Yes***-http://<keycloak-hostname>:<port>/realms/<realm-name>/protocol/openid-connect/token
DEPOSIT_AUTH_CLIENT_IDKeycloak client id string to get auth token deposit services.Yes***-<keycloak-client-id>
DEPOSIT_AUTH_CLIENT_SECRETKeycloak client secret string to get auth token for deposit services.Yes***-<keycloak-client-secret>
DEPOSIT_AUTH_SCOPEKeycloak client scope string for deposit services.Yes***-<keycloak-scope>

***Required if using deposit services

Evaluator Service Authentication

Env VariableDescriptionRequiredDefault ValueExample
EVALUATOR_AUTH_TOKEN_ENDPOINTURL to get keycloak auth token for evaluator services.Yes****-http://<keycloak-hostname>:<port>/realms/<realm-name>/protocol/openid-connect/token
EVALUATOR_AUTH_CLIENT_IDKeycloak client id string to get auth token evaluator services.Yes****-<keycloak-client-id>
EVALUATOR_AUTH_CLIENT_SECRETKeycloak client secret string to get auth token for evaluator services.Yes****-<keycloak-client-secret>
EVALUATOR_AUTH_SCOPEKeycloak client scope string for evaluator services.Yes****-<keycloak-scope>

****Required if using evaluator services

File Storage Configuration

Env VariableDescriptionRequiredDefault ValueExample
FILE_STORAGEFile path to store all application files.Yes-./storage/files

Supportive Material Paths

Env VariableDescriptionRequiredDefault ValueExample
SUPPORTIVE_MATERIAL_USER_GUIDE_PATHFile path to store Supportive Material User Guide.Noclasspath:/material/user-guide/classpath:<file-path>
SUPPORTIVE_MATERIAL_ABOUT_PATHFile path to store Supportive Material About.Noclasspath:/material/about/classpath:<file-path>
SUPPORTIVE_MATERIAL_TERM_OF_SERVICE_PATHFile path to store Supportive Material Terms of Service.Noclasspath:/material/terms-of-service/classpath:<file-path>
SUPPORTIVE_MATERIAL_GLOSSARY_PATHFile path to store Supportive Material Glossary.Noclasspath:/material/glossary/classpath:<file-path>
SUPPORTIVE_MATERIAL_FAQ_PATHFile path to store Supportive Material FAQ.Noclasspath:/material/faq/classpath:<file-path>
SUPPORTIVE_MATERIAL_COOKIE_POLICY_PATHFile path to store Supportive Material Cookie Policy.Noclasspath:/material/cookie-policy/classpath:<file-path>
SUPPORTIVE_MATERIAL_LANGUAGE_PATHFile path to store Language files.Nofile:frontend/src/assets/i18n/file:<file-path>

Logging Configuration

Env VariableDescriptionRequiredDefault ValueExample
LOGGING_CONFIG_PATHXml file that stores logging configuration.Noclasspath:logging/logback.xmlclasspath:<file-path>/<file-name>.xml
LOGGING_DEFAULT_LOG_LEVELLevel of error to store. Only 4 values can be assigned: INFO, DEBUG, WARN, ERRORNo-WARN
LOGGING_PATHFile path to store logging.No-logs/

Encryption Configuration

Env VariableDescriptionRequiredDefault ValueExample
TENANT_CONFIG_ENCRYPTION_AES_KEYAES key used to encrypt keycloak client secret for file transformer, deposit, evaluator services.NormpTvZnRWzyisUtFADBcZCn0q7Z75XdzrmpTvZnRWzyisUtFADBcZCn0q7Z75Xdz
TENANT_CONFIG_ENCRYPTION_AES_IVAES IV used to encrypt keycloak client secret for file transformer, deposit, evaluator services.Noec05d521a23f80adec05d521a23f80ad

Notification Expiration Settings

Env VariableDescriptionRequiredDefault ValueExample
MERGE_ACCOUNT_EXPIRATIONExpiration time (in seconds) for link account notification.No1440014400
REMOVE_CREDENTIAL_EXPIRATIONExpiration time (in seconds) for unlink account notification.No1440014400
TENANT_SPECIFIC_INVITATION_EXPIRATIONExpiration time (in seconds) for user invite notification to tenant.No25920002592000
PLAN_INVITATION_EXTERNAL_USER_EXPIRATIONExpiration time (in seconds) for notification of invitation of external users to a plan.No25920002592000

Locale Configuration

Env VariableDescriptionRequiredDefault ValueExample
LOCALE_TIMEZONETimezone for backend service.NoUTCUTC
LOCALE_LANGUAGELanguage for backend service.Noenen
LOCALE_CULTURECulture for backend service.Noenen

Contact Configuration

Env VariableDescriptionRequiredDefault ValueExample
CONTACT_SUPPORT_EMAIL_ADDRESSEmail receiver for contact support notifications.Yes-support@mydomain.com

Swagger Configuration

Env VariableDescriptionRequiredDefault ValueExample
SWAGGER_AUTH_CLIENT_IDKeycloak Swagger client idYes-<keycloak-client-id>
SWAGGER_AUTH_REDIRECT_URLSwagger redirect URL (must be the same value with swagger keycloak client).Yes-https://(APP_URL)/api/swagger-ui/oauth2-redirect.html
SWAGGER_SERVER_URLServer URL.Yes-https://(APP_URL)/api

See Also

For detailed configuration of supplementary services, see:


Backend configuration for supplementary services