| Crates.io | fuoco |
| lib.rs | fuoco |
| version | 0.0.5 |
| created_at | 2025-06-16 16:06:20.424068+00 |
| updated_at | 2025-07-03 13:08:17.717304+00 |
| description | A CLI tool for provisioning ephemeral VMs on AWS, GCP, and Hetzner through a unified interface. |
| homepage | |
| repository | https://github.com/x71c9/fuoco |
| max_upload_size | |
| id | 1714456 |
| size | 37,274 |
Ephemeral VM provisioner for AWS, GCP, and Hetzner.
fuoco automates a built-in Terraform template to provision a single VM in AWS, GCP, or Hetzner,
executes a startup script via cloud-init/user-data, and destroys all resources on termination.
--debug streams Terraform logs for troubleshooting.fuoco.PATH.AWS: via ~/.aws/credentials or environment variables.
GCP: via gcloud auth application-default login or GOOGLE_CLOUD_PROJECT env var.
Hetzner: via HCLOUD_TOKEN env var.
fuoco deploy --provider <aws|gcp|hetzner> [OPTIONS]
If somethig goes wrong it is possible to undeploy with:
fuoco undeploy --provider <aws|gcp|hetzner> [OPTIONS]
| Option | Description |
|---|---|
--provider <aws|gcp|hetzner> |
Cloud to deploy (aws, gcp, or hetzner). |
--region <REGION> |
AWS region, GCP zone, or Hetzner location (e.g. us-east-1, us-central1-a, nbg1). |
--instance-type <TYPE> |
VM size (defaults: t4g.nano AWS, e2-micro GCP, cx11 Hetzner). |
--script-path <FILE> |
Path to a Bash script to execute on VM startup. |
--debug |
Print Terraform init/apply/destroy logs (for debugging). |
-h, --help |
Show this help message. |
Press Ctrl+C or send SIGTERM to destroy the VM and exit.
fuoco deploy --provider aws --script ./startup.sh
Templates embedded under templates/<provider>/main.tf:
terraform init the provider.terraform apply with auto-approve and injected vars (region, instance-type, script, etc.).Ctrl+C/SIGTERM (or panic) to trigger terraform destroy.--debug to view full Terraform logs.tee /dev/console to the cloud‑init user‑data sequence.Contributions are welcome. Open issues or PRs for bugs, features, or improvements.