Azure Linux VM Scale Set (Uniform)
A self-contained Linux VM Scale Set (Uniform orchestration) on Azure - one apply creates the resource group, VNet, subnet, NSG and an SSH-key-only scale set with deny-all-inbound and no public IPs.
Verification
Live-testedReally deployed to a cloud sandbox, verified against its outputs and assertions, then destroyed - with the teardown confirmed.
Conformance
- Static validation (fmt · validate · tflint)
- Security scan clean (Checkov)
- Plan test superseded by live test
Provenance
- SHA-256 checksum
- Cosign signature
Functional
- Live-tested - applied, verified, destroyed
Last verified 2026-06-30 · how we verify
Verify this download
cosign · sha-256Don't take our word for it. Every release is signed with cosign - check the bytes against our pinned public key before you trust them.
# 1. Our pinned public key - fetch once, trust out-of-band
curl -O https://www.iac-bazaar.com/cosign.pub
# 2. This module's Sigstore bundle
curl -o azure-vmss-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/azure-vmss/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle azure-vmss-1.0.0.sigstore.json \
azure-vmss-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "9aa6f008f74f2db24e9d1ff24ee40e453cb3b0af6beb8cfe40bd176bbb905f3b azure-vmss-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "vmss" {
source = "www.iac-bazaar.com/iac-bazaar/azure-vmss/azure"
version = "1.0.0"
}Needs a registry token from /account/tokens. The module itself is free; the account is what identifies you. Full setup: registry docs.
Cite it in your README
badge · attributionPaste this beside the module in the repository that uses it. The badge is rendered from this artifact's verification record, so it reads live-tested because the record says so, and the link lands on this page.
[](https://www.iac-bazaar.com/catalog/azure-vmss?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
Terraform module 1.0.0, live-tested on IaC Bazaar: [Azure Linux VM Scale Set (Uniform)](https://www.iac-bazaar.com/catalog/azure-vmss?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
```hcl
module "vmss" {
source = "www.iac-bazaar.com/iac-bazaar/azure-vmss/azure"
version = "1.0.0"
}
```Preview:
Inputs & outputs
Create a free account to read this module's contract
The declared contract - every input name, type, default and description, plus every output - is shown to signed-in accounts, not to anonymous visitors.
A free account sees the contract of every module in the catalogue. There is no subscription and nothing to buy - the modules are free to download, and they run under Vizier.
Documentation
azure-vmss
A Linux Virtual Machine Scale Set (Uniform orchestration) on Azure, fully
self-contained by default. One tofu apply creates everything — resource
group, virtual network, subnet, NSG and the scale set — and tofu destroy
removes all of it (including the resource group). Point subnet_id at an
existing subnet to instead consume your own network. Works with Terraform and
OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.
What it provisions
azurerm_resource_group(created and destroyed by this module)azurerm_virtual_network+azurerm_subnet(self-contained mode only)azurerm_network_security_group+ subnet association — deny-all inbound by default; SSH (22) opened only fromallowed_ssh_cidrwhen set (self-contained mode only)azurerm_linux_virtual_machine_scale_set— SSH-key-only, system-assigned managed identity, no public IPs,overprovision = false, managed boot diagnostics
Secure defaults
- SSH-key auth only —
disable_password_authentication = true; a validadmin_ssh_public_keyis required. - No public IPs on instances — they are private behind the VNet (reach them via a bastion, VPN or peering).
- Deny-all inbound NSG by default — SSH is opened only when you set
allowed_ssh_cidr, and only from that CIDR. - System-assigned managed identity for least-privilege role grants.
- OS disks encrypted at rest with platform-managed keys (always on in Azure); optional encryption-at-host and Trusted Launch (Secure Boot + vTPM).
overprovision = false— the running instance count stays exactly equal toinstances(predictable cost and quota; no transient extra VMs).
License
Commercial — LicenseRef-IaCBazaar-Commercial
Usage code & full reference need an account
The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.
- Usage
- Inputs
- Outputs
- Requirements & notes
Related modules
azure-update-manager
A maintenance configuration is a schedule and a filter; a machine follows it only through an assignment, and one with no assignment appears scheduled and touches no host. reboot Never installs the kernel and runs the old one; a VM on image-default patching is assigned and skipped. Machines or a dynamic scope come with it; IfRequired reboots; the patch mode every VM needs is an output.
azure-virtual-machine
A fully self-contained general-purpose Linux VM on Azure - one apply creates the resource group, VNet, subnet, NSG, NIC, optional public IP and an SSH-key-only VM with a system-assigned identity.
azure-image-gallery
Community sharing publishes every image version to every Azure customer, unauthenticated, with your publisher email attached; trusted launch supported means a VM may boot without Secure Boot, and an image with no end-of-life date is a 2021 build still being deployed. Private by default, trusted launch required on every definition, an end-of-life date on each, and Hyper-V generation 2 throughout.
tencent-cvm-instance
A CVM instance in your subnet with login by key pair and no password, ordered security groups, no public address (one by name), the system disk encrypted with your KMS key (the service key by name), the Cloud Workload Protection and Cloud Monitor agents left on, a CAM role when you name one, and API termination refused. Pay-as-you-go by the hour.
aws-lightsail-instance
A Lightsail instance is created with 22 and 80 open to every address; its public address changes when it stops unless a static IP is attached, and every DNS record pointing at it is then wrong; and automatic snapshots are off. The port list replaced by your rules with SSH from anywhere accepted by name, a static IP attached, and the daily AutoSnapshot add-on on at the hour you choose.
scaleway-instance
A Scaleway instance on a Private Network with a required security group (the project default allows everything inbound), no public address unless a flexible IP is accepted by name, the project's SSH keys and no password, a Block Storage root volume deleted with the instance, cloud-init, and protection from deletion (off by name).