cad-deploy-app-service

Deploy an ASP.NET Core TODO API to Azure App Service with Key Vault, managed identity, and deployment slots.

2|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill cad-deploy-app-service-jay-steenbergen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cad-deploy-app-service
Source: https://github.com/jay-steenbergen/MSSAMentorAgent/tree/main/.github/skills/tracks/cloud-app-dev/cad-deploy-app-service
Command: npx skills add https://github.com/jay-steenbergen/MSSAMentorAgent --skill cad-deploy-app-service-jay-steenbergen

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Learners who have built a working ASP.NET Core API locally often don't know how to ship it to the cloud securely. This Skill provides a phased, hands-on build recipe that takes a JWT-secured TODO API with blob attachments and deploys it to Azure App Service, moving secrets out of source control and enabling zero-downtime releases. ## Core Features & Use Cases - Azure resource provisioning via CLI: Guides the learner through creating a resource group, App Service plan, Web App, Storage account, and Key Vault using az commands. - Secret management with Key Vault and managed identity: Moves the JWT signing key into Key Vault via App Settings references and replaces the storage connection string with DefaultAzureCredential-based authentication. - Zero-downtime deployment with slots: Creates a staging slot, deploys a versioned change, smoke-tests it, and swaps it into production with instant rollback. - Use Case: An MSSA learner who finished the blob-uploader project uses this Skill to publish their API to a live *.azurewebsites.net URL with HTTPS, no secrets in git, and a staging environment they can swap safely. ## Quick Start Ask the mentor to start the cad-deploy-app-service project to deploy my TODO API to Azure App Service step by step.

Frequently Asked Questions about cad-deploy-app-service

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy an ASP.NET Core API to Azure App Service?

Run az webapp up from the folder containing your .csproj after creating an App Service plan and Web App with the Azure CLI. The command zips the project, builds it server-side with dotnet publish, and restarts the app on its azurewebsites.net URL.

How do I store secrets for App Service in Azure Key Vault?

Store the secret with az keyvault secret set, then reference it in App Settings using the syntax @Microsoft.KeyVault(VaultName=...;SecretName=...). App Service fetches the value at runtime through the app's managed identity, so the secret never appears in code or config files.

What is the difference between an App Service plan and an App Service?

The App Service plan is the underlying VM defining CPU, RAM, region, and pricing tier, while the App Service (Web App) is the application running on that plan. One plan can host multiple apps, and pricing is attached to the plan.

Why does my App Service app get 403 errors from Key Vault or Storage?

The managed identity likely lacks the correct RBAC role, or the role assignment has not propagated yet. Grant Key Vault Secrets User or Storage Blob Data Contributor on the resource scope, then wait one to two minutes and retry.

Does the F1 free tier support deployment slots?

No, deployment slots require at least the B1 tier. Upgrade the plan with az appservice plan update --sku B1 before creating a staging slot, noting that B1 costs roughly thirteen dollars per month.

Why does SAS generation fail after switching to managed identity?

Blob clients authenticated with DefaultAzureCredential cannot generate SAS tokens the simple way; CanGenerateSasUri returns false. The production options are using a user delegation key or streaming the file through the API with File(stream, contentType), which this project adopts.