# 🚀 Step 6: Deployment Summary - Malta Catering

![Step](https://img.shields.io/badge/Step-6-blue?style=for-the-badge)
![Status](https://img.shields.io/badge/Status-Complete-brightgreen?style=for-the-badge)
![Agent](https://img.shields.io/badge/Agent-Deploy-purple?style=for-the-badge)

<details open>
<summary><strong>📑 Deployment Contents</strong></summary>

- [✅ Preflight Validation](#-preflight-validation)
- [📋 Deployment Details](#-deployment-details)
- [🏗️ Deployed Resources](#️-deployed-resources)
- [📤 Outputs (Expected)](#-outputs-expected)
- [🚀 To Actually Deploy](#-to-actually-deploy)
- [📝 Post-Deployment Tasks](#-post-deployment-tasks)
- [References](#references)

</details>

> Generated by 07b-Bicep Deploy agent | 2026-04-14 | Revised 2026-04-15
> Status: **Complete** — revised App Service architecture deployed successfully

> **Deployment note**: The first App Service plan deployment attempt failed because `S1` Linux was not available to this subscription in `swedencentral`. The successful deployment used `P0v3` instead.

| ⬅️ Previous                                                      | 📑 Index            | Next ➡️                                                |
| ---------------------------------------------------------------- | ------------------- | ------------------------------------------------------ |
| [05-implementation-reference.md](05-implementation-reference.md) | [README](README.md) | [07-documentation-index.md](07-documentation-index.md) |

## ✅ Preflight Validation

| Property             | Value                          | Status |
| -------------------- | ------------------------------ | ------ |
| **Project Type**     | `azd` project                  | ℹ️     |
| **Deployment Scope** | `resourceGroup`                | ℹ️     |
| **Validation Level** | `azd provision --preview`      | ℹ️     |
| **Bicep Build**      | Passed before deployment       | ✅     |
| **Bicep Lint**       | Passed before deployment       | ✅     |
| **What-If Status**   | Preview succeeded before apply | ✅     |

### Change Summary

| Change Type  | Count | Resources Affected                                                                  |
| ------------ | ----- | ----------------------------------------------------------------------------------- |
| Create (+)   | 11+   | VNet, App Service Plan, Web App, staging slot, private endpoints, DNS zones, budget |
| Modify (~)   | 3+    | ACR, Key Vault, Storage network posture                                             |
| NoChange (=) | 2     | Log Analytics, Application Insights                                                 |

### Validation Issues

- ⚠️ The first App Service deployment attempt failed because `S1` Linux was unavailable for this subscription in `swedencentral`; the final deployment succeeded after switching to `P0v3`.
- ⚠️ Runtime verification after deployment returned HTTP `503` on both production and staging endpoints and remains an open post-deployment task.
- ❌ No blocking infrastructure deployment errors remained after the final `P0v3` deployment completed.

## 📋 Deployment Details

| Field               | Value                                       |
| ------------------- | ------------------------------------------- |
| **Deployment Name** | `azd provision --no-prompt`                 |
| **Resource Group**  | `rg-malta-catering-dev`                     |
| **Location**        | `swedencentral`                             |
| **Duration**        | `5 minutes 1 second` (successful final run) |
| **Status**          | `Succeeded`                                 |

## 🏗️ Deployed Resources

| Resource                   | Actual Name                      | Type                                       | Status |
| -------------------------- | -------------------------------- | ------------------------------------------ | ------ |
| 💻 Log Analytics Workspace | `log-malta-catering-dev`         | `Microsoft.OperationalInsights/workspaces` | ✅     |
| 💻 Application Insights    | `appi-malta-catering-dev`        | `Microsoft.Insights/components`            | ✅     |
| 🔐 Key Vault               | `kv-malta-dev-b6lg3l`            | `Microsoft.KeyVault/vaults`                | ✅     |
| 💾 Storage Account         | `stmaltadevb6lg3l`               | `Microsoft.Storage/storageAccounts`        | ✅     |
| 📦 Container Registry      | `acrmaltadevb6lg3l`              | `Microsoft.ContainerRegistry/registries`   | ✅     |
| 🌐 Virtual Network         | `vnet-malta-catering-dev`        | `Microsoft.Network/virtualNetworks`        | ✅     |
| 🖥️ App Service Plan        | `asp-malta-catering-dev`         | `Microsoft.Web/serverfarms`                | ✅     |
| 🌐 Web App                 | `app-malta-catering-dev`         | `Microsoft.Web/sites`                      | ✅     |
| 🌐 Staging Slot            | `app-malta-catering-dev/staging` | `Microsoft.Web/sites/slots`                | ✅     |
| 🔒 Private Endpoints       | `pep-*`                          | `Microsoft.Network/privateEndpoints`       | ✅     |
| 🔒 Private DNS Zones       | `privatelink.*`                  | `Microsoft.Network/privateDnsZones`        | ✅     |
| 💰 Consumption Budget      | `budget-malta-catering-dev`      | `Microsoft.Consumption/budgets`            | ✅     |

## 📤 Outputs (Expected)

<details>
<summary><strong>Deployment Outputs JSON</strong></summary>

```json
{
  "status": "succeeded",
  "webAppName": "app-malta-catering-dev",
  "webAppUrl": "https://app-malta-catering-dev.azurewebsites.net",
  "stagingUrl": "https://app-malta-catering-dev-staging.azurewebsites.net",
  "appServicePlanName": "asp-malta-catering-dev",
  "appServicePlanSku": "P0v3",
  "resourceGroup": "rg-malta-catering-dev",
  "location": "swedencentral"
}
```

</details>

## 🚀 To Actually Deploy

<details>
<summary><strong>🟢 PowerShell (deploy.ps1)</strong></summary>

```powershell
cd infra/bicep/malta-catering

./deploy.ps1 -WhatIf
./deploy.ps1
```

</details>

<details>
<summary><strong>🚀 Azure CLI</strong></summary>

```bash
cd infra/bicep/malta-catering

az deployment group create \
  --resource-group "rg-malta-catering-dev" \
  --template-file main.bicep \
  --parameters main.bicepparam
```

The final successful deployment used the updated `main.bicepparam` value `appServicePlanSku = 'P0V3'`.

</details>

## 📝 Post-Deployment Tasks

| Task                                                                  | Owner             | Status |
| --------------------------------------------------------------------- | ----------------- | ------ |
| Verify production endpoint health beyond HTTP `503`                   | Platform owner    | 🔄     |
| Grant staging slot the same dependency RBAC as production             | Platform owner    | 🔄     |
| Enable App Service Authentication if social/staff sign-in is required | Application owner | ⬜     |
| Add application availability alerts                                   | Platform owner    | ⬜     |
| Implement Table Storage export or backup path                         | Platform owner    | ⬜     |

---

## References

| Topic                        | Link                                                                                                               |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Azure Deployment             | [ARM Deployments](https://learn.microsoft.com/azure/azure-resource-manager/templates/deployment-tutorial-pipeline) |
| Deployment Troubleshooting   | [Common Errors](https://learn.microsoft.com/azure/azure-resource-manager/troubleshooting/common-deployment-errors) |
| What-If Operations           | [Preview Changes](https://learn.microsoft.com/azure/azure-resource-manager/bicep/deploy-what-if)                   |
| Azure App Service            | [App Service Overview](https://learn.microsoft.com/azure/app-service/overview)                                     |
| App Service VNet Integration | [VNet Integration](https://learn.microsoft.com/azure/app-service/overview-vnet-integration)                        |
| Private Endpoints            | [Private Endpoint Overview](https://learn.microsoft.com/azure/private-link/private-endpoint-overview)              |

---

_Deployment summary for malta-catering._

---

<div align="center">

| ⬅️ [05-implementation-reference.md](05-implementation-reference.md) | 🏠 [Project Index](README.md) | ➡️ [07-documentation-index.md](07-documentation-index.md) |
| ------------------------------------------------------------------- | ----------------------------- | --------------------------------------------------------- |

</div>
