Formae plugin for managing Azure resources.
| Resource Type | Description |
|---|---|
Azure::Resources::ResourceGroup |
Resource groups |
Azure::Network::VirtualNetwork |
Virtual networks |
Azure::Network::Subnet |
Subnets |
Azure::Network::NetworkInterface |
Network interfaces |
Azure::Network::NetworkSecurityGroup |
Network security groups |
Azure::Network::PublicIPAddress |
Public IP addresses |
Azure::Compute::VirtualMachine |
Virtual machines |
Azure::Storage::StorageAccount |
Storage accounts |
Azure::KeyVault::Vault |
Key vaults |
Azure::ContainerService::ManagedCluster |
AKS clusters |
Azure::ContainerRegistry::Registry |
Container registries |
Azure::DBforPostgreSQL::FlexibleServer |
PostgreSQL flexible servers |
Azure::DBforPostgreSQL::FirewallRule |
PostgreSQL firewall rules |
Azure::ManagedIdentity::UserAssignedIdentity |
Managed identities |
Azure::Authorization::RoleAssignment |
Role assignments |
make installConfigure an Azure target in your Forma file:
new formae.Target {
label = "my-azure-target"
namespace = "AZURE"
config = new Mapping {
["SubscriptionId"] = "your-subscription-id"
}
}Authentication uses DefaultAzureCredential which tries (in order):
- Environment variables (
AZURE_CLIENT_ID,AZURE_CLIENT_SECRET,AZURE_TENANT_ID) - Managed Identity
- Azure CLI (
az login)
See examples/ for usage patterns:
networking/- VNet and subnet setupkubernetes/- AKS cluster with ACRdatabase/- PostgreSQL flexible servervirtual-machine/- VM with networkingsubscription-bootstrap/- Resource group, key vault, storage account
make build # Build plugin
make test # Run tests
make install # Install locally
make install-dev # Install as v0.0.0 (for debug builds)
make gen-pkl # Resolve PKL dependenciesRun against real Azure resources:
make setup-credentials # Verify Azure login
make conformance-test VERSION=0.77.16-internal # Run full suiteFSL-1.1-ALv2