Setup Guide
Canonical pre-event readiness page for APEX MicroHack participants.
Who This Is For
Section titled “Who This Is For”- Participants: Complete this page before event day so your team can start on time.
- Team leads: Use it to confirm your team’s subscription, quota, and cleanup ownership.
- Self-guided learners: Follow the same steps if you are exploring the workshop outside a live event.
Critical Blockers at a Glance
Section titled “Critical Blockers at a Glance”If any item below fails, your team is not ready to participate:
- No GitHub Copilot Business or Enterprise license.
- No Azure subscription with the required access.
- More than one team trying to share the same subscription.
- Not enough quota in
swedencentral. - A Dev Container that does not open successfully.
Resolve blockers before event day. Do not treat them as day-of issues.
Prerequisites
Section titled “Prerequisites”GitHub Copilot Business or Enterprise
Section titled “GitHub Copilot Business or Enterprise”| Plan | Custom agents | Compatible |
|---|---|---|
| Copilot Free | No | No |
| Copilot Pro | No | No |
| Copilot Business | Yes | Yes |
| Copilot Pro+ | No | No |
| Copilot Enterprise | Yes | Yes |
Compare plans: GitHub Copilot Plans
- Go to github.com/settings/copilot
- Confirm your subscription shows Business or Enterprise.
- Ensure “Copilot Chat in the IDE” is enabled
Setup guide: VS Code Copilot Setup
Azure subscription and access
Section titled “Azure subscription and access”| Subscription type | Compatible |
|---|---|
| Azure in CSP | Yes |
| Enterprise Agreement (EA) | Yes |
| Pay As You Go | Yes |
| Visual Studio subscription | Yes |
| Azure Free Account (with credit card) | Yes |
| Azure Pass | No |
- One Azure subscription per team is the only supported model. Shared subscriptions are not supported.
- Owner is the preferred role because facilitators may need to deploy Azure Policy assignments for governance challenges.
- If your organisation restricts Owner, confirm with your facilitator whether Contributor plus Resource Policy Contributor is accepted for your event.
- Your subscription must have enough quota in
swedencentral. See Quota and Estimated Costs.
Verify with:
az loginaz account show --output tableCore tools
Section titled “Core tools”Docker-compatible container runtime
GitHub Copilot custom agents run inside a Dev Container, so you need a local container runtime.
- Windows or macOS: Docker Desktop
- Linux: Docker Engine
- Alternatives if Docker Desktop is not an option: Rancher Desktop, Podman Desktop, or Colima
Verify with:
docker --versionVisual Studio Code on the host
Install VS Code version 1.100 or newer, then install the host extensions below before opening the container:
| Extension | ID | Why it matters |
|---|---|---|
| Dev Containers | ms-vscode-remote.remote-containers | Required to open any Dev Container |
| GitHub Copilot Chat | github.copilot-chat | Handles host-side sign-in and licensing |
Install both at once:
code --install-extension ms-vscode-remote.remote-containerscode --install-extension github.copilot-chatExtensions such as Bicep, Azure CLI Tools, PowerShell, and Azure Resource Groups are installed automatically from the Dev Container definition.
Azure CLI, PowerShell 7, and Git
These tools are preinstalled inside the Dev Container. Install them locally only if you plan to work outside the container.
- Azure CLI: install instructions
- PowerShell 7: install instructions
- Git: git-scm.com
Recommended checks:
az versionpwsh --versiongit --versionNetwork access
Section titled “Network access”Ensure your network allows outbound HTTPS to the following services:
| Service | Domains |
|---|---|
| GitHub | github.com, api.github.com |
| GitHub Copilot | copilot.github.com, *.githubusercontent.com |
| Azure | *.azure.com, *.microsoft.com, login.microsoftonline.com |
| Docker | docker.io, registry-1.docker.io |
Participation Gate
Section titled “Participation Gate”| # | Check | How to verify | Why it blocks |
|---|---|---|---|
| 1 | GitHub Copilot Business or Enterprise license | github.com/settings/copilot shows Business or Enterprise | Custom agents require a GitHub Copilot Business or Enterprise license — other SKUs do not include the required functionality (plans) |
| 2 | Azure subscription with required access | az login && az account show works | You cannot deploy or validate infrastructure without it |
| 3 | One subscription per team | Confirm with your facilitator or team lead | Shared subscriptions are not supported |
| 4 | Quota in swedencentral | az vm list-usage -l swedencentral -o table | Insufficient quota blocks deployment |
| 5 | Dev Container opens successfully | F1 → Dev Containers: Reopen in Container | All challenge work happens inside the container |
Setup Steps
Section titled “Setup Steps”1. Create your working repository
- Go to the azure-agentic-infraops-accelerator template
- Click Use this template → Create a new repository
- Clone your new repository and open it in VS Code:
git clone https://github.com/<your-org-or-user>/<your-new-repo>.gitcd <your-new-repo>code .- If the repository still contains template placeholders, run
npm run init:templatefrom the repo root. If you do not have Node.js locally, run it after reopening in the dev container.
When VS Code opens, accept the “Reopen in Container” prompt.
Dev Container
Section titled “Dev Container”2. Pull and build the Dev Container
- Press
F1→ runDev Containers: Reopen in Container - Wait for the container to build (watch progress in the terminal)
- Once complete, verify the core tools:
az versionbicep --versionpwsh --version3. Sign in to Azure
az loginaz account set --subscription "<your-subscription-id>"az account show --query "{Name:name, SubscriptionId:id, TenantId:tenantId}" -o table4. Enable custom agents
Open VS Code Settings (Ctrl+,) and add:
{ "github.copilot.chat": { "customAgentInSubagent": { "enabled": true } }}5. Verify your toolchain
Verify the core tools manually:
az versionbicep --versionnode --versionnpm --versiongh --version6. Start the workflow
Open Copilot Chat (Ctrl+Alt+I) and choose the entry point that matches your
working repo:
- If your repository created from the accelerator template includes 01-Orchestrator, you can start there.
- If not, go straight to the specific agent named on each challenge page.
To start with the orchestrator, select 01-Orchestrator and prompt it with:
Describe the Azure infrastructure project you want to build.The accelerator workflow uses 7 steps with approval gates:
- Requirements — capture what you need
- Architecture — WAF assessment and cost estimate
- Design — diagrams and ADRs (optional)
- Planning — Bicep implementation plan with governance
- Code — AVM-first Bicep templates
- Deploy — Azure provisioning with what-if preview
- Documentation — as-built suite
The microhack scores that same work as 8 challenges. Challenge 4 is the DR curveball that revisits the delivery path midway through the event, so always follow the agent and artifact guidance on the active challenge page.
Explore complete sample artifacts in the agent-output/_sample/ directory (created during the workshop).
Ready-to-Start Check
Section titled “Ready-to-Start Check”Use this quick check after you finish setup steps:
- My repository was created from the template repo, not from the docs repo.
- The Dev Container opens and the terminal tools load correctly.
-
az account showworks inside the container. - The agent dropdown appears in Copilot Chat.
- My team has exactly one Azure subscription assigned.
- My team knows who will own cleanup at the end of the event.
Quota and Estimated Costs
Section titled “Quota and Estimated Costs”Per-team resource profile
| Resource type | Quantity | SKU or tier | Region |
|---|---|---|---|
| Resource groups | 1-2 | N/A | Sweden Central |
| App Service plan | 1 | P1v4 or S1 | Sweden Central |
| App Services | 1-2 | N/A | Sweden Central |
| Azure SQL server | 1 | N/A | Sweden Central |
| Azure SQL database | 1 | S0 or Basic | Sweden Central |
| Storage accounts | 1-2 | Standard_LRS | Sweden Central |
| Key Vault | 1 | Standard | Sweden Central |
| Application Insights | 1 | N/A | Sweden Central |
| Log Analytics workspace | 1 | Per-GB | Sweden Central |
Optional Challenge 4 disaster recovery resources
| Resource type | Quantity | SKU or tier | Region |
|---|---|---|---|
| Resource groups | 1 | N/A | Germany West Central |
| App Service plan | 1 | P1v4 or S1 | Germany West Central |
| App Services | 1 | N/A | Germany West Central |
| Azure SQL database replica | 1 | S0 or Basic | Germany West Central |
| Storage account | 1 | Standard_GRS | Sweden Central |
Optional advanced services such as Front Door, Application Gateway, WAF, or Traffic Manager may increase quota and spend if your team chooses them.
Check quota and request increases
Use the Azure portal search for Quotas, filter by region, and review the resource families your team expects to deploy.
Useful CLI checks:
az vm list-usage --location swedencentral --output tableaz storage account list --query "length(@)"Common issues:
| Issue | Response |
|---|---|
| ”Subscription not registered” | az provider register --namespace Microsoft.Web |
| ”Quota exceeded” | Request an increase in Azure portal → Quotas |
| ”Region not available” | Confirm with your facilitator before changing regions |
| ”SKU not available in region” | Pick an approved alternative SKU |
Estimated event cost
| Configuration | Estimated cost for ~8 hours |
|---|---|
| Single team, core path | €5-10 |
| Single team with Challenge 4 DR work | €10-20 |
Delete all event resources immediately after the workshop to avoid unnecessary spend.
Optional pre-event quota smoke test
az loginaz account set --subscription "<your-subscription-id>"az group create --name rg-quota-test --location swedencentralaz group delete --name rg-quota-test --yes --no-waitCleanup
Section titled “Cleanup”Cleanup steps:
-
Delete all resource groups created during the microhack:
Terminal window az group delete -n rg-freshconnect-dev-swc --yes --no-wait# Repeat for any additional resource groups (e.g., secondary region)az group delete -n rg-freshconnect-dev-gwc --yes --no-wait -
Ask your facilitator to remove governance policies from the team subscription. If you are running the workshop as a facilitator or self-guided owner, use the Governance Scripts reference in this docs repo.
-
Verify cleanup is complete:
Terminal window az group list --query "[?starts_with(name, 'rg-freshconnect')]" -o table# Expected: empty result
Cleanup must be confirmed before the team leaves the event venue.
Need Help?
Section titled “Need Help?”- Ask your facilitator if you are blocked on subscription access, policy permissions, or quota approval.
- Use the Copilot Guide for agent and prompt usage during the workshop.
- Use Troubleshooting if your container, Azure auth, or tooling fails.
- Review Workshop Prep after setup if you still need the scenario and team-role context.