An open API service indexing awesome lists of open source software.

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

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.