terrafaker
v0.0.12
Published
CLI for easily generating fake terraform files and repos
Maintainers
Readme
terrafaker
CLI for easily generating fake terraform files and repos
Goals
The primary goal of this tool is to quickly generate seed data for testing out platforms that use infrastructure-as-code, like Infracost. The data used to generate the infrastructure configurations is based on public cloud provider docs, but there is no guarantee that the configurations are valid. For example, only some Azure VMs support accelerators or GPU add-ons, but this tool does not encode any of that logic.
Obviously, you shouldn't use this tool to try to generate real production infrastructure.
Features
- Generate individual files
- Generate git repos with multiple files (and optionally push them to a remote VCS)
- Bulk clone and delete generated repos on a remote VCS by prefix
terrafaker can be used to randomly generate a file or repo of files like this:
provider "aws" {
region = "ap-northeast-1"
}
resource "aws_instance" "awful_tan_squirrel" {
ami = "ami-11060228d352"
instance_type = "m8a.metal-48xl"
tags = {
Environment = "Dev"
Service = "service"
}
}
resource "aws_lambda_function" "irresponsible_lavender_elephant" {
ami = "ami-3934ae468a90"
runtime = "python3.13"
handler = "exports.run"
function_name = "run"
memory_size = 8960
role = "arn:aws:iam::0c23f323cc2f:mfa/gummy_lavender_fox"
tags = {
Environment = "Dev"
Service = "service"
}
}Supported VCS providers
| VCS Provider | Supported | Dependency |
| ------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| GitHub | ✅ | brew install gh |
| GitLab | ✅ | brew install glab |
| Azure | ✅ | brew install azure-cli&& az extension add --name azure-devops |
Supported cloud providers and IAC tooling
| Cloud Provider | Terraform | CloudFormation | CDK | Pulumi | | -------------- | --------- | -------------- | --- | ------ | | AWS | ✅ | ✅ | ❌ | ❌ | | GCP | ✅ | ⛔️ | ⛔️ | ❌ | | Azure | ✅ | ⛔️ | ⛔️ | ❌ |
Supported resources
| Resource Type | AWS | GCP | Azure | | ----------------- | --- | --- | ----- | | Compute Instances | ✅ | ✅ | ✅ | | Functions | ✅ | ✅ | ✅ | | Object Storage | ❌ | ❌ | ❌ | | Managed Databases | ❌ | ❌ | ❌ |
Usage
See COMMANDS.MD for documentation on available commands.
$ npm install -g terrafaker
$ terrafaker COMMAND
running command...
$ terrafaker (--version)
terrafaker/0.0.12 darwin-arm64 node-v24.8.0
$ terrafaker --help [COMMAND]
USAGE
$ terrafaker COMMAND
...Issues
If you find a bug, feel free to open up an issue and try to describe it in detail with reproduction steps if possible.
If you would like to see a feature, and it isn't already documented, feel free to open up a new issue and describe the desired behavior.
