https://github.com/tinkerbell/ipxedust
TFTP, HTTP library, and CLI server for serving iPXE binaries
https://github.com/tinkerbell/ipxedust
go http ipxe tftp tinkerbell
Last synced: about 2 months ago
JSON representation
TFTP, HTTP library, and CLI server for serving iPXE binaries
- Host: GitHub
- URL: https://github.com/tinkerbell/ipxedust
- Owner: tinkerbell
- License: apache-2.0
- Created: 2021-12-07T17:00:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-14T22:20:35.000Z (about 1 year ago)
- Last Synced: 2024-04-16T00:16:11.911Z (about 1 year ago)
- Topics: go, http, ipxe, tftp, tinkerbell
- Language: Go
- Homepage:
- Size: 14.3 MB
- Stars: 20
- Watchers: 13
- Forks: 23
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
[](https://github.com/tinkerbell/ipxedust/actions/workflows/ci.yaml)
[](https://codecov.io/gh/tinkerbell/ipxedust)
[](https://goreportcard.com/report/github.com/tinkerbell/ipxedust)
[](https://pkg.go.dev/github.com/tinkerbell/ipxedust)# ipxedust
TFTP and HTTP library and cli for serving [iPXE](https://ipxe.org/) binaries.
## Build
```bash
make build
```## Usage
CLI
```bash
./bin/ipxe-linux -h # ./bin/ipxe-darwin -hUSAGE
Run TFTP and HTTP iPXE binary serverFLAGS
-http-addr 0.0.0.0:8080 HTTP server address
-http-timeout 5s HTTP server timeout
-log-level info Log level
-tftp-addr 0.0.0.0:69 TFTP server address
-tftp-timeout 5s TFTP server timeout```
## Design Philosophy
This repository is designed to be both a library and a command line tool.
The custom iPXE binaries are built in the open. See the iPXE doc [here](docs/IPXE.md) for details.
The coding design philosophy can be found [here](docs/Philosophy.md).## System Context Diagram
The following diagram details how `ipxedust`(ipxe binaries) fits into the greater Boots(PXE) stack. [Architecture](docs/architecture.png).