Azure Container Instances (ACI)
Runs one or more containers on Azure Container Instances without VMs or an orchestrator - secure by default with no privileged containers, redacted secret fields, and an optional managed identity.
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-container-instances-1.0.0.sigstore.json \
https://www.iac-bazaar.com/api/artifacts/azure-container-instances/signature
# 3. Verify the tarball you downloaded
cosign verify-blob \
--key cosign.pub \
--bundle azure-container-instances-1.0.0.sigstore.json \
azure-container-instances-1.0.0.tar.gz
# → Verified OK
# 4. (optional) confirm the checksum too
echo "724cb81a81fbf7ec31aea8baad40a409dce016b25937b472b415fece8c680900 azure-container-instances-1.0.0.tar.gz" | sha256sum -cUse it from the registry
terraform · opentofumodule "container_instances" {
source = "www.iac-bazaar.com/iac-bazaar/azure-container-instances/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-container-instances?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
Terraform module 1.0.0, live-tested on IaC Bazaar: [Azure Container Instances (ACI)](https://www.iac-bazaar.com/catalog/azure-container-instances?utm_source=syndication&utm_medium=readme&utm_campaign=artifact)
```hcl
module "container_instances" {
source = "www.iac-bazaar.com/iac-bazaar/azure-container-instances/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-container-instances
Run one or more containers on Azure Container Instances (ACI) without VMs or
an orchestrator — a azurerm_container_group deployed into an existing resource
group. Fast and cheap: billed per-second for the requested vCPU/memory only while
running. Out of the box it deploys a single public Linux hello-world container
(0.5 vCPU / 1.0 GB on port 80) so a bare apply gives you a reachable endpoint;
override containers for real workloads. Secure by default: no privileged
containers, secrets passed only through provider-redacted fields
(secure_environment_variables, secret volumes, registry credentials), and an
optional managed identity for passwordless registry pulls and CMK. Works with
Terraform and OpenTofu (>= 1.6), azurerm provider >= 4.0, < 5.0.
Security notes
- ACI is exposed to the internet when
ip_address_type = "Public"— the common ACI use case. For internal workloads setip_address_type = "Private"withsubnet_ids, or"None"for no inbound IP. There is no per-port firewall on the group itself; restrict at the VNet/NSG level (Private) or at the app. - Never put secrets in
environment_variables; usesecure_environment_variables, secret volumes or registry credentials — all redacted by the provider. - Prefer a managed
identity+user_assigned_identity_idfor registry pulls overusername/password. - The OS managed disk and group are encrypted at rest with platform-managed keys
by default; supply
customer_managed_key(with a matchingidentity) for BYOK.
Requirements
| Requirement | Version |
|---|---|
| Terraform / OpenTofu | >= 1.6 |
hashicorp/azurerm | >= 4.0, < 5.0 |
License
Commercial — IaC Bazaar EULA. © IaC Bazaar. Original work (not derived from a third-party module).
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
Related modules
azure-app-service
App Service plan + Linux web app with deployment slots, custom domain + managed TLS, VNet integration and autoscale.
azure-container-apps
Container Apps environment with workload profiles, Dapr, KEDA scale rules, ACR pull identity and custom domain.
azure-functions
Function app (Flex Consumption or Premium) with storage, Application Insights, managed identity and VNet integration.
azure-static-web-app
Globally distributed hosting for static sites and SPAs on Azure Static Web Apps with optional serverless APIs, free auto-renewing TLS, and a built-in global CDN - defaulting to the cost-free Free SKU.
azure-logic-app
An Azure Logic App (Consumption) workflow with a built-in Recurrence trigger - serverless pay-per-execution automation with a system-assigned managed identity and inbound IP allowlists.
ibm-code-engine-app
A Code Engine project and application with managed_domain_mappings local_private, because the field defaults to local_public and an application deployed with no opinion about it answers the world. scale_min_instances is one rather than zero, run_as_user is not root, and a private image without its pull secret is refused - that failure otherwise arrives long after the apply.