https://github.com/zorlin/dragonfly
dragonfly deploy - systems management software
https://github.com/zorlin/dragonfly
pxe rust tinkerbell
Last synced: 2 months ago
JSON representation
dragonfly deploy - systems management software
- Host: GitHub
- URL: https://github.com/zorlin/dragonfly
- Owner: Zorlin
- License: agpl-3.0
- Created: 2025-03-15T06:18:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-28T07:08:24.000Z (2 months ago)
- Last Synced: 2025-03-28T07:22:34.062Z (2 months ago)
- Topics: pxe, rust, tinkerbell
- Language: Rust
- Homepage:
- Size: 245 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ Dragonfly
NOTE: Dragonfly is still in development and not ready for production use.
This README reflects the goals of the project for an initial release, ***and is not yet reality***.
> ๐ง The **Bare Metal Infrastructure Management System** that makes metal effortless โ
> built in Rust, styled in Tailwind, designed for efficiency and reliability.Dragonfly is a **fast**, **flexible**, and ***satisfying*** platform
for managing and deploying bare-metal infrastructure at any scale.Whether youโve got 5 test VMs or 5,000 enterprise grade machines in a datacenter...
Dragonfly will help.
---
## What does it do?
Dragonfly is a virtual and bare-metal provisioning and orchestration system.
It answers the question:> โI just racked a machineโwhat happens next?โ
When a machine boots via PXE, it loads a minimal Alpine-based agent that registers itself with the Dragonfly server.
From there, Dragonfly can:* Grab details about the machine
* Automatically or manually assign an operating system and optional role
* Install the operating system
Dragonfly turns unconfigured hardware into usable infrastructure โ
automatically, securely, and *quickly*.## โจ Features
The main highlights:
- ๐ Web interface for managing, deploying
and monitoring your machines and infrastructure.
- ๐ก Automatic machine registration via PXE + Dragonfly Agent
- ๐ Automated OS installation with support for ISOs, PXE, and chainloading.
- ๐ง Powered by Tinkerbell under the hood
for wide compatibility and support for just about any hardware.
- ๐๏ธ Deployment as fast as four minutes.
- ๐ฐ๏ธ Distributed storage and IPFS deployment
for integrated data management.More features:
- ๐ Login system with admin/user roles and permissions
- ๐ง Reimage any machine in two clicks
- ๐งธ **Safety Mode (Molly Guard)** โ avoid accidentally nuking a machine
- ๐ Built-in IPMI/BMC/Redfish power control
and SSH control support for flexible node power operations.
- ๐ง Effortless grouping and tagging for your machines,
and emoji/font-awesome icon support for easy visual identification.
- ๐ Real-time deployment tracking with progress bars and status indicators.
- ๐ผ๏ธ Ready for Retina, ultrawide and kiosk displays
- ๐ท๏ธ "Just Type" experience โ with bulk editing, drag-fill, and autocomplete
- ๐จ Tailwind-powered theming โ pick your aesthetic or import your own.
- ๐ฉป Introspection - view details of your machines,
including hardware, OS, and network configuration.
- ๐ Search - find any machine by name, tag, or ID.
- ๐ Granular reporting and monitoring of your machines.
- ๐ฆ Built in image management for OS and drivers.
- ๐ฎ Gamepad and touchscreeen support for easy navigation of the UI.## ๐ฃ๏ธ Roadmap
See [ROADMAP.md](ROADMAP.md) for upcoming features and planned work.
## ๐ Running Dragonfly
You'll need Rust installed to use Dragonfly. Later in development, we'll be providing pre-built binaries and Docker images.
To get a binary to run:
```bash
cargo build --release -p dragonfly-server
```For development:
```bash
cargo run -p dragonfly-server
```Once you've got Dragonfly up and running, you can access the web interface at [http://localhost:9800](http://localhost:9800).
## ๐๏ธ Database Integration
Dragonfly uses the SQLx crate for database integration.
## ๐ Credits
Dragonfly is inspired by and intended as a GUI for the Tinkerbell project. It would not be possible without their work, and we're grateful for their efforts.
We also thank other projects that Dragonfly builds on, such as:
* [MooseFS](https://moosefs.org/)
* [CubeFS](https://cubefs.io/)
* [Tinkerbell](https://tinkerbell.org/)
* [Alpine Linux](https://alpinelinux.org/)
* [k0s](https://k0s.sh/)
* [Proxmox](https://proxmox.com/)
* [OpenJBOD](https://github.com/OpenJBOD)Thanks to [Taylor Vick](https://unsplash.com/photos/cable-network-M5tzZtFCOfs) for the login page background image ("racks.jpg")
## ๐ License
Dragonfly is licensed under the AGPLv3 license.
See the [LICENSE](LICENSE) for more details.