Getting started

Every module lives in its own repository and is pinned by a version tag, so there is nothing to install. This page uses the Public edition; the Private edition works the same way with your own organisation in the source address.

With Terragrunt

Point a unit’s terraform block at the module and pass its input:

terraform {
  source = "git::https://github.com/AeternaFoundry/module_azurerm_resource_group.git?ref=v5.0.1"
}

inputs = {
  resource_groups = {
    0 = {
      name     = "rg-app-prod"
      location = "uksouth"
    }
  }
}

Then run terragrunt plan as usual. The provider block comes from your own Terragrunt configuration; the module only declares which provider and version range it needs.

With OpenTofu or Terraform on their own

Use the same address as a module source:

module "resource_groups" {
  source = "git::https://github.com/AeternaFoundry/module_azurerm_resource_group.git?ref=v5.0.1"

  resource_groups = {
    0 = {
      name     = "rg-app-prod"
      location = "uksouth"
    }
  }
}

Finding a module

Search the catalogue. Everything lives in the AeternaFoundry organisation. Modules are named module_ followed by the provider’s name for the resource (module_azurerm_resource_group, module_aws_s3_bucket). Lookups are named lookup_ followed by the data source (lookup_azurerm_resource_group).

Next