Production-oriented CAS reference application demonstrating a complete workload integrated with Microsoft Foundry Next Gen Agents on a Container Apps foundation. Runs locally without Azure, deploys unmodified through the cas-platform interface.
See .planning/PROJECT.md for goals and requirements. This project is in early initialization.
Core mandate: Demonstrate canonical CAS lifecycle events, managed identity, observability, probes, and a safe local workflow — without embedding any Azure credentials.
| Layer | Technology |
|---|---|
| Language | Python 3.12+ |
| API framework | FastAPI + Pydantic |
| Azure identity | ManagedIdentityCredential (system-assigned; no embedded secrets) |
| Azure AI | Foundry Next Gen Agents (WorkflowAgentService) — never Classic Assistants |
| Observability | OpenTelemetry + Azure Application Insights |
| Container | Linux AMD64, port 8080 |
| Tests | pytest (in tests/) |
| Local dev | scripts/run-local.ps1 |
| File | Purpose |
|---|---|
src/cas_reference_product/identity.py |
Identity/credential resolution (local vs. managed) |
.foundry/agent-metadata.yaml |
Foundry Next Gen Agent configuration |
.foundry/datasets/ |
Seed data for local testing |
.env.example |
All required environment variable docs |
scripts/run-local.ps1 |
Local run without Azure |
.\scripts\run-local.ps1Or manually:
cd portfolio/cas-reference-product
python -m venv .venv && .\.venv\Scripts\Activate.ps1
pip install -r requirements.txt # if present, else pip install -e .
python -m pytest tests/- No embedded credentials — use
DefaultAzureCredential/ManagedIdentityCredentialonly - No Azure resource deployment — local adapter runs without provisioning
- Foundry Next Gen only — reject any Classic Assistants (
asst_*) usage - Public repo — no sensitive data in examples or defaults
Use /gsd:plan-phase before any multi-file change. Use /gsd:quick for single-file fixes.