Vault Secret Configuration
Main Service Configuration
Add the following secrets to the serender/test/[SERVICE_NAME] path in Vault:
{
"App:CorsOrigins": "http://[HOST]:4301,https://[HOST]:4301,https://*.Common.com,http://[HOST]:4200,http://[HOST]:44307,https://[HOST]:44307,https://[YOUR_GATEWAY_HOST]",
"Certificate:Key": "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",
"Certificate:Password": "[CERTIFICATE_PASSWORD]",
"Keycloak:AllowedPaths": "/health,/swagger,/swagger-ui,/swagger/v1/swagger.json,/index.html,/favicon.ico,/index.js,/swagger-ui.css,/swagger-ui-bundle.js,/swagger-ui-standalone-preset.js,/oauth2-redirect.html",
"Keycloak:Audience": "realm-management",
"Keycloak:Authority": "http://[KEYCLOAK_HOST]:8080/realms/[REALM_NAME]",
"Keycloak:AuthorizationUrl": "http://[KEYCLOAK_HOST]:8080/realms/[REALM_NAME]/protocol/openid-connect/auth",
"Keycloak:ClientId": "[CLIENT_ID]",
"Keycloak:ClientSecret": "[CLIENT_SECRET]",
"Keycloak:Introspect": "http://[KEYCLOAK_HOST]:8080/realms/[REALM_NAME]/protocol/openid-connect/token/introspect",
"Keycloak:Realm": "[REALM_NAME]",
"Keycloak:TokenUrl": "http://[KEYCLOAK_HOST]:8080/realms/[REALM_NAME]/protocol/openid-connect/token",
"Keycloak:Url": "http://[KEYCLOAK_HOST]:8080",
"Loki:Url": "http://[LOKI_HOST]:3100",
"MemCached:Address": "[MEMCACHED_HOST]",
"MemCached:Port": "[MEMCACHED_PORT]",
"Monitoring:Zipkin:Endpoint": "http://[ZIPKIN_HOST]:9411/api/v2/spans",
"RabbitMQSettings:DispatchConsumersAsync": "true",
"RabbitMQSettings:HostName": "[RABBITMQ_HOST]",
"RabbitMQSettings:Password": "[RABBITMQ_PASSWORD]",
"RabbitMQSettings:Port": "[RABBITMQ_PORT]",
"RabbitMQSettings:UserName": "[RABBITMQ_USERNAME]"
}
Tenant-Specific Database Configuration
Add separate database connection information for each tenant to Vault:
Tenant 1 (serender/test/[SERVICE_NAME]/[TENANT1_ORG_ID])
{
"Command": "Host=[POSTGRES_HOST];Port=[POSTGRES_PORT];Database=uowDb_command_[SERVICE_NAME]_Tenant1;Username=[POSTGRES_USERNAME];Password=[POSTGRES_PASSWORD]",
"Provider_Command": "postgresql",
"Provider_Query": "postgresql",
"Query": "Host=[POSTGRES_HOST];Port=[POSTGRES_PORT];Database=uowDb_query_[SERVICE_NAME]_Tenant1;Username=[POSTGRES_USERNAME];Password=[POSTGRES_PASSWORD]"
}
Tenant 2 (serender/test/[SERVICE_NAME]/[TENANT2_ORG_ID])
{
"Command": "Host=[POSTGRES_HOST];Port=[POSTGRES_PORT];Database=uowDb_command_[SERVICE_NAME]_Tenant2;Username=[POSTGRES_USERNAME];Password=[POSTGRES_PASSWORD]",
"Provider_Command": "postgresql",
"Provider_Query": "postgresql",
"Query": "Host=[POSTGRES_HOST];Port=[POSTGRES_PORT];Database=uowDb_query_[SERVICE_NAME]_Tenant2;Username=[POSTGRES_USERNAME];Password=[POSTGRES_PASSWORD]"
}