azforgeagent-test 1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- azforgeagent_test-1.0/LICENSE +21 -0
- azforgeagent_test-1.0/MANIFEST.in +10 -0
- azforgeagent_test-1.0/PKG-INFO +432 -0
- azforgeagent_test-1.0/README.md +413 -0
- azforgeagent_test-1.0/agent/AGENT_INSTRUCTIONS.md +473 -0
- azforgeagent_test-1.0/agent/__init__.py +5 -0
- azforgeagent_test-1.0/agent/ado.py +489 -0
- azforgeagent_test-1.0/agent/azure.py +2687 -0
- azforgeagent_test-1.0/agent/fabric.py +502 -0
- azforgeagent_test-1.0/agent/general.py +56 -0
- azforgeagent_test-1.0/agent/scripts/activate-pim.ps1 +298 -0
- azforgeagent_test-1.0/agent/scripts/add-deployment-pipeline-role.ps1 +109 -0
- azforgeagent_test-1.0/agent/scripts/assign-ado-role.ps1 +454 -0
- azforgeagent_test-1.0/agent/scripts/assign-azure-rbac.ps1 +166 -0
- azforgeagent_test-1.0/agent/scripts/assign-deployment-pipeline-workspace.ps1 +96 -0
- azforgeagent_test-1.0/agent/scripts/assign-eligible-pim.ps1 +111 -0
- azforgeagent_test-1.0/agent/scripts/assign-fabric-role.ps1 +171 -0
- azforgeagent_test-1.0/agent/scripts/attach-appinsights.ps1 +111 -0
- azforgeagent_test-1.0/agent/scripts/attach-dce.ps1 +129 -0
- azforgeagent_test-1.0/agent/scripts/attach-fabric-git.ps1 +211 -0
- azforgeagent_test-1.0/agent/scripts/attach-log-analytics.ps1 +81 -0
- azforgeagent_test-1.0/agent/scripts/attach-nsp.ps1 +69 -0
- azforgeagent_test-1.0/agent/scripts/azure-login.ps1 +145 -0
- azforgeagent_test-1.0/agent/scripts/check-resource.ps1 +98 -0
- azforgeagent_test-1.0/agent/scripts/create-deployment-pipeline.ps1 +107 -0
- azforgeagent_test-1.0/agent/scripts/create-devops-branch.ps1 +94 -0
- azforgeagent_test-1.0/agent/scripts/create-devops-pipeline.ps1 +90 -0
- azforgeagent_test-1.0/agent/scripts/create-devops-project.ps1 +92 -0
- azforgeagent_test-1.0/agent/scripts/create-devops-repo.ps1 +66 -0
- azforgeagent_test-1.0/agent/scripts/create-fabric-managed-pe.ps1 +162 -0
- azforgeagent_test-1.0/agent/scripts/create-fabric-workspace.ps1 +335 -0
- azforgeagent_test-1.0/agent/scripts/create-funcapp-containers.ps1 +93 -0
- azforgeagent_test-1.0/agent/scripts/create-resourcegroup.ps1 +33 -0
- azforgeagent_test-1.0/agent/scripts/deploy-bicep.ps1 +107 -0
- azforgeagent_test-1.0/agent/scripts/deploy-pipeline-stage.ps1 +160 -0
- azforgeagent_test-1.0/agent/scripts/deploy-pipeline-yaml.ps1 +181 -0
- azforgeagent_test-1.0/agent/scripts/get-activity-log.ps1 +118 -0
- azforgeagent_test-1.0/agent/scripts/get-current-user.ps1 +28 -0
- azforgeagent_test-1.0/agent/scripts/get-deployment-pipeline-stages.ps1 +83 -0
- azforgeagent_test-1.0/agent/scripts/integrate-vnet.ps1 +855 -0
- azforgeagent_test-1.0/agent/scripts/list-azure-permissions.ps1 +24 -0
- azforgeagent_test-1.0/agent/scripts/list-devops-projects.ps1 +64 -0
- azforgeagent_test-1.0/agent/scripts/list-devops-repos.ps1 +70 -0
- azforgeagent_test-1.0/agent/scripts/list-fabric-managed-pe.ps1 +102 -0
- azforgeagent_test-1.0/agent/scripts/list-fabric-permissions.ps1 +123 -0
- azforgeagent_test-1.0/agent/scripts/list-pim-roles.ps1 +114 -0
- azforgeagent_test-1.0/agent/scripts/list-resources.ps1 +42 -0
- azforgeagent_test-1.0/agent/scripts/list-subscriptions.ps1 +34 -0
- azforgeagent_test-1.0/agent/scripts/pim-utils.ps1 +434 -0
- azforgeagent_test-1.0/agent/scripts/set-subscription.ps1 +40 -0
- azforgeagent_test-1.0/agent/scripts/update-tags.ps1 +119 -0
- azforgeagent_test-1.0/agent/server.py +1500 -0
- azforgeagent_test-1.0/agent/templates/CodeQL_1ES_Pipeline.yml +62 -0
- azforgeagent_test-1.0/agent/templates/CodeQL_Pipeline.yml +36 -0
- azforgeagent_test-1.0/agent/templates/ai-foundry.bicep +62 -0
- azforgeagent_test-1.0/agent/templates/ai-search.bicep +48 -0
- azforgeagent_test-1.0/agent/templates/api-management.bicep +154 -0
- azforgeagent_test-1.0/agent/templates/app-service.bicep +222 -0
- azforgeagent_test-1.0/agent/templates/application-insights.bicep +67 -0
- azforgeagent_test-1.0/agent/templates/automation-account.bicep +95 -0
- azforgeagent_test-1.0/agent/templates/azure-data-factory.bicep +36 -0
- azforgeagent_test-1.0/agent/templates/azure-firewall.bicep +161 -0
- azforgeagent_test-1.0/agent/templates/azure-key-vaults.bicep +50 -0
- azforgeagent_test-1.0/agent/templates/azure-openai.bicep +58 -0
- azforgeagent_test-1.0/agent/templates/azure-sql-database.bicep +119 -0
- azforgeagent_test-1.0/agent/templates/azure-sql-server.bicep +191 -0
- azforgeagent_test-1.0/agent/templates/azure-synapse-analytics.bicep +165 -0
- azforgeagent_test-1.0/agent/templates/container-app.bicep +161 -0
- azforgeagent_test-1.0/agent/templates/container-apps-env.bicep +120 -0
- azforgeagent_test-1.0/agent/templates/container-registry.bicep +74 -0
- azforgeagent_test-1.0/agent/templates/contentsafety.bicep +67 -0
- azforgeagent_test-1.0/agent/templates/cosmos-db.bicep +78 -0
- azforgeagent_test-1.0/agent/templates/data-collection-endpoint.bicep +64 -0
- azforgeagent_test-1.0/agent/templates/data-collection-rule.bicep +161 -0
- azforgeagent_test-1.0/agent/templates/ddos-protection-plan.bicep +35 -0
- azforgeagent_test-1.0/agent/templates/dns-resolver.bicep +100 -0
- azforgeagent_test-1.0/agent/templates/dns-zone-vnet-link.bicep +39 -0
- azforgeagent_test-1.0/agent/templates/documentintelligence.bicep +58 -0
- azforgeagent_test-1.0/agent/templates/fabric-capacity.bicep +52 -0
- azforgeagent_test-1.0/agent/templates/firewall-policy.bicep +94 -0
- azforgeagent_test-1.0/agent/templates/front-door.bicep +286 -0
- azforgeagent_test-1.0/agent/templates/function-app-appserviceplan.bicep +211 -0
- azforgeagent_test-1.0/agent/templates/function-app-flex.bicep +248 -0
- azforgeagent_test-1.0/agent/templates/languageservice.bicep +62 -0
- azforgeagent_test-1.0/agent/templates/log-analytics.bicep +58 -0
- azforgeagent_test-1.0/agent/templates/log-search-alert.bicep +120 -0
- azforgeagent_test-1.0/agent/templates/logic-app.bicep +37 -0
- azforgeagent_test-1.0/agent/templates/nat-gateway.bicep +50 -0
- azforgeagent_test-1.0/agent/templates/network-security-group.bicep +21 -0
- azforgeagent_test-1.0/agent/templates/network-security-perimeter.bicep +21 -0
- azforgeagent_test-1.0/agent/templates/private-dns-zone.bicep +40 -0
- azforgeagent_test-1.0/agent/templates/private-endpoint.bicep +248 -0
- azforgeagent_test-1.0/agent/templates/public-ip.bicep +81 -0
- azforgeagent_test-1.0/agent/templates/redis-cache.bicep +119 -0
- azforgeagent_test-1.0/agent/templates/speech-service.bicep +81 -0
- azforgeagent_test-1.0/agent/templates/storage-account.bicep +51 -0
- azforgeagent_test-1.0/agent/templates/subnet.bicep +43 -0
- azforgeagent_test-1.0/agent/templates/user-assigned-managed-identity.bicep +21 -0
- azforgeagent_test-1.0/agent/templates/virtual-network.bicep +268 -0
- azforgeagent_test-1.0/agent/templates/vpn-gateway.bicep +151 -0
- azforgeagent_test-1.0/agent/templates/waf-policy.bicep +197 -0
- azforgeagent_test-1.0/agent/utils.py +1481 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/PKG-INFO +432 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/SOURCES.txt +108 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/dependency_links.txt +1 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/entry_points.txt +2 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/requires.txt +1 -0
- azforgeagent_test-1.0/azforgeagent_test.egg-info/top_level.txt +1 -0
- azforgeagent_test-1.0/pyproject.toml +42 -0
- azforgeagent_test-1.0/setup.cfg +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Azure Platform Agent Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Manifest file to include non-Python files in the package
|
|
2
|
+
include LICENSE
|
|
3
|
+
include README.md
|
|
4
|
+
include pyproject.toml
|
|
5
|
+
recursive-include agent/scripts *.ps1
|
|
6
|
+
recursive-include agent/templates *.bicep
|
|
7
|
+
include agent/AGENT_INSTRUCTIONS.md
|
|
8
|
+
global-exclude __pycache__
|
|
9
|
+
global-exclude *.py[co]
|
|
10
|
+
global-exclude .DS_Store
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: azforgeagent-test
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: AzForge Agent for secure, compliant resource deployment
|
|
5
|
+
Author: Siddhant Jha
|
|
6
|
+
Keywords: mcp,azure,deployment,bicep,agent,ado,fabric,Environment
|
|
7
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Operating System :: OS Independent
|
|
15
|
+
Requires-Python: >=3.10
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE
|
|
18
|
+
Requires-Dist: mcp>=0.1.0
|
|
19
|
+
|
|
20
|
+
# AzForge Agent - Installation Guide
|
|
21
|
+
|
|
22
|
+
## Description
|
|
23
|
+
|
|
24
|
+
**AzForge Agent** is a Model Context Protocol (MCP) server that enables secure, compliant Azure resource deployment directly from VS Code using GitHub Copilot Chat. It provides a unified natural-language interface for managing Azure resources, Azure DevOps, and Microsoft Fabric — with built-in compliance orchestration, security best practices, and infrastructure-as-code (Bicep) templates.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Architecture
|
|
29
|
+
|
|
30
|
+

|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Tools Available
|
|
35
|
+
|
|
36
|
+
### General
|
|
37
|
+
|
|
38
|
+
| # | Tool | Description |
|
|
39
|
+
|---|------|-------------|
|
|
40
|
+
| 1 | **Show Agent Instructions** | Display complete agent documentation and usage guide. |
|
|
41
|
+
|
|
42
|
+
### Azure — Authentication & Account
|
|
43
|
+
|
|
44
|
+
| # | Tool | Description |
|
|
45
|
+
|---|------|-------------|
|
|
46
|
+
| 2 | **Azure Login** | Login to Azure with browser authentication. Handles single/multiple subscriptions automatically. |
|
|
47
|
+
| 3 | **List Subscriptions** | List all accessible Azure subscriptions with name, ID, state, and default flag. |
|
|
48
|
+
| 4 | **Set Subscription** | Set the active subscription context by ID or name. |
|
|
49
|
+
| 5 | **Get Current User** | Get current subscription, tenant, and user email. |
|
|
50
|
+
|
|
51
|
+
### Azure — Resource Management
|
|
52
|
+
|
|
53
|
+
| # | Tool | Description |
|
|
54
|
+
|---|------|-------------|
|
|
55
|
+
| 6 | **Create Resource Group** | Create Azure resource groups with project tagging. |
|
|
56
|
+
| 7 | **Create Resource** | Deploy Azure resources via Bicep templates with automatic compliance. Supported resources: |
|
|
57
|
+
| | | — Storage Account (ADLS Gen2) |
|
|
58
|
+
| | | — Key Vault |
|
|
59
|
+
| | | — Azure OpenAI |
|
|
60
|
+
| | | — AI Search |
|
|
61
|
+
| | | — AI Content Safety |
|
|
62
|
+
| | | — AI Document Intelligence |
|
|
63
|
+
| | | — AI Language Service |
|
|
64
|
+
| | | — AI Foundry (AI Hub) |
|
|
65
|
+
| | | — Cosmos DB |
|
|
66
|
+
| | | — Log Analytics Workspace |
|
|
67
|
+
| | | — User Assigned Managed Identity (UAMI) |
|
|
68
|
+
| | | — Network Security Perimeter (NSP) |
|
|
69
|
+
| | | — Fabric Capacity |
|
|
70
|
+
| | | — Container Registry (ACR) |
|
|
71
|
+
| | | — Function App (Flex Consumption) |
|
|
72
|
+
| | | — Function App (App Service Plan) |
|
|
73
|
+
| | | — App Service (Web App) |
|
|
74
|
+
| | | — Public IP |
|
|
75
|
+
| | | — Azure Data Factory |
|
|
76
|
+
| | | — Azure Synapse Analytics |
|
|
77
|
+
| | | — Network Security Group (NSG) |
|
|
78
|
+
| | | — Virtual Network (VNet) |
|
|
79
|
+
| | | — Subnet |
|
|
80
|
+
| | | — Private Endpoint |
|
|
81
|
+
| | | — Private DNS Zone |
|
|
82
|
+
| | | — DNS Zone VNet Link |
|
|
83
|
+
| | | — Logic App (Consumption) |
|
|
84
|
+
| | | — Redis Cache |
|
|
85
|
+
| | | — SQL Server |
|
|
86
|
+
| | | — SQL Database |
|
|
87
|
+
| | | — Application Insights |
|
|
88
|
+
| | | — Container Apps Environment |
|
|
89
|
+
| | | — Container App |
|
|
90
|
+
| | | — Data Collection Endpoint (DCE) |
|
|
91
|
+
| | | — Data Collection Rule (DCR) |
|
|
92
|
+
| | | — API Management (APIM) |
|
|
93
|
+
| | | — Azure Firewall |
|
|
94
|
+
| | | — Firewall Policy |
|
|
95
|
+
| | | — NAT Gateway |
|
|
96
|
+
| | | — VPN Gateway |
|
|
97
|
+
| | | — Azure Front Door |
|
|
98
|
+
| | | — WAF Policy (Front Door) |
|
|
99
|
+
| | | — DDoS Protection Plan |
|
|
100
|
+
| | | — DNS Private Resolver |
|
|
101
|
+
| | | — Automation Account |
|
|
102
|
+
| | | — Speech Service |
|
|
103
|
+
| | | — Log Search Alert Rule |
|
|
104
|
+
| 8 | **Get Bicep Requirements** | View required/optional parameters for any Bicep resource template before deployment. |
|
|
105
|
+
| 9 | **Get Resource Info** | Unified query tool — list resource groups, list/find resources, get resource details, get managed identity info, run custom KQL (Resource Graph) queries, or run raw CLI commands. |
|
|
106
|
+
| 10 | **Check Resource** | Check if a specific resource type exists in a resource group. |
|
|
107
|
+
| 11 | **Get Activity Log** | Retrieve activity logs for auditing and troubleshooting (up to 90 days). |
|
|
108
|
+
| 12 | **Update Tags** | Add, update, or replace tags on any Azure resource. |
|
|
109
|
+
|
|
110
|
+
### Azure — Security & Identity
|
|
111
|
+
|
|
112
|
+
| # | Tool | Description |
|
|
113
|
+
|---|------|-------------|
|
|
114
|
+
| 13 | **List Roles** | List active RBAC assignments or eligible PIM roles for the current user. |
|
|
115
|
+
| 14 | **Activate PIM Roles** | Activate eligible PIM roles — single role at a specific scope or all eligible roles at once. |
|
|
116
|
+
| 15 | **Assign PIM Eligible Role** | Create an eligible (not active) PIM role assignment for a user, group, or service principal. |
|
|
117
|
+
| 16 | **Assign RBAC Roles** | Assign RBAC roles to Service Principals or Managed Identities (supports bulk assignments). |
|
|
118
|
+
|
|
119
|
+
### Azure — Networking & Compliance
|
|
120
|
+
|
|
121
|
+
| # | Tool | Description |
|
|
122
|
+
|---|------|-------------|
|
|
123
|
+
| 17 | **Attach to NSP** | Attach a resource to a Network Security Perimeter (auto-creates NSP if needed). |
|
|
124
|
+
| 18 | **Attach Diagnostic Settings** | Configure Log Analytics diagnostic settings on a resource (auto-creates workspace if needed). |
|
|
125
|
+
| 19 | **Attach Application Insights** | Attach Application Insights to a Function App or App Service with connection string and instrumentation key. |
|
|
126
|
+
| 20 | **Create Private Endpoint** | Create a Private Endpoint with automatic DNS zone configuration and VNet link management. |
|
|
127
|
+
| 21 | **Manage PE Connections** | List, approve, or reject private endpoint connections on any Azure resource. |
|
|
128
|
+
| 22 | **Integrate VNet** | Regional VNet integration for App Service/Function App, or network ACL rules for Key Vault, Storage, Cosmos DB, OpenAI, SQL, and more. |
|
|
129
|
+
|
|
130
|
+
### Azure — Container Apps
|
|
131
|
+
|
|
132
|
+
| # | Tool | Description |
|
|
133
|
+
|---|------|-------------|
|
|
134
|
+
| 23 | **Create Container Apps Environment** | Create a Container Apps Environment with optional VNet integration and workload profiles. |
|
|
135
|
+
| 24 | **Create Container App** | Create a Container App with auto-detection/creation of environment, configurable scaling, CPU, and memory. |
|
|
136
|
+
|
|
137
|
+
### Azure — Monitoring (DCE/DCR)
|
|
138
|
+
|
|
139
|
+
| # | Tool | Description |
|
|
140
|
+
|---|------|-------------|
|
|
141
|
+
| 25 | **Create Data Collection Endpoint** | Create a DCE for Azure Monitor (required for Logs Ingestion API and AMPLS). |
|
|
142
|
+
| 26 | **Create Data Collection Rule** | Create a DCR with optional custom Log Analytics table and column definitions. |
|
|
143
|
+
| 27 | **Attach DCE to DCR** | Attach or update a Data Collection Endpoint on an existing Data Collection Rule. |
|
|
144
|
+
|
|
145
|
+
### Azure DevOps
|
|
146
|
+
|
|
147
|
+
| # | Tool | Description |
|
|
148
|
+
|---|------|-------------|
|
|
149
|
+
| 28 | **List Projects** | List all projects in an Azure DevOps organization. |
|
|
150
|
+
| 29 | **List Repos** | List all repositories in a project. |
|
|
151
|
+
| 30 | **Create Project** | Create a new Azure DevOps project with an initial repository. |
|
|
152
|
+
| 31 | **Create Repo** | Add a new Git repository to an existing project. |
|
|
153
|
+
| 32 | **Create Branch** | Create a branch from a base branch in a repository. |
|
|
154
|
+
| 33 | **Deploy Pipeline YAML** | Deploy pipeline YAML templates (CodeQL, 1ES) or custom YAML to a repository. |
|
|
155
|
+
| 34 | **Deploy Custom YAML** | Deploy custom YAML content directly to a repository file. |
|
|
156
|
+
| 35 | **Create Pipeline** | Create an Azure Pipeline from a YAML file already in the repository. |
|
|
157
|
+
| 36 | **Assign ADO Role** | Assign a security group role (Project Admin, Contributor, Reader, etc.) to a principal. |
|
|
158
|
+
|
|
159
|
+
### Microsoft Fabric
|
|
160
|
+
|
|
161
|
+
| # | Tool | Description |
|
|
162
|
+
|---|------|-------------|
|
|
163
|
+
| 37 | **List Fabric Permissions** | View workspace permissions and access levels for the current user. |
|
|
164
|
+
| 38 | **Create Workspace** | Create a Fabric workspace in a specified capacity. |
|
|
165
|
+
| 39 | **Assign Fabric Role** | Assign workspace roles (Admin, Contributor, Member, Viewer) to users, groups, or service principals. |
|
|
166
|
+
| 40 | **Attach Workspace to Git** | Connect a Fabric workspace to an Azure DevOps Git repository for version control. |
|
|
167
|
+
| 41 | **Create Deployment Pipeline** | Create Fabric deployment pipelines (Dev→Prod or Dev→UAT→Prod) and assign workspaces. |
|
|
168
|
+
| 42 | **Add Deployment Pipeline Role** | Add a role assignment to a Fabric deployment pipeline (auto-resolves user email to Object ID). |
|
|
169
|
+
| 43 | **Create Managed Private Endpoint** | Create a managed private endpoint from Fabric to Azure resources for secure connectivity. |
|
|
170
|
+
| 44 | **List Managed Private Endpoints** | List all managed private endpoints in a Fabric workspace with approval status. |
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Prerequisites
|
|
175
|
+
|
|
176
|
+
Before installing the AzForge Agent, ensure you have the following installed:
|
|
177
|
+
|
|
178
|
+
### Required Software
|
|
179
|
+
|
|
180
|
+
1. **Visual Studio Code** - [Download](https://code.visualstudio.com/download)
|
|
181
|
+
2. **PowerShell Core (pwsh)** - [Download](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.5)
|
|
182
|
+
3. **Azure CLI** - [Download](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest&pivots=winget)
|
|
183
|
+
4. **Python 3.10+** - [Download](https://www.python.org/downloads/)
|
|
184
|
+
5. **uvx** - [Download](https://docs.astral.sh/uv/getting-started/installation/)
|
|
185
|
+
6. **GitHub Copilot Chat Extension** - [Install from VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat)
|
|
186
|
+
|
|
187
|
+
### Azure Requirements
|
|
188
|
+
|
|
189
|
+
- Active Azure subscription
|
|
190
|
+
- Appropriate Azure RBAC permissions for resource creation
|
|
191
|
+
- Azure CLI authenticated (`az login`)
|
|
192
|
+
- Set context for one subscription (`az account set --subscription <subscriptionid>`)
|
|
193
|
+
|
|
194
|
+
### ADO Requirements
|
|
195
|
+
|
|
196
|
+
- Access to Azure DevOps organization
|
|
197
|
+
- Project Collection Admin permissions for creating projects
|
|
198
|
+
- Project Admin permissions for creating repositories and pipelines
|
|
199
|
+
- Azure CLI authenticated (`az login` or `az login --allow-no-subscriptions`)
|
|
200
|
+
|
|
201
|
+
### Fabric Requirements
|
|
202
|
+
|
|
203
|
+
- Access to Microsoft Fabric workspaces
|
|
204
|
+
- Appropriate permissions to create and manage workspaces
|
|
205
|
+
- Fabric capacity available for workspace creation
|
|
206
|
+
- ADO available for Git integration
|
|
207
|
+
- Azure CLI authenticated (`az login` or `az login --allow-no-subscriptions`)
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Installation Steps
|
|
212
|
+
|
|
213
|
+
### Step 1: Open GitHub Copilot Chat
|
|
214
|
+
|
|
215
|
+
1. Launch **Visual Studio Code**
|
|
216
|
+
2. Open **GitHub Copilot Chat** (click the chat icon in the sidebar or press `Ctrl+Alt+I`)
|
|
217
|
+
|
|
218
|
+
### Step 2: Access MCP Tools Menu
|
|
219
|
+
|
|
220
|
+
1. In the Copilot Chat window, click on the **🔧 Tools** button
|
|
221
|
+
2. Select **"Install MCP Server from PyPI"** or similar option
|
|
222
|
+
|
|
223
|
+
### Step 3: Install the Package
|
|
224
|
+
|
|
225
|
+
1. When prompted for the package name, enter:
|
|
226
|
+
```
|
|
227
|
+
azforgeagent
|
|
228
|
+
```
|
|
229
|
+
2. Select the **latest version** when prompted
|
|
230
|
+
3. Wait for the installation to complete
|
|
231
|
+
|
|
232
|
+
### Step 4: Configure MCP Settings
|
|
233
|
+
Add the following configuration to the `mcp.json` file:
|
|
234
|
+
|
|
235
|
+
```json
|
|
236
|
+
{
|
|
237
|
+
"servers": {
|
|
238
|
+
"azforgeagent": {
|
|
239
|
+
"type": "stdio",
|
|
240
|
+
"command": "uvx",
|
|
241
|
+
"args": [
|
|
242
|
+
"azforgeagent==1.0.0"
|
|
243
|
+
]
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
> **Note**: Replace `1.0.0` with the latest version number you installed.
|
|
250
|
+
|
|
251
|
+
### Step 5: Restart VS Code
|
|
252
|
+
|
|
253
|
+
1. Close and reopen Visual Studio Code to load the MCP server configuration
|
|
254
|
+
2. Open GitHub Copilot Chat again
|
|
255
|
+
3. Select the MCP Tool installed
|
|
256
|
+
|
|
257
|
+
### Step 6: Verify Installation
|
|
258
|
+
|
|
259
|
+
In GitHub Copilot Chat, type:
|
|
260
|
+
```
|
|
261
|
+
show menu
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
You should see the available actions menu confirming successful installation.
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
### Azure CLI Authentication
|
|
269
|
+
|
|
270
|
+
Ensure you're logged into Azure CLI:
|
|
271
|
+
```bash
|
|
272
|
+
az login
|
|
273
|
+
az account show
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
### PowerShell Core Required
|
|
277
|
+
|
|
278
|
+
This agent requires PowerShell Core (pwsh), not Windows PowerShell. Verify:
|
|
279
|
+
```bash
|
|
280
|
+
pwsh --version
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Usage Examples
|
|
286
|
+
|
|
287
|
+
### Azure
|
|
288
|
+
|
|
289
|
+
#### Authentication
|
|
290
|
+
```
|
|
291
|
+
login to azure
|
|
292
|
+
```
|
|
293
|
+
```
|
|
294
|
+
list my subscriptions
|
|
295
|
+
```
|
|
296
|
+
```
|
|
297
|
+
set subscription to <subscription-id>
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
#### Resource Management
|
|
301
|
+
```
|
|
302
|
+
create resource group named my-rg in eastus for project MyProject
|
|
303
|
+
```
|
|
304
|
+
```
|
|
305
|
+
create storage account in my-rg
|
|
306
|
+
```
|
|
307
|
+
```
|
|
308
|
+
create key vault in my-rg
|
|
309
|
+
```
|
|
310
|
+
```
|
|
311
|
+
create function app in my-rg
|
|
312
|
+
```
|
|
313
|
+
```
|
|
314
|
+
create container app in my-rg
|
|
315
|
+
```
|
|
316
|
+
```
|
|
317
|
+
create application insights in my-rg
|
|
318
|
+
```
|
|
319
|
+
```
|
|
320
|
+
list resources in my-rg
|
|
321
|
+
```
|
|
322
|
+
```
|
|
323
|
+
get info for resource my-storage in my-rg
|
|
324
|
+
```
|
|
325
|
+
```
|
|
326
|
+
get activity log for my-rg last 7 days
|
|
327
|
+
```
|
|
328
|
+
```
|
|
329
|
+
update tags on my-storage: environment=dev,team=platform
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
#### Security & Identity
|
|
333
|
+
```
|
|
334
|
+
list my active roles
|
|
335
|
+
```
|
|
336
|
+
```
|
|
337
|
+
list my eligible PIM roles
|
|
338
|
+
```
|
|
339
|
+
```
|
|
340
|
+
activate all my PIM roles with justification "sprint deployment"
|
|
341
|
+
```
|
|
342
|
+
```
|
|
343
|
+
assign Storage Blob Data Contributor role to managed identity <object-id> on resource group my-rg
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
#### Networking & Compliance
|
|
347
|
+
```
|
|
348
|
+
attach my-storage to network security perimeter in my-rg
|
|
349
|
+
```
|
|
350
|
+
```
|
|
351
|
+
attach diagnostic settings to my-storage in my-rg
|
|
352
|
+
```
|
|
353
|
+
```
|
|
354
|
+
attach application insights my-appinsights to webapp my-webapp
|
|
355
|
+
```
|
|
356
|
+
```
|
|
357
|
+
create private endpoint for my-storage blob in my-subnet
|
|
358
|
+
```
|
|
359
|
+
```
|
|
360
|
+
integrate my-function-app with vnet my-vnet subnet my-subnet
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
#### Monitoring (DCE/DCR)
|
|
364
|
+
```
|
|
365
|
+
create data collection endpoint my-dce in my-rg
|
|
366
|
+
```
|
|
367
|
+
```
|
|
368
|
+
create data collection rule my-dcr with custom table MyLogs in my-rg
|
|
369
|
+
```
|
|
370
|
+
```
|
|
371
|
+
attach dce my-dce to dcr my-dcr
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### Azure DevOps
|
|
375
|
+
|
|
376
|
+
```
|
|
377
|
+
list all devops projects in organization myorg
|
|
378
|
+
```
|
|
379
|
+
```
|
|
380
|
+
list all repos in project MyProject
|
|
381
|
+
```
|
|
382
|
+
```
|
|
383
|
+
create azure devops project named MyProject with repo MainRepo in organization myorg
|
|
384
|
+
```
|
|
385
|
+
```
|
|
386
|
+
create devops repository named MyRepo in project MyProject
|
|
387
|
+
```
|
|
388
|
+
```
|
|
389
|
+
create branch feature/new-feature from main in MyRepo
|
|
390
|
+
```
|
|
391
|
+
```
|
|
392
|
+
deploy codeql pipeline yaml to MyRepo in pipelines folder
|
|
393
|
+
```
|
|
394
|
+
```
|
|
395
|
+
deploy custom yaml content to MyRepo
|
|
396
|
+
```
|
|
397
|
+
```
|
|
398
|
+
create pipeline named MyPipeline-1ES for MyRepo
|
|
399
|
+
```
|
|
400
|
+
```
|
|
401
|
+
create pipeline named "Source Branch Validation" for MyRepo with yaml path pipelines/sourcebranchvalidation.yml
|
|
402
|
+
```
|
|
403
|
+
```
|
|
404
|
+
assign Project Administrators role to <principal-id> in project MyProject
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### Microsoft Fabric
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
list my fabric permissions
|
|
411
|
+
```
|
|
412
|
+
```
|
|
413
|
+
create fabric workspace named MyWorkspace in capacity /subscriptions/.../capacities/mycapacity
|
|
414
|
+
```
|
|
415
|
+
```
|
|
416
|
+
assign Admin role to <principal-id> in fabric workspace MyWorkspace
|
|
417
|
+
```
|
|
418
|
+
```
|
|
419
|
+
attach fabric workspace to azure devops git repo MyRepo in project MyProject
|
|
420
|
+
```
|
|
421
|
+
```
|
|
422
|
+
create deployment pipeline Dev-to-Prod with workspaces DevWS,ProdWS
|
|
423
|
+
```
|
|
424
|
+
```
|
|
425
|
+
add admin role to user@example.com on deployment pipeline <pipeline-id>
|
|
426
|
+
```
|
|
427
|
+
```
|
|
428
|
+
create managed private endpoint for storage blob in fabric workspace <workspace-id>
|
|
429
|
+
```
|
|
430
|
+
```
|
|
431
|
+
list managed private endpoints in fabric workspace <workspace-id>
|
|
432
|
+
```
|