You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Build and Push Docker Image: {Agent should check if Dockerfile exists, if not add the step: "generate a Dockerfile for the application deployment", if does, list the Dockerfile path}.
37
-
2. Prepare Kubernetes Manifests: {Agent should check if Kubernetes YAML files exists, if not add the step: "generate for the application deployment", if does, list the yaml files path}.
38
-
3. Deploy to AKS: Use `kubectl apply` to deploy manifests to the AKS cluster
39
-
3. Validation:
40
-
1. Verify pods are running and services are exposed
41
-
""";
79
+
/// <summary>
80
+
/// Generates execution steps based on the deployment parameters.
varsummary="Summarize the deployment result and save to '.azure/summary.copilotmd'. It should list all changes deployment files and brief description of each file. Then have a diagram showing the provisioned azure resource.";
varcontainerAppOptions=isContainerApp?" 1. Build and Push Docker Image: Agent should check if Dockerfile exists, if not add the step: 'generate a Dockerfile for the application deployment', if it does, list the Dockerfile path":"";
97
-
varorderList=isContainerApp?"2.":"1.";
98
-
steps.Add($$"""
158
+
// For other app services, generate basic deployment steps
159
+
varbasicSteps=$"""
99
160
2. Build and Deploy the Application:
100
-
{{containerAppOptions}}
101
-
{{orderList}} Deploy to {{azureComputeHost}}: Use Azure CLI command to deploy the application
161
+
1. Deploy to {parameters.AzureComputeHost}: Use Azure CLI command to deploy the application
102
162
3. Validation:
103
163
1. Verify command output to ensure the application is deployed successfully
104
-
""");
164
+
""";
165
+
steps.Add(basicSteps);
105
166
}
106
-
steps.Add($$"""
107
-
4: Summary:
108
-
1 {{summary}}
109
-
""");
110
167
}
111
-
vartitle=string.IsNullOrWhiteSpace(projectName)
112
-
?"Azure Deployment Plan"
113
-
:$"Azure Deployment Plan for {projectName} Project";
114
-
115
-
return$$"""
116
-
{Agent should fill in and polish the markdown template below to generate a deployment plan for the project. Then save it to '.azure/plan.copilotmd' file. Don't add cost estimation! Don't add extra validation steps unless it is required! Don't change the tool name!}
117
-
118
-
#Title: {{title}}
119
-
## **Goal**
120
-
Based on the project to provide a plan to deploy the project to Azure using AZD. It will generate Bicep files and Azure YAML configuration.
121
-
122
-
123
-
## **Project Information**
124
-
{
125
-
briefly summarize the project structure, services, and configurations, example:
126
-
AppName: web
127
-
- **Technology Stack**: ASP.NET Core 7.0 Razor Pages application
128
-
- **Application Type**: Task Manager web application with client-side JavaScript
129
-
- **Containerization**: Ready for deployment with existing Dockerfile
130
-
- **Dependencies**: No external dependencies detected (database, APIs, etc.)
Recommended App service hosting the project //agent should fulfill this for each app instance
147
-
- Application {{projectName}}
148
-
- Hosting Service Type: {{azureComputeHost}} // it can be Azure Container Apps, Web App Service, Azure Functions, Azure Kubernetes Service. Recommend one based on the project.
149
-
- SKU // recommend a sku based on the project, show its performance. Don't estimate the cost.
150
-
- Configuration:
151
-
- language: {language} //detect from the project, it can be nodejs, python, dotnet, etc.
152
-
- dockerFilePath: {dockerFilePath}// fulfill this if service.azureComputeHost is ContainerApp
153
-
- dockerContext: {dockerContext}// fulfill this if service.azureComputeHost is ContainerApp
154
-
- Environment Variables: [] // the env variables that are used in the project/required by service
155
-
- Dependencies Resource
156
-
- Dependency Name
157
-
- SKU // recommend a sku, show its performance.
158
-
- Service Type // it can be Azure SQL, Azure Cosmos DB, Azure Storage, etc.
159
-
- Connection Type // it can be connection string, managed identity, etc.
160
-
- Environment Variables: [] // the env variables that are used in the project/required by dependency
161
-
162
-
Recommended Supporting Services
163
-
- Application Insights
164
-
- Log Analytics Workspace: set all app service to connect to this
165
-
- Key Vault(Optional): If there are dependencies such as postgresql/sql/mysql, create a Key Vault to store connection string. If not, the resource should not show.
166
-
If there is a Container App, the following resources are required:
167
-
- Container Registry
168
-
If there is a WebApp(App Service):
169
-
- App Service Site Extension (Microsoft.Web/sites/siteextensions): Required for App Service deployments.
170
-
171
-
Recommended Security Configurations
172
-
If there is a Container App
173
-
- User managed identity: Must be assigned to the container app.
174
-
- AcrPull role assignment: User managed identity must have **AcrPull** role ("7f951dda-4ed3-4680-a7ca-43fe172d538d") assigned to the container registry.
175
-
176
-
## **Execution Step**
177
-
> **Below are the steps for Copilot to follow; ask Copilot to update or execute this plan.**
0 commit comments