agentsclimarketplace

Devops network calculator for azure

Skill bg-szy/TOP-SKILLS/skills/claude-code-skills/devops-network-calculator-for-azure

Azure network planning, CIDR calculation, subnet sizing, and best-practices tool. Use this skill whenever the user asks about subnet sizing, CIDR planning, AKS networking, NSG rules, network segmentation, IP address management, VNet planning, address space analysis, overlap detection, or any Azure networking topic. Also trigger when the user mentions network calculator, net-calc, calculate hosts, plan subnets, or asks about Azure network best practices, even if they don't explicitly say 'network calculator'.From its SKILL.md

Install
npx -y skills add bg-szy/TOP-SKILLS --skill devops-network-calculator-for-azure

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.7 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

Azure Network Calculator

Offline Azure network planning tool. Calculates CIDRs, detects overlaps, analyzes VNet utilization, plans AKS networking, and generates Terraform-ready output. Zero external dependencies — uses Python stdlib only.

Quick Start

# What CIDR do I need for 500 hosts?
python3 scripts/network-calc.py calculate --from-hosts 500

# Analyze current VNet
python3 scripts/network-calc.py analyze --from-tfvars terraform/terraform.tfvars

# Validate for overlaps (pre-commit compatible)
python3 scripts/network-calc.py validate --from-tfvars terraform/terraform.tfvars

# Find where to place a new subnet
python3 scripts/network-calc.py first-fit --vnet 10.248.0.0/20 \
  --subnets "10.248.0.0/22,10.248.4.0/22,10.248.8.0/26,10.248.9.0/24" --hosts 500

Commands

CommandPurposeReference
calculateCIDR info, host sizing, subnet splittingCIDR Guide
analyzeVNet utilization, gap analysisCIDR Guide
validateOverlap detection, Azure constraint checksAzure Constraints
first-fitFind optimal placement for new subnetCIDR Guide
plan-multiMulti-environment VNet allocationSegmentation

Project Context

This project's current VNet: 10.248.0.0/20 (4,096 IPs, 57.8% utilized)

SubnetCIDRUsable
GatewaySubnet10.248.0.0/221,019
PublicSubnet10.248.4.0/221,019
AzureBastionSubnet10.248.8.0/2659
PrivateSubnet10.248.9.0/24251
Available gaps1,708

Key files: terraform/terraform.tfvars, terraform/networking.tf, terraform/nsg.tf

Azure Quick Reference

  • 5 reserved IPs per subnet (.0, .1, .2, .3, broadcast)
  • Bastion: min /26 | Gateway: min /27 | Firewall: min /26
  • Max subnets/VNet: 3,000 | Max NSG rules: 1,000
  • Full reference: Azure Constraints

Reference Guides

GuideWhen to Read
CIDR Calculation GuideSubnet sizing, gap analysis, overlap detection
AKS Networking GuideCNI comparison, pod/service CIDR, node sizing
Segmentation PatternsDesign patterns, anti-patterns, decision matrices
Azure ConstraintsHard limits, naming rules, reserved addresses

Templates

TemplatePurpose
VNet LayoutTerraform variable blocks for VNet config
AKS NSG RulesNSG rules for AKS workloads
Multi-Env PlanMulti-environment planning output

Execution

Follow the instructions in ./workflow.md.


Gotchas

  • Azure reserves 5 IPs per subnet, not 2: A standard /29 gives you 3 usable IPs, not 6. Sizing AKS node pools with /29 starves scaling and surfaces as InsufficientFreeAddressesInSubnet mid-scale.
  • GatewaySubnet name is literal: Azure refuses VPN Gateway attach unless the subnet is named exactly GatewaySubnet. Same for AzureBastionSubnet and AzureFirewallSubnet. Typo breaks at apply, not plan.
  • AKS Azure CNI eats one subnet IP per pod: A 30-node cluster at 30 pods/node needs 900+ subnet IPs, not 30. Plan --max-pods first; switching CNI later requires cluster rebuild.
  • first-fit picks lowest gap, not smartest: Places a /24 in a /22 gap and leaves fragmented unusable /25 leftovers. For long-lived VNets, use plan-multi and reserve growth gaps explicitly.
  • CIDR overlap with on-prem fails silently until peering: A 10.0.0.0/16 VNet looks fine alone, but ExpressRoute peering black-holes routes overlapping corporate ranges. Validate against full corporate IPAM.
  • NSG rule limit is 1,000 total, not per-direction: Inbound + outbound + default + Azure-auto rules share the budget. Leave headroom or hit a hard wall during scale.

What ships with it: 1 file

2.7 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,871. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.