OpenTofu provider
The Fundament provider lets you manage clusters, node pools, projects, namespaces and members declaratively with OpenTofu or Terraform, instead of clicking through the console or scripting the CLI.
The provider reference is generated from the provider itself: it lists every resource and data source and describes every argument. Its complete example creates a cluster with a node pool, a project, a namespace and a member in one configuration. This page covers installing and configuring the provider.
Requirements
Section titled “Requirements”- OpenTofu >= 1.11
- A running Fundament instance and an API key
Install
Section titled “Install”The provider is not published to a registry. Prebuilt packages for Linux
(amd64, arm64), macOS (Apple Silicon, Intel) and Windows (amd64) are published
to the rolling terraform-provider-latest release, named so that OpenTofu
finds them in its local plugin directory without any CLI configuration:
# Pick your platform: linux_amd64, linux_arm64, darwin_arm64 (Apple Silicon) or darwin_amd64 (Intel Mac)PLATFORM=linux_amd64MIRROR=~/.terraform.d/plugins/registry.opentofu.org/fundament/fundamentmkdir -p "$MIRROR"curl -fsSL -o "$MIRROR/terraform-provider-fundament_0.1.0_${PLATFORM}.zip" \ "https://github.com/fundament-oss/fundament/releases/download/terraform-provider-latest/terraform-provider-fundament_0.1.0_${PLATFORM}.zip"Keep the zip as downloaded: its name is how OpenTofu discovers the version and platform. Windows, Terraform instead of OpenTofu, checksums and updating to a newer build are covered in the provider README.
Configuration
Section titled “Configuration”terraform { required_providers { fundament = { source = "fundament/fundament" } }}
# The API key comes from the FUNDAMENT_API_KEY environment variable.provider "fundament" { endpoint = "https://organization.fundament.example" organization_id = "019b4000-0000-7000-8000-000000000001"}The reference lists every provider argument and the environment variable it can come from.
See also
Section titled “See also”- Getting started: the same steps in the console.
- API keys: creating the key the provider authenticates with.
- Clusters, Namespaces, Members and roles and Plugins: what the resources manage.