Skip to main content
Version: 1.x

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/using/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-hostname>/api/swagger-ui/oauth2-redirect.html
SWAGGER_SERVER_URLServer URL.Yes-https://<app-hostname>/api

See Also​

For detailed configuration of supplementary services, see:


Backend configuration for supplementary services​