A Pulumi provider that enables infrastructure-as-code deployment of compute, network, and storage resources. It allows developers to provision virtual machines, networks, Kubernetes clusters, and storage using familiar Pulumi workflows in TypeScript, Python, Go, and .NET. The provider is available at the Pulumi Registry.
This provider maps grid resources into native Pulumi constructs, enabling declarative management of infrastructure through Pulumi's standard tooling. It supports resource lifecycle operations including create, update, and destroy, and integrates with the grid's identity and networking model.
- Go-based Pulumi provider implementing the resource bridge to grid APIs
- Multi-language SDK generation for TypeScript, Python, Go, and .NET
- Example projects demonstrating VM, network, Kubernetes, and storage deployments
- Integration tests validating provider functionality against live grid environments
The provider acts as the infrastructure-as-code entry point for the broader stack. It sits above the grid's deployment layer and allows users to define workloads declaratively rather than imperatively. It integrates with the grid's identity system (mnemonic-based keys) and network abstractions.
This technology is used within the ThreeFold ecosystem and was first deployed on the ThreeFold Grid. The component itself is designed as reusable infrastructure technology and should be understood by its technical function first, independent of any specific deployment.
This repository is owned and maintained by TF-Tech NV, a Belgian company responsible for the development and maintenance of this technology.
- Install the provider
make install_latestTo run examples, make sure you have a mnemonic and a network set.
export MNEMONIC="mnemonic words"
export NETWORK="network" # dev, qa, test, main -> default is dev- Go to the examples directory
cd examples/go/virtual_machine - Run the example
make run - To cleanup the resources that you created
make destroy
make buildexport MNEMONIC="mnemonic words"
export NETWORK="network" # dev, qa, test, main -> default is devmake integrationThis project is licensed under the Apache License 2.0 - see the LICENSE file for details. Copyright (c) TFTech NV.