Scope
This runbook covers:- Connecting to the Olis Azure environment safely.
- Verifying the deployed Container Apps.
- Setting up and validating centralized logging.
- Running operational queries and alerts.
Prerequisites
- Azure CLI (
az) installed and authenticated. - Access to the target subscription.
- RBAC roles (minimum):
Readeron resource group for viewing.Container App Contributorfor app/env changes.Key Vault Secrets Userfor reading secret metadata/values.Monitoring Reader(andMonitoring Contributorif creating alerts).
Connect to Azure
Validate Deployed Apps
Current dev app names used by this repo:- Auth:
olis-auth-aca-wp - RAG:
olis-rag-dev-wp - Ingestion worker:
olis-ingest-worker-dev-wp
Logging Architecture
For Container Apps, baseline operational logging should be:- App writes structured logs to stdout/stderr.
- Container Apps environment ships logs to Log Analytics.
- Alert rules are created on KQL queries.
infra/main.bicep(workspace creation)infra/modules/containerapps_env.bicep(managed envappLogsConfiguration)
Verify Log Analytics Is Wired
Get managed environment details:destination = "log-analytics"logAnalyticsConfiguration.customerIdpopulated
infra/main.bicep and infra/modules/containerapps_env.bicep.
Live Log Access
Tail application logs:KQL Queries (Log Analytics)
Find recent auth errors:Create Basic Alert Rules
Create an alert for repeated auth errors (example):Optional: App Insights for Request Traces
If you want richer request traces/metrics in addition to container logs:- Create a workspace-based Application Insights resource.
- Store the connection string in Key Vault.
- Expose it to the auth/rag containers as env var
APPLICATIONINSIGHTS_CONNECTION_STRING. - Add SDK instrumentation in services if needed.
Key Vault Checks (SMTP + Auth)
Example checks for current auth prefix:Smoke Checklist After Deployment
- Auth app revision updated and healthy.
NOTIFIER_PROVIDER=smtpandAUTH_EMAIL_ENABLED=truepresent in env.- Invite call returns notification
{ sent: true }. - Seat request call returns notification
{ sent: true }. - Email code verification returns access token.
- Magic link flow returns grant and exchange returns access token.
- Logs appear in Container Apps logs and Log Analytics queries.
Troubleshooting
403 ORG_NOT_FOUNDon email start:- Domain identity is not mapped in
org_identitiesfor that org.
- Domain identity is not mapped in
500on invite/seat APIs:- Check auth app logs first, then confirm org/membership rows and DB connectivity.
Handshake 429fromaz containerapp exec:- Retry after short delay; exec endpoint is rate-limited.
- SMTP notifications not sending:
- Validate Key Vault secret refs, sender domain, and SMTP credentials.