diff options
Diffstat (limited to 'internal/polling/polling.go')
| -rw-r--r-- | internal/polling/polling.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/internal/polling/polling.go b/internal/polling/polling.go index 853a751..cfd489f 100644 --- a/internal/polling/polling.go +++ b/internal/polling/polling.go @@ -34,6 +34,16 @@ import ( type ManualAction int const ( + startScript = "#!ipxe\n" + + "echo Shoelaces starts polling\n" + + "chain --autofree --replace \\\n" + + " http://{{.baseURL}}/poll/1/${netX/mac:hexhyp}\n" + + "#\n" + + "#\n" + + "# Do\n" + + "# curl http://{{.baseURL}}/poll/1/06-66-de-ad-be-ef\n" + + "# to get an idea about what iPXE will receive.\n" + maxRetry = 10 retryScript = "#!ipxe\n" + @@ -226,6 +236,26 @@ func setHostName(params map[string]interface{}, mac string) { } } +func GenStartScript(logger log.Logger, baseURL string) string { + variablesMap := map[string]interface{}{} + parsedTemplate := &bytes.Buffer{} + + tmpl, err := template.New("retry").Parse(startScript) + if err != nil { + logger.Info("component", "polling", "msg", "Error parsing start template") + panic(err) + } + + variablesMap["baseURL"] = baseURL + err = tmpl.Execute(parsedTemplate, variablesMap) + if err != nil { + logger.Info("component", "polling", "msg", "Error executing start template") + panic(err) + } + + return parsedTemplate.String() +} + func genBootScript(logger log.Logger, templateRenderer *templates.ShoelacesTemplates, baseURL string, script *mappings.Script) string { script.Params["baseURL"] = utils.BaseURLforEnvName(baseURL, script.Environment) text, err := templateRenderer.RenderTemplate(logger, script.Name, script.Params, script.Environment) |
