Skip to content

schell/teleform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

teleform logo

Teleform

What is Teleform?

Teleform is an Infrastructure-as-Code (IaC) library for Rust, offering a flexible and powerful alternative to tools like Terraform and Pulumi. It allows developers to describe infrastructure changes as a Directed Acyclic Graph (DAG), providing direct interaction with platform APIs without additional abstraction layers.

Why use Teleform?

  • Flexibility: Leverage the full power of Rust to define and manage your infrastructure.
  • Direct API Interaction: No wrappers over platform-specific resources, allowing for precise and domain-specific configurations.
  • Version Control: Infrastructure definitions are Rust code, easily tracked and managed with version control systems.

How does it work?

High-Level Overview

Teleform operates on the concept of local and remote states of resources, using these states to determine necessary actions such as creating, updating, or deleting resources.

Resources

Resources are defined as structs implementing the Resource trait, with methods for create, read, update, and delete. These methods are explicitly unimplemented! for developer convenience, allowing you to define only the methods you need immediately.

Providers

Providers are associated types on the Resource trait, facilitating interaction with the platform's API. For example, AWS uses aws_config::SdkConfig as its provider.

Store

The store manages the synchronization and serialization of your resources to the filesystem. It is the main structure you interact with when defining your infrastructure in a command-line program.

Target audience

Teleform is ideal for developers, especially those in solo or small team environments, seeking a more general and flexible solution to IaC. It is also suitable for those looking to migrate away from Terraform.

WARNING: Alpha Software!

This software is in its early stages and primarily works along a happy path. Use it with caution and contribute if you can!

About

IaC in a Rust library

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages