| Crates.io | fl8 |
| lib.rs | fl8 |
| version | 0.1.0 |
| created_at | 2025-10-14 22:47:42.35367+00 |
| updated_at | 2025-10-14 22:47:42.35367+00 |
| description | Lightweight cloud-agnostic Infrastructure as Code (IaC) library in Rust |
| homepage | https://fl8.dev |
| repository | https://github.com/kodlot/fl8 |
| max_upload_size | |
| id | 1883331 |
| size | 32,952 |
fl8 is a Rust library for infrastructure as code (IaC), designed to be cloud-agnostic, enabling deployment across AWS, other cloud providers, and SaaS platforms. Its goal is to provide a fast, type-safe, and modular framework for defining infrastructure resources and deployments.
Add fl8 as a dependency in your Cargo.toml:
[dependencies]
fl8 = "0.1.0"
fl8/
ββ .devcontainer/ # VS Code DevContainer configuration
ββ .vscode/ # VS Code settings & tasks
ββ examples/ # Examples
ββ src/ # Rust source code
ββ tests/ # Tests
ββ Cargo.toml # Rust project manifest
ββ rustfmt.toml # Rust formatter configuration
ββ README.md
fl8 provides a lightweight command-line interface for managing your infrastructure. The two primary commands are plan and launch.
fl8 planThe plan command previews the changes that will be made by your infrastructure definitions without applying them. It acts as a dry run.
fl8 plan
Example output:
Plan: 3 to add, 1 to modify, 0 to destroy
- AWS::S3::Bucket "my-bucket" -> create
- AWS::Lambda::Function "handler" -> create
- Postgres::Database "app-db" -> modify
fl8 launchThe launch command executes the deployment based on your current stack or construct definitions.
fl8 launch
Example output:
fl8 plan # Preview the changes first
fl8 launch # Apply the changes
Notes:
You can extend the CLI with optional flags for more control:
--stack <name>: Deploy a specific stack.--construct <name>: Deploy a specific construct.--dry-run: Show the plan without making changes (similar to plan).Example:
fl8 launch --stack my-stack --dry-run
git clone https://github.com/kodlot/fl8.git
cd fl8
Open VS Code and Reopen in Dev Container.
Dev Container will automatically install:
rustfmt and clippycargo test
This command will:
#[cfg(test)] modules.cargo run --example example_stack
rustfmt).cargo fmt
cargo clippy --all-targets --all-features
We welcome contributions! Please open issues or submit pull requests for bug fixes, new features, or improvements. By contributing, you agree that your contributions will be licensed under the Apache 2.0 license.
git checkout -b feature-namegit commit -m "Description"git push origin feature-nameThis project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.