How it works

From the provider's schema to your organisation.

Every module is generated, validated and versioned by machine, so every resource gets the same care, and a new provider release reaches you in days.

  1. We read the provider's schema

    Each provider describes every resource and data source it offers, with every attribute, type and nested block. We generate from that description, not from documentation or by hand.

  2. We generate and validate every artifact

    One module per resource, one lookup per data source, and packages for resources that belong together. Each one is checked with OpenTofu before it is published, and the provider's own validation rules are built into its inputs where they can be.

  3. You choose what you need

    Use any module straight from our public GitHub organisation, or sign in to the portal and request the modules, lookups and packages your estate uses.

  4. We deliver into your organisation

    Our GitHub App creates a repository for each artifact in a GitHub organisation you own, with version tags you can pin. Packages point at the modules in your own organisation.

  5. We keep it current

    When a provider releases a new version, we generate, validate and deliver it, aiming for five business days. Every version you have used stays available.

The same shape everywhere.

Every module takes one map, keyed by names you choose, and returns every attribute as a map with the same keys. Learn one and you know them all.

live/prod/resource-group/terragrunt.hclv5.0.1
  1. # one module per resource
  2. terraform {
  3. source = "git::https://github.com/AeternaFoundry/module_azurerm_resource_group.git?ref=v5.0.1"
  4. }
  5. inputs = {
  6. resource_groups = {
  7. 0 = {
  8. name = "rg-app-prod"
  9. location = "uksouth"
  10. }
  11. }
  12. }