{"id":48089055,"url":"https://github.com/vmware/terraform-vcf-toolkit","last_synced_at":"2026-04-04T15:27:07.924Z","repository":{"id":307377390,"uuid":"1028601946","full_name":"vmware/terraform-vcf-toolkit","owner":"vmware","description":"The VMware Cloud Foundation Terraform Toolkit utilizes Terraform to build customer-ready consumable infrastructure using the principles of infrastructure as code.","archived":false,"fork":false,"pushed_at":"2025-12-11T03:17:16.000Z","size":4645,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-12-11T20:24:36.307Z","etag":null,"topics":["terraform","vcf","vmware"],"latest_commit_sha":null,"homepage":"https://www.vmware.com/","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-29T19:19:43.000Z","updated_at":"2025-12-11T03:17:19.000Z","dependencies_parsed_at":"2025-07-31T00:43:04.435Z","dependency_job_id":"70dc3b08-a32f-4b5b-8f12-9a1c0349b1aa","html_url":"https://github.com/vmware/terraform-vcf-toolkit","commit_stats":null,"previous_names":["vmware/terraform-vcf-toolkit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vmware/terraform-vcf-toolkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-vcf-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-vcf-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-vcf-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-vcf-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmware","download_url":"https://codeload.github.com/vmware/terraform-vcf-toolkit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-vcf-toolkit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["terraform","vcf","vmware"],"created_at":"2026-04-04T15:27:04.667Z","updated_at":"2026-04-04T15:27:06.969Z","avatar_url":"https://github.com/vmware.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src = \"./docs/images/tf.png\" height=30\u003e VMware Cloud Foundation Terraform Toolkit - 1.4\n\n[![GitHub Clones](https://img.shields.io/badge/dynamic/json?color=success\u0026label=Clone\u0026query=count\u0026url=https://gist.githubusercontent.com/nathanthaler/a70d34a404527b23caff392674e753c4/raw/clone.json\u0026logo=github)](https://gist.githubusercontent.com/nathanthaler/a70d34a404527b23caff392674e753c4/raw/clone.json)\n\nThis is a toolkit for deploying VMware Platforms for customer ready consumable infrastructure.  It includes prescriptive deployment patterns and topologies for automated deployment of VCF and NSX configurations.\n\nThe toolkit is built with the principle of Infrastructure as Code (IaC) which is a methodology that allows management and provisioning of infrastructure using code rather than manual processes.  This means that all infrastructure components, including servers, networks, storage, and policies are defined and managed through code.  Many \"Day-0\" workflows have been modularized into reusable components/modules, promoting code reuse, simplifying maintenance, and enabling scalability.\n\nThis approach brings automation, consistency, and scalability to infrastructure configurations of customer deployments.\n\nTerraform is used as the primary tool for defining, managing, and provisioning infrastructure. It provides a declarative language for describing infrastructure components and automates the deployment process.\n\n# Automation Overview\n\nThis tool kit includes Terraform modules to deploy VMware Appliances, VMware Cloud Foundation and various NSX topologies. The appliances are deployed using small/est form-factors to reduce total footprint, but can be specified for any size environment.  *Some post-provisioning is required to finalize and customize each of the platforms in this version of the toolkit.*\n\n\u003cimg src = \"./docs/images/pcs_patterns.png\" width=100%\u003e\n\n## Hashicorp Registry\n\nTerraform Providers:\n\n- [VCF](https://registry.terraform.io/providers/vmware/vcf/latest) for Cloud Builder deployment, SDDC Manager, Management Domain creation and Workload Domain creation.\n- [NSX](https://registry.terraform.io/providers/vmware/nsxt/latest) for NSX Edge-Cluster deployment, Logical Routing and Firewall configuration(s).\n- [vSphere](https://registry.terraform.io/providers/vmware/vsphere/latest) for meta data management, DRS and administration (Folders, Resource-Pools and Port-Groups).\n  \n## Single Rack Model\n\nThis deployment model is suitable for lab, certification or small site configurations. Default configuration assumes one (1) fault-domain.\n\n\u003cimg src = \"./docs/images/1_rack.png\" width=100%\u003e\n\n### Rack Layout\n\n- One (1) Compute rack to seed the deployment\n- vSAN based storage cluster(s)\n\n### Edge-Cluster Model (Single Rack)\n\n- Single (1) fault-domain topology\n- Edge-VMs are deployed alongside workload VMs or to a single (1) dedicated cluster.\n\n### Pre-Requisites\n\nFor pre-requisites [See Here](/docs/prereqs_single_rack.md)\n\n## Private Cloud Models\n\nThese deployment models are suitable for production enterprise-grade site configurations.  Default configuration requirement minimum of three (3) fault-domains where each rack represents an FD/AZ.\n\n### Rack Layout(s)\n\n- Three (3) Compute racks\n- vSAN or NFS based storage cluster(s)\n\n\u003cimg src = \"./docs/images/2_rack_vsan.png\" width=100%\u003e\n\n\u003cimg src = \"./docs/images/2_rack_nfs.png\" width=100%\u003e\n\n### Edge-Cluster Model (Private Cloud)\n\n- Two (2) rack/fault-domain topology, with a minimum of two (2) clusters for edge compute resources.  This model can support horizontal (additional clusters) and vertical expansion (additional hosts per cluster).\n- Edge-VMs are deployed across two (2) dedicated clusters and split evenly across the fault-domains.\n\n## Automation for Networking and Security deployment materials\n\n Terraform Modules to deploy the following components:\n\n    - Edge-Cluster\n        - Uplink Profile\n        - VLAN Transport Zone\n        - Uplink Segments\n\n    - NSX-T Edge-VMs\n        - A minimum of two (2) and maximum of eight (8).\n\n    - Logical-Routing configuration leveraging BGP (ECMP)\n        - Tier-0\n            - BGP Config, Uplinks, Timers, ASN\n            - Prefix-List(s)\n            - Route-Map(s)\n        - Tier-1(s)\n        - Workload Segment(s)\n\n    - Distributed Firewall Macro-Segmentation Example(s)\n\n## Example VCF Workflow 9.0\n\nThe figure below depicts how workflows can be run individually and their order, but also how an end-to-end workflow can be constructed.\n\n\u003cimg src = \"./docs/images/vcf9_basic.png\" width=100%\u003e\n\n## Example Legacy VCF Workflow 5.2\n\nThe figure below depicts how workflows can be run individually and their order, but also how an end-to-end workflow can be constructed.\n\n\u003cimg src = \"./docs/images/vcf_workflow.png\" width=100%\u003e\n\n## Getting Started\n\nTo get started with this toolkit use the following steps:\n\n### Step 1\n\nDownload Terraform version 1.4 or newer. Using package managers or manual binary download methods.\n\nhttps://www.terraform.io/downloads.html\n\n``` sh\n$ brew install hashicorp/tap/terraform\n```\n\n### Step 2\n\nInstall git.  Using package managers or manual binary download methods.\n\n* Binaries - https://git-scm.com/downloads\n* Install Guide - https://github.com/git-guides/install-git\n\n``` sh\n$ brew install git\n```\nor\n``` sh\n$ sudo apt-get install git-all\n``` \n\n### Step 3\n\nUsing an IDE like VS Code, clone the project repository.\n\n``` sh\n$ git clone https://github.com/vmware/terraform-vcf-toolkit.git\n```\n\n### Step 4\n\nFill out the **\\*.tfvars** files for each of the Modules of the deployment.\n\nThe variables can be combined into a single **\\*.tfvars** and leveraged for all deployment Modules.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fterraform-vcf-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmware%2Fterraform-vcf-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fterraform-vcf-toolkit/lists"}