diff options
| author | Geert Stappers <stappers@stappers.it> | 2023-01-05 00:21:47 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-04 15:21:47 -0800 |
| commit | 1c79728984af1b0b065ce5879581f41fa9f03da3 (patch) | |
| tree | 2a567b5d9542683f450b663d3bef91f218ab35d4 /internal/handlers | |
| parent | 046315273f2bdc6b268fc1d05704cbdbd42d29fb (diff) | |
feat: add human-friendly entry point
* 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>
Diffstat (limited to 'internal/handlers')
| -rw-r--r-- | internal/handlers/polling.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/internal/handlers/polling.go b/internal/handlers/polling.go index 12f36e2..51fd8ad 100644 --- a/internal/handlers/polling.go +++ b/internal/handlers/polling.go @@ -28,6 +28,16 @@ import ( "github.com/thousandeyes/shoelaces/internal/utils" ) +// StartPollingHandler is called by iPXE boot agents. It returns the poll script. +func StartPollingHandler(w http.ResponseWriter, r *http.Request) { + env := envFromRequest(r) + + script := polling.GenStartScript(env.Logger, env.BaseURL) + + w.Write([]byte(script)) +} + + // PollHandler is called by iPXE boot agents. It returns the boot script // specified on the configuration or, if the host is unknown, it makes it // retry for a while until the user specifies alternative IPXE boot script. |
