| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Adds .github/workflows/release.yml triggered on v* tags. Builds
linux/amd64 and linux/arm64 with -trimpath, CGO_ENABLED=0, and
SOURCE_DATE_EPOCH set from the tag commit — the three flags required
for Debian-compatible reproducible Go builds. Uploads binaries and a
sha256sums.txt to the GitHub Release via softprops/action-gh-release.
Wires a version variable in main.go (defaulting to "dev") that is
stamped at build time via -ldflags "-X main.version=<tag>". The
Makefile gains the same flags for local builds (VERSION ?= dev).
|
| |
|
|
|
|
|
|
| |
The Flatcar iPXE template references ignition/baremetal and ignition/virtual
endpoints. Without corresponding .slc files in the test data directory those
URLs would 404 on a real boot, even though the integration tests passed
(the URL only appears inside the rendered iPXE script body, not fetched by
the test runner).
|
| | |
|
| |
|
|
|
|
|
| |
- Build instructions: replace go get/GOPATH with git clone + go build
- Description: mention Ignition alongside cloud-init
- DHCP section: replace EOL ISC DHCP with dnsmasq and Kea examples
- Environments section: update directory tree to reflect current templates
|
| |
|
|
|
|
|
|
|
| |
Replace CoreOS (EOL) with Flatcar Linux using Ignition v3.
Replace CentOS (EOL) with AlmaLinux using a kickstart template.
Update Ubuntu templates to jammy with current archive mirror paths.
Update Debian template to bookworm.
Drop CoreOS cloud-config; add Flatcar Ignition example.
Update mappings.yaml, test configs, fixtures, and smoke test accordingly.
|
| |
|
|
|
| |
Drops bootstrap.css, bootstrap.min.css, default.css (now folded into
main.css), and the full glyphicons font set (~538KB total).
|
| | |
|
| | |
|
| |
|
|
| |
ioutil.ReadFile and ioutil.ReadDir have been deprecated since Go 1.16.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Drop go-kit/kit/log in favor of the now standard log/slog.
|
| | |
|
| |
|
|
|
|
| |
The heavy JS libraries are only used for a simple navbar. It doesn't
make sense to keep them. Instead, a lightweight local version has been
implemented.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The iPXE client just repeats the same request, a.k.a. "polling".
It is the Shoelaces server that can break the polling loop.
Either by handing out automated boot entry point based on IP address
or DNS PTR record, hand picked boot entry point from Web UI
or due retry maximum reached.
Signed-off-by: Geert Stappers <stappers@stappers.it>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modified: docs/screenshots/shoelaces-frontend-1.png
The '/poll/1/<MAC>' replaced by '/start'
New file: docs/screenshots/shoelaces-overview.msc
Source of shoelaces-overview.png
use msc-generator to build the .png
Modified: docs/screenshots/shoelaces-overview.png
String "iPXE ROM" replaced by "iPXE executable"
Added '/start' route
Documented the polling loop as a loop
Signed-off-by: Geert Stappers <stappers@stappers.it>
|
| |
|
|
|
|
| |
In commit 1c79728984af was endpoint '/start' added,
now it is tested.
Signed-off-by: Geert Stappers <stappers@stappers.it>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* String changes in internal/polling/polling.go
The most important one, from the point of view of human user,
is the addition of telling that a maximum retry has been reached.
The poll script got rid of the way too long line. That is done
by using "iPXE script continueing line character", \, backslash.
Poll interval shorter, from ten seconds to seven seconds,
also from 10000 ms to more readable 7000 ms (clearly three zeros (how
many zeros are in 10000? (four or five?))).
Added information about a loop that only looks like a loop.
A minor `s/iPXE/iPXE client/`.
In directory test/integ-test/expected-results/ are poll-unknown.txt
and poll.txt updated for getting a clean `make test`.
* style: build on top of latest contribution
In particular, mentioning 'maxRetry' exposes implementation code to
the end user, which we should avoid.
Co-authored-by: Raul Benencia <raul@thousandeyes.com>
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added /start as entry point, for humans and iPXE
The '/poll/1/${netX/mac:hexhyp}' is fairly iPXE internal, not something
that invites curious people to look better at shoelaces. Neither it is
looking nice in DHCP server configuration.
This change adds a HTTP handler for '/start'. And '/start' points
to '/poll/1/${netX/mac:hexhyp}'. The benefit of it is that human visible
documentation can replace the "voodoo" '/poll/1/${netX/mac:hexhyp}'
with "friendly" '/start'.
Because it is an addition are the existing HTTP handlers not effected,
neither the installed deployments effected.
Signed-off-by: Geert Stappers <stappers@stappers.it>
|
| |
|
|
| |
Signed-off-by: Raul Benencia <raul@thousandeyes.com>
|
| |
|
|
| |
Resolves: #17
|
| |
|
|
|
|
| |
Removed 'chain /poll/1/${netX/mac:hexhyp}' from the ipxemenu entry.
To make it possible that pressing Ctrl-B gets user
immediately to the desired menu.
|
| |
|
|
|
|
|
| |
Replaced string 'ROM' by 'executable'.
Read-Only-Memory, ROM, is a physical thing,
which can't be transfered by TFTP.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Go has made it clear that the official way to manage modules is to use
the built in modules system, and `dep` is painfully slow. This commit
replaces the `dep` control files with the files needed for go modules
and has synced the vendor directory.
|
| |\
| |
| | |
Support config subdirectories
|
| |/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* added production build commands in make
* Small spelling error :-( but fixed it
* style: changed flags into single variable that can be used mutible times
* Read comment more better made it even better ;-)
* learn to test and not rush things
* Rename LDFLAG to LDFLAGS
LDFLAGS is idiomatic.
Co-authored-by: Raul Benencia <raul@thousandeyes.com>
|
| |\
| |
| | |
Tidy up example files and add an scdoc manpage
|
| | | |
|
| | | |
|