From 598a84513a71041cf57be5fdab028fcc3b2d19c4 Mon Sep 17 00:00:00 2001 From: Saravana Dhandapani Date: Sat, 14 Feb 2026 22:59:46 -0800 Subject: [PATCH] docs(devops): add comprehensive Azure resource inventory Added AZURE_RESOURCE_INVENTORY.md with complete Azure infrastructure documentation: - Subscription details and resource groups - Full resource tree with all 13 Azure resources - Cosmos DB databases (mindlyst, lysnrai, mywisprai) with all containers - Storage, Key Vault, OpenAI, Speech Services, Notification Hubs - Environment variables and resource IDs - Geographic distribution and cost optimization notes - Azure CLI quick commands Co-Authored-By: Warp --- docs/devops/AZURE_RESOURCE_INVENTORY.md | 342 ++++++++++++++++++++++++ 1 file changed, 342 insertions(+) create mode 100644 docs/devops/AZURE_RESOURCE_INVENTORY.md diff --git a/docs/devops/AZURE_RESOURCE_INVENTORY.md b/docs/devops/AZURE_RESOURCE_INVENTORY.md new file mode 100644 index 00000000..2c1f26dd --- /dev/null +++ b/docs/devops/AZURE_RESOURCE_INVENTORY.md @@ -0,0 +1,342 @@ +# Azure Resource Inventory + +> **Last Updated:** 2026-02-15 +> **Purpose:** Complete inventory of Azure resources for ByteLyst AI products + +--- + +## 📋 Subscription Details + +| Property | Value | +|----------|-------| +| **Subscription Name** | Azure subscription 1 | +| **Subscription ID** | `0e0ceaea-2677-4097-9401-1102707db826` | +| **Tenant** | eScube | +| **Tenant Domain** | saravanakumardblive.onmicrosoft.com | +| **Tenant ID** | `ab33246e-c9c9-4cb9-9a87-3616bb4920f0` | +| **Account** | saravanakumardb@live.com | +| **Environment** | AzureCloud | +| **State** | Enabled | + +--- + +## 🗂️ Resource Groups + +| Resource Group | Location | Status | Managed By | Type | +|---------------|----------|---------|------------|------| +| **rg-mywisprai** | East US | Succeeded | - | Primary resource group | +| **ai_bytelyst-appinsights_533a81a0-d1e6-4b01-935a-67dd49a218da_managed** | East US | Succeeded | Application Insights | Auto-managed | + +--- + +## 📊 Complete Resource Tree + +### Subscription: Azure subscription 1 (`0e0ceaea-2677-4097-9401-1102707db826`) + +#### Resource Group: `rg-mywisprai` (East US) + +##### 🗄️ **Cosmos DB** - Database Account +| Property | Value | +|----------|-------| +| **Name** | cosmos-mywisprai | +| **Type** | Microsoft.DocumentDb/databaseAccounts | +| **Location** | West US 2 | +| **Kind** | GlobalDocumentDB (SQL API) | +| **Status** | Succeeded | +| **Created** | 2026-02-09 | +| **Workload Type** | Development/Testing | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.DocumentDb/databaseAccounts/cosmos-mywisprai` | + +**📦 Databases & Containers:** + +| Database | Containers | Purpose | +|----------|-----------|---------| +| **mindlyst** | • streaks
• users
• brain_insights
• brain_templates
• daily_briefs
• memory_items
• notification_log
• brains
• actions
• entities
• share_cards
• reflections | MindLyst product data | +| **lysnrai** | • subscriptions
• notification_prefs
• licenses
• tracker_votes
• feature_flags
• payments
• tracker_items
• audit_log
• invitation_codes
• devices
• usage_daily
• tracker_comments
• referrals
• plans
• users | LysnrAI product + platform services | +| **mywisprai** | • licenses
• api_tokens
• transcripts
• audit_log
• subscriptions
• usage_daily
• users
• settings
• payments
• devices | MyWisprAI product data | + +**🔑 Key Environment Variables:** +```bash +COSMOS_ENDPOINT=https://cosmos-mywisprai.documents.azure.com:443/ +COSMOS_DATABASE=lysnrai # or mindlyst/mywisprai depending on product +``` + +--- + +##### 💾 **Storage Account** - Blob Storage +| Property | Value | +|----------|-------| +| **Name** | bytelystblobs | +| **Type** | Microsoft.Storage/storageAccounts | +| **Location** | West US 2 (Primary) | +| **Secondary Location** | West Central US | +| **Kind** | StorageV2 | +| **SKU** | Standard_RAGRS (Geo-redundant) | +| **Access Tier** | Cool | +| **Status** | Succeeded | +| **Created** | 2026-02-12 | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.Storage/storageAccounts/bytelystblobs` | + +**🔑 Key Environment Variables:** +```bash +AZURE_BLOB_ACCOUNT_NAME=bytelystblobs +AZURE_BLOB_CONNECTION_STRING= +``` + +--- + +##### 🔐 **Key Vault** +| Property | Value | +|----------|-------| +| **Name** | kv-mywisprai | +| **Type** | Microsoft.KeyVault/vaults | +| **Location** | East US | +| **Status** | Succeeded | +| **Created** | 2026-02-07 | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.KeyVault/vaults/kv-mywisprai` | + +**🔑 Key Environment Variables:** +```bash +AZURE_KEY_VAULT_URI=https://kv-mywisprai.vault.azure.net/ +``` + +**📝 Usage in Code:** +- See: `packages/config/src/keyvault.ts` +- See: `scripts/seed-keyvault.sh` + +--- + +##### 🧠 **Azure OpenAI Service** +| Property | Value | +|----------|-------| +| **Name** | mywisprai-openai-sweden | +| **Type** | Microsoft.CognitiveServices/accounts | +| **Kind** | OpenAI | +| **Location** | Sweden Central | +| **SKU** | S0 (Standard) | +| **Status** | Succeeded | +| **Created** | 2026-02-07 | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.CognitiveServices/accounts/mywisprai-openai-sweden` | + +**🚀 Model Deployments:** + +| Deployment Name | Model | Version | Capacity | +|----------------|-------|---------|----------| +| gpt-4o-mini | gpt-4o-mini | 2024-07-18 | 1 TPM | + +**🔑 Key Environment Variables:** +```bash +AZURE_OPENAI_ENDPOINT=https://mywisprai-openai-sweden.openai.azure.com/ +AZURE_OPENAI_API_KEY= +AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o-mini +``` + +--- + +##### 🎤 **Speech Services** +| Property | Value | +|----------|-------| +| **Name** | mywisprai-speech | +| **Type** | Microsoft.CognitiveServices/accounts | +| **Kind** | SpeechServices | +| **Location** | East US | +| **SKU** | F0 (Free Tier) | +| **Status** | Succeeded | +| **Created** | 2026-02-07 | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.CognitiveServices/accounts/mywisprai-speech` | + +**🔑 Key Environment Variables:** +```bash +AZURE_SPEECH_KEY= +AZURE_SPEECH_REGION=eastus +``` + +--- + +##### 🔔 **Notification Hubs** - Push Notification Service +| Property | Value | +|----------|-------| +| **Namespace** | lysnnai | +| **Type** | Microsoft.NotificationHubs/namespaces | +| **Location** | East US | +| **SKU** | Free | +| **Status** | Succeeded | +| **Created** | 2026-02-12 | +| **Namespace ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.NotificationHubs/namespaces/lysnnai` | + +**📱 Notification Hubs:** + +| Hub Name | Purpose | Created | +|----------|---------|---------| +| **notificationhub** | General notifications | 2026-02-12 | +| **mindlyst-hub** | MindLyst product notifications | 2026-02-13 | + +**🔑 Key Environment Variables:** +```bash +AZURE_NH_CONNECTION_STRING= +AZURE_NH_HUB_NAME=mindlyst-hub # or notificationhub +``` + +--- + +##### 📊 **Application Insights** - Monitoring & Telemetry +| Property | Value | +|----------|-------| +| **Name** | bytelyst-appinsights | +| **Type** | Microsoft.Insights/components | +| **Kind** | web | +| **Location** | East US | +| **Status** | Succeeded | +| **Created** | 2026-02-13 | +| **Resource ID** | `/subscriptions/0e0ceaea-2677-4097-9401-1102707db826/resourceGroups/rg-mywisprai/providers/Microsoft.Insights/components/bytelyst-appinsights` | + +**🔔 Action Groups:** +- **Application Insights Smart Detection** (Global) + +**🔑 Key Environment Variables:** +```bash +APPLICATIONINSIGHTS_CONNECTION_STRING= +APPINSIGHTS_INSTRUMENTATIONKEY= +``` + +--- + +## 📦 Resource Summary by Type + +| Resource Type | Count | Names | +|--------------|-------|-------| +| **Cosmos DB Accounts** | 1 | cosmos-mywisprai | +| **Cosmos DB Databases** | 3 | mindlyst, lysnrai, mywisprai | +| **Storage Accounts** | 1 | bytelystblobs | +| **Key Vaults** | 1 | kv-mywisprai | +| **Cognitive Services (OpenAI)** | 1 | mywisprai-openai-sweden | +| **Cognitive Services (Speech)** | 1 | mywisprai-speech | +| **Notification Hub Namespaces** | 1 | lysnnai | +| **Notification Hubs** | 2 | notificationhub, mindlyst-hub | +| **Application Insights** | 1 | bytelyst-appinsights | +| **Action Groups** | 1 | Application Insights Smart Detection | + +**Total Resources:** 13 (excluding auto-managed resource groups) + +--- + +## 🔑 Critical Environment Variables Summary + +### Required Across All Services: +```bash +# Cosmos DB +COSMOS_ENDPOINT=https://cosmos-mywisprai.documents.azure.com:443/ +COSMOS_KEY= +COSMOS_DATABASE=lysnrai # or mindlyst/mywisprai + +# Key Vault +AZURE_KEY_VAULT_URI=https://kv-mywisprai.vault.azure.net/ + +# Blob Storage +AZURE_BLOB_ACCOUNT_NAME=bytelystblobs +AZURE_BLOB_ACCOUNT_KEY= +AZURE_BLOB_CONNECTION_STRING= + +# OpenAI +AZURE_OPENAI_ENDPOINT=https://mywisprai-openai-sweden.openai.azure.com/ +AZURE_OPENAI_API_KEY= +AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4o-mini + +# Speech Services (LysnrAI) +AZURE_SPEECH_KEY= +AZURE_SPEECH_REGION=eastus + +# Notification Hubs (Mobile apps) +AZURE_NH_CONNECTION_STRING= +AZURE_NH_HUB_NAME=mindlyst-hub + +# Application Insights (Monitoring) +APPLICATIONINSIGHTS_CONNECTION_STRING= +APPINSIGHTS_INSTRUMENTATIONKEY= +``` + +--- + +## 📍 Geographic Distribution + +| Region | Resources | +|--------|-----------| +| **East US** | Speech Services, Key Vault, Notification Hubs, Application Insights | +| **West US 2** | Cosmos DB (primary), Blob Storage (primary) | +| **Sweden Central** | Azure OpenAI | +| **West Central US** | Blob Storage (secondary/geo-redundant) | +| **Global** | Action Groups | + +--- + +## 💰 Cost Optimization Notes + +### Free Tier Resources: +- ✅ Speech Services (F0) +- ✅ Notification Hubs (Free) + +### Paid Resources: +- 💵 Cosmos DB (Development/Testing workload) +- 💵 Blob Storage (Standard_RAGRS, Cool tier) +- 💵 Azure OpenAI (S0 - pay per use) +- 💵 Application Insights (pay per GB ingested) + +### Recommendations: +1. Monitor Cosmos DB RU consumption (Development/Testing mode has limits) +2. Blob Storage is on Cool tier (good for infrequent access) +3. Geo-redundant storage (RAGRS) adds cost but provides disaster recovery +4. Consider moving to managed identities instead of connection strings + +--- + +## 🔗 Related Documentation + +| Document | Location | +|----------|----------| +| Azure Portal Setup | `docs/devops/AZURE_PORTAL_SETUP.md` | +| Key Vault & Secrets Rotation | `docs/devops/AZURE_KEY_VAULT_AND_SECRETS_ROTATION.md` | +| Cosmos DB Usage | `packages/cosmos/README.md` | +| Blob Storage Usage | `packages/blob/README.md` | +| Environment Variables Template | `.env.example` | +| Key Vault Integration | `packages/config/src/keyvault.ts` | + +--- + +## 🚀 Quick Commands + +### List all resources: +```bash +az resource list --output table +``` + +### Get Cosmos DB connection string: +```bash +az cosmosdb keys list --name cosmos-mywisprai --resource-group rg-mywisprai --type connection-strings +``` + +### Get Storage Account keys: +```bash +az storage account keys list --account-name bytelystblobs --resource-group rg-mywisprai +``` + +### Get Key Vault secrets: +```bash +az keyvault secret list --vault-name kv-mywisprai --output table +``` + +### Get OpenAI endpoint and keys: +```bash +az cognitiveservices account show --name mywisprai-openai-sweden --resource-group rg-mywisprai +az cognitiveservices account keys list --name mywisprai-openai-sweden --resource-group rg-mywisprai +``` + +### List OpenAI deployments: +```bash +az cognitiveservices account deployment list --name mywisprai-openai-sweden --resource-group rg-mywisprai --output table +``` + +--- + +**Generated by:** Azure CLI automation +**Maintained by:** ByteLyst DevOps Team +**Update Frequency:** After any infrastructure changes