aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update CHANGELOG for 1.4.0HEADmasterRaúl Benencia13 days1-1/+45
|
* Demote missing ipxe override dir log to debugRaúl Benencia13 days1-1/+1
|
* Add make run target for local testingRaúl Benencia13 days1-1/+4
|
* Add release workflow with reproducible buildsRaúl Benencia13 days3-5/+45
| | | | | | | | | | | | 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).
* Add missing Ignition stub templates to test configsRaúl Benencia13 days2-0/+22
| | | | | | | | 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).
* Update copyright year to 2018-2026Raúl Benencia13 days29-29/+29
|
* Update README for 2026Raúl Benencia13 days1-35/+31
| | | | | | | - 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
* Update example templates to modern distrosRaúl Benencia13 days29-219/+158
| | | | | | | | | 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.
* Remove Bootstrap, Glyphicon fonts, and unused CSSRaúl Benencia13 days9-9419/+0
| | | | | Drops bootstrap.css, bootstrap.min.css, default.css (now folded into main.css), and the full glyphicons font set (~538KB total).
* Add local CSS replacing BootstrapRaúl Benencia13 days2-2/+311
|
* Add CI workflow to run tests on PRs and masterRaúl Benencia13 days1-0/+44
|
* Replace io/ioutil with os equivalentsRaúl Benencia13 days4-10/+7
| | | | ioutil.ReadFile and ioutil.ReadDir have been deprecated since Go 1.16.
* Update to yaml.v3 and drop vendor/Raúl Benencia13 days22-10041/+4
|
* Preserve empty flag valuesRaúl Benencia13 days2-17/+87
|
* Return flag validation errorsRaúl Benencia13 days3-12/+29
|
* Prune flag depRaúl Benencia13 days6-1325/+2
|
* Use stdlib flagsRaúl Benencia13 days3-17/+320
|
* Prune gorilla muxRaúl Benencia13 days12-2975/+0
|
* Use stdlib routerRaúl Benencia13 days3-46/+29
|
* Prune aliceRaúl Benencia13 days7-255/+0
|
* Inline middleware chainRaúl Benencia13 days2-7/+15
|
* Use slog loggingRaúl Benencia13 days49-3032/+61
| | | | Drop go-kit/kit/log in favor of the now standard log/slog.
* fix: add min required node version in smoke testRaúl Benencia2026-06-042-0/+16
|
* refactor: drop jquery and bootstrap jsRaúl Benencia2026-06-046-3913/+96
| | | | | | 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.
* test: add frontend smoke js testRaúl Benencia2026-06-044-2/+396
|
* refactor: rm jquery from first-party codeRaúl Benencia2026-06-042-74/+208
|
* feat: support custom parameters in integ_testRaul Benencia2023-04-192-2/+2
|
* Style: How client and server interact during pollGeert Stappers2023-01-233-3/+3
| | | | | | | | | | 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>
* Screenshot updateGeert Stappers2023-01-183-0/+31
| | | | | | | | | | | | | | | | 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>
* test: add test for /start endpoint (#23)Geert Stappers2023-01-092-0/+10
| | | | | | In commit 1c79728984af was endpoint '/start' added, now it is tested. Signed-off-by: Geert Stappers <stappers@stappers.it>
* style: add clarifying comments in polling iPXE scriptsGeert Stappers2023-01-093-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* build: use go 1.19 and tidy up depsRaul Benencia2023-01-049-766/+23
|
* build: update dependenciesRaul Benencia2023-01-0476-2437/+3143
|
* feat: add human-friendly entry pointGeert Stappers2023-01-046-5/+48
| | | | | | | | | | | | | | | | | * 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>
* test: fix test for behavior modified in 3233a856Raul Benencia2023-01-041-1/+0
| | | | Signed-off-by: Raul Benencia <raul@thousandeyes.com>
* test: ensures compatibility with Python 3Raul Benencia2023-01-041-3/+6
| | | | Resolves: #17
* No extra poll in ipxemenuGeert Stappers2023-01-041-1/+0
| | | | | | 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.
* iPXE executableGeert Stappers2022-12-192-7/+7
| | | | | | | Replaced string 'ROM' by 'executable'. Read-Only-Memory, ROM, is a physical thing, which can't be transfered by TFTP.
* Release shoelaces version 1.2.0Raul Benencia2021-01-131-2/+2
|
* Simplify ENTRYPOINT and CMD in DockerfileRaul Benencia2021-01-131-2/+2
|
* Add CHANGELOG.mdRaul Benencia2021-01-131-0/+43
|
* Segregate BindAddr and BaseURLRaul Benencia2021-01-137-29/+29
|
* Dockerfile: Add docker buildMichael Aldridge2021-01-111-0/+19
|
* Use Go ModulesMichael Aldridge2021-01-117-142/+63
| | | | | | | 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.
* Merge pull request #6 from rul/support-config-subdirectoriesraul-te2020-04-019-15/+25
|\ | | | | Support config subdirectories
| * Support config subdirectoriesRaul Benencia2020-04-019-15/+25
|/
* make build productions binaries (#5)Steven Bakker2020-03-311-0/+7
| | | | | | | | | | | | | | | | | * 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>
* Merge pull request #3 from rul/docRaúl Benencia2019-01-0923-7/+139
|\ | | | | Tidy up example files and add an scdoc manpage
| * Add scdoc manpageRaúl Benencia2019-01-083-1/+133
| |
| * Move screenshots to docs/screenshotsRaúl Benencia2019-01-084-3/+3
| |
nihil fit ex nihilo