Deploy a Function App
TL;DR — Tell
@git-apeto deploy a Function App. It generates an ARM template with managed identity, storage, App Insights, and deploys with full security analysis.
Architecture​
Conversation Walkthrough​
Start the Deployment​
@git-ape deploy a Python Function App with Storage and App Insights
for the order-api project in dev, region eastus
What Git-Ape Does​
-
Requirements Gatherer validates your inputs:
- Project name:
order-api→ valid characters, reasonable length - Environment:
dev→ recognized tag - Region:
eastus→ available for all resource types
- Project name:
-
Naming Research generates CAF-compliant names:
- Function App:
func-orderapi-dev-eastus - Storage:
storderapidev+uniqueString() - App Insights:
appi-orderapi-dev-eastus
- Function App:
-
Template Generator creates the ARM template with:
- Managed identity (
AzureWebJobsStorage__accountName) - HTTPS-only, TLS 1.2
- FTP disabled
- Shared key access disabled on storage
- RBAC: Storage Blob Data Contributor for the Function App's managed identity
- Managed identity (
-
Security Analyzer runs the blocking gate:
🔒 Security Gate: PASSED ✅├── ✅ Managed identity enabled├── ✅ HTTPS-only enforced├── ✅ TLS 1.2 minimum├── ✅ FTP disabled├── ✅ Shared key access disabled└── ✅ RBAC role assignments included -
Cost Estimator shows the breakdown:
Resource SKU Estimated Cost Function App Consumption (Y1) $0.00 (free tier) Storage Account Standard LRS $2.40/mo App Insights Pay-as-you-go $2.30/mo Log Analytics Pay-as-you-go $2.76/mo Total $7.46/mo -
You approve → deployment executes → integration tests verify health
Key Security Features​
- No connection strings — uses
AzureWebJobsStorage__accountName(identity-based) allowSharedKeyAccess: false— storage only accepts managed identity authftpsState: Disabled— no FTP access to the Function ApphttpsOnly: true— all traffic encryptedminTlsVersion: '1.2'— no legacy TLS