diff --git a/infra/main.bicep b/infra/main.bicep index 35bb3e5f..39524dc5 100644 --- a/infra/main.bicep +++ b/infra/main.bicep @@ -2051,9 +2051,10 @@ module cosmosDBAccount 'br/public:avm/res/document-db/database-account:0.15.1' = containers: [ for container in databaseContainersList: { name: container.name - paths: ['/id'] + paths: [container.partitionKey] defaultTtl: -1 throughput: 400 + indexingPolicy: contains(container, 'indexingPolicy') ? container.indexingPolicy : null } ] } diff --git a/infra/main.parameters.json b/infra/main.parameters.json index 7cd77435..7092de06 100644 --- a/infra/main.parameters.json +++ b/infra/main.parameters.json @@ -143,19 +143,41 @@ "value": [ { "name": "conversations", - "canonical_name": "CONVERSATIONS_DATABASE_CONTAINER" + "canonical_name": "CONVERSATIONS_DATABASE_CONTAINER", + "partitionKey": "/principal_id", + "indexingPolicy": { + "compositeIndexes": [ + [ + { "path": "/isDeleted", "order": "Ascending" }, + { "path": "/_ts", "order": "Descending" } + ], + [ + { "path": "/isDeleted", "order": "Ascending" }, + { "path": "/name", "order": "Ascending" }, + { "path": "/_ts", "order": "Descending" } + ] + ] + } }, { "name": "datasources", - "canonical_name": "DATASOURCES_DATABASE_CONTAINER" + "canonical_name": "DATASOURCES_DATABASE_CONTAINER", + "partitionKey": "/id" }, { "name": "prompts", - "canonical_name": "PROMPTS_CONTAINER" + "canonical_name": "PROMPTS_CONTAINER", + "partitionKey": "/id" }, { "name": "mcp", - "canonical_name": "MCP_CONTAINER" + "canonical_name": "MCP_CONTAINER", + "partitionKey": "/id" + }, + { + "name": "chainlit_users", + "canonical_name": "USERS_DATABASE_CONTAINER", + "partitionKey": "/identifier" } ] }, @@ -192,6 +214,7 @@ "roles": [ "AppConfigurationDataReader", "AcrPull", + "CosmosDBBuiltInDataContributor", "StorageBlobDataReader", "StorageBlobDelegator", "KeyVaultSecretsUser"