feat: reword wizard using GitHub Copilot

Use AI suggestions to improve wording.

Drop unused (old) HTML templates.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
This commit is contained in:
Andrey Smirnov 2024-09-03 16:27:34 +04:00
parent fe9134a1bd
commit d98b007645
No known key found for this signature in database
GPG Key ID: FE042E3D4085A811
10 changed files with 35 additions and 222 deletions

View File

@ -107,13 +107,13 @@
{{ define "arch-description" }} {{ define "arch-description" }}
{{ if eq .Arch "amd64" }} {{ if eq .Arch "amd64" }}
Intel, AMD CPUs. Also known as x86_64, if unsure, use this option. Compatible with Intel and AMD CPUs, also referred to as x86_64. If unsure, select this option.
{{ end }} {{ end }}
{{ if eq .Arch "arm64" }} {{ if eq .Arch "arm64" }}
{{ if eq .Target "metal" }} {{ if eq .Target "metal" }}
Ampere Computing and other arm64 CPUs. For Single Board Computers use 'SBC' option on the first screen. For AWS and GCP arm64 VMs use Cloud images. Suitable for Ampere Computing and other arm64 CPUs. For Single Board Computers, choose the 'SBC' option on the first screen. For AWS and GCP arm64 VMs, use Cloud images.
{{ else }} {{ else }}
Various ARM64 manufacturers, also known as aarch64. Compatible with various ARM64 manufacturers, also known as aarch64.
{{ end }} {{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@ -18,12 +18,10 @@
<div class="prose dark:prose-invert mt-4"> <div class="prose dark:prose-invert mt-4">
<h1>Talos Linux Image Factory</h1> <h1>Talos Linux Image Factory</h1>
<p> <p>
Talos Linux Image Factory by <a href="https://siderolabs.com/">Sidero Labs, Inc.</a> provides a way The Talos Linux Image Factory, developed by <a href="https://siderolabs.com/">Sidero Labs, Inc.</a>, offers a method to download various boot assets for <a href="https://talos.dev/">Talos Linux</a>.
to download various boot assets for <a href="https://talos.dev/">Talos Linux</a>.
</p> </p>
<p> <p>
To learn more about the API of the Image Factory and available image formats, please visit <a For more information about the Image Factory API and the available image formats, please visit <a href="https://github.com/siderolabs/image-factory">the GitHub repository</a>.
href="https://github.com/siderolabs/image-factory">the GitHub repository</a>.
</p> </p>
<p class="tracking-tight text-gray-500 text-xs dark:text-gray-400"> <p class="tracking-tight text-gray-500 text-xs dark:text-gray-400">
Version: {{ .Version }} Version: {{ .Version }}

View File

@ -1,58 +0,0 @@
<div class="mb-6 text-sm">
<a class="underline font-bold" href="https://github.com/siderolabs/extensions">System Extensions</a>:
</div>
{{ range .Extensions }}
<div class="flex items-center mb-4">
<input id="{{ .TaggedReference.RepositoryStr }}" name="ext-{{ .TaggedReference.RepositoryStr }}" type="checkbox"
value="" hx-preserve
class="w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 dark:focus:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600">
<label for="{{ .TaggedReference.RepositoryStr }}" {{ if .Author }} title="{{ .Description }}Author {{ .Author }}" {{
end }} class="ml-2 text-sm font-medium text-gray-900 dark:text-gray-300">
{{ .TaggedReference.RepositoryStr }} <span class="text-xs">({{ .TaggedReference.TagStr }})</span>
</label>
</div>
{{ end }}
<div class="mb-6">
<label for="extra-args" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">
Extra kernel command line arguments:
</label>
<input id="extra-args" name="extra-args"
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
hx-preserve>
</div>
{{- if .Overlays }}
<div class="mb-6">
<label for="overlays" class="block mb-2 text-sm font-medium">Choose an Overlay:</label>
<select id="overlay" name="overlay"
class="w-64 bg-gray-50 border border-gray-300 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500">
<option value="">Select an overlay</option>
{{ range .Overlays }}
<option value="{{ .Name }}@{{ .TaggedReference.RepositoryStr }}">
{{ .Name }} ({{ .TaggedReference.RepositoryStr }}:{{ .TaggedReference.TagStr }})
</option>
{{ end }}
</select>
</div>
<div class="mb-6">
<label for="extra-overlay-options" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">
Extra overlay options:
</label>
<textarea id="extra-overlay-options" name="extra-overlay-options"
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
hx-preserve></textarea>
</div>
{{ end -}}
<div class="mb-6">
<button type="button"
class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:ring-blue-300 font-medium rounded-lg text-sm px-5 py-2.5 mr-2 mb-2 dark:bg-blue-600 dark:hover:bg-blue-700 focus:outline-none dark:focus:ring-blue-800"
hx-post="/ui/schematics" hx-target="#schematic">
Submit
</button>
</div>
<div id="schematic"></div>

View File

@ -1,124 +0,0 @@
<div class="mb-6">
Your image schematic ID is: <span class="font-mono bg-slate-200 dark:bg-slate-700 p-1">{{ .Schematic }}</span>
</div>
<div class="mb-6 font-mono bg-slate-200 dark:bg-slate-700 p-1 whitespace-pre">{{ .Marshaled }}</div>
<div class="mb-6 prose dark:prose-invert max-w-none">
<h2>Metal ISO</h2>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} ISO</dt>
<dd><a href="{{ $arch | printf "metal-%s.iso" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "metal-%s.iso" |
$.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h2>Installer Image</h2>
<p>
For the initial Talos install or upgrade use the following installer image:<br>
<span class="font-mono bg-slate-200 dark:bg-slate-700 p-1">{{ .InstallerImage }}</span>
</p>
<h2>PXE Boot (Metal)</h2>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} iPXE script</dt>
<dd>{{ $arch | printf "metal-%s" | $.PXEBaseURL.JoinPath }}</dd>
{{ end }}
</dl>
<h2>Disk Images</h2>
<h3>Metal</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} metal disk image</dt>
<dd><a href="{{ $arch | printf "metal-%s.raw.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"metal-%s.raw.xz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>AWS</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} AWS disk image</dt>
<dd><a href="{{ $arch | printf "aws-%s.raw.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "aws-%s.raw.xz"
| $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>GCP</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} GCP disk image</dt>
<dd><a href="{{ $arch | printf "gcp-%s.raw.tar.gz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"gcp-%s.raw.tar.gz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>Azure</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} Azure disk image</dt>
<dd><a href="{{ $arch | printf "azure-%s.vhd.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"azure-%s.vhd.xz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>Digital Ocean</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} Digital Ocean disk image</dt>
<dd><a href="{{ $arch | printf "digital-ocean-%s.raw.gz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"digital-ocean-%s.raw.gz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>Hetzner Cloud</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} Hetzner Cloud disk image</dt>
<dd><a href="{{ $arch | printf "hcloud-%s.raw.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"hcloud-%s.raw.xz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>Other</h3>
<p>Use the above URLs as a template replacing the last component with a matching path for your platform. See <a
href="https://github.com/siderolabs/talos/releases/latest">Talos Linux release assets</a> for examples.</p>
<h2>SecureBoot</h2>
<p>SecureBoot images are signed using <a href="/secureboot/signing-cert.pem">this SecureBoot certificate</a>.</p>
<h3>Metal SecureBoot ISO</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} SecureBoot ISO</dt>
<dd><a href="{{ $arch | printf "metal-%s-secureboot.iso" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "metal-%s-secureboot.iso" |
$.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>Metal SecureBoot Image</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} SecureBoot Image</dt>
<dd><a href="{{ $arch | printf "metal-%s-secureboot.raw.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "metal-%s-secureboot.raw.xz" |
$.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h3>SecureBoot Installer Image</h3>
<p>
For the initial Talos install or upgrade with SecureBoot use the following installer image:<br>
<span class="font-mono bg-slate-200 dark:bg-slate-700 p-1">{{ .SecureBootInstallerImage }}</span>
</p>
<h3>Metal SecureBoot UKI</h3>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} SecureBoot Image</dt>
<dd><a href="{{ $arch | printf "metal-%s-secureboot-uki.efi" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "metal-%s-secureboot-uki.efi" |
$.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
<h2>Various Assets</h2>
<dl>
{{ range $arch := .Architectures }}
<dt>{{ $arch }} kernel</dt>
<dd><a href="{{ $arch | printf "kernel-%s" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf "kernel-%s" |
$.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
{{ range $arch := .Architectures }}
<dt>{{ $arch }} initramfs</dt>
<dd><a href="{{ $arch | printf "initramfs-%s.xz" | $.ImageBaseURL.JoinPath }}">{{ $arch | printf
"initramfs-%s.xz" | $.ImageBaseURL.JoinPath }}</a></dd>
{{ end }}
</dl>
</div>

View File

@ -12,7 +12,7 @@
<span class="ms-3 text-sm font-medium text-gray-900 dark:text-gray-300">SecureBoot</span> <span class="ms-3 text-sm font-medium text-gray-900 dark:text-gray-300">SecureBoot</span>
</label> </label>
<div class="ms-2 text-sm"> <div class="ms-2 text-sm">
<p class="text-xs font-normal text-gray-500 dark:text-gray-300">Generate <a class="text-blue-600 dark:text-blue-500 underline" target="_blank" href="https://www.talos.dev/{{ short_version .Version }}/talos-guides/install/bare-metal-platforms/secureboot/">SecureBoot</a> image signed by the Sidero Labs official signing key. Requires UEFI boot and pre-configured hardware.</p> <p class="text-xs font-normal text-gray-500 dark:text-gray-300">Create a <a class="text-blue-600 dark:text-blue-500 underline" target="_blank" href="https://www.talos.dev/{{ short_version .Version }}/talos-guides/install/bare-metal-platforms/secureboot/">SecureBoot</a> image signed with the official Sidero Labs signing key. This requires UEFI boot and pre-configured hardware.</p>
</div> </div>
</div> </div>
{{ end }} {{ end }}

View File

@ -15,18 +15,16 @@
<div class="ms-2 prose dark:prose-invert prose-sm"> <div class="ms-2 prose dark:prose-invert prose-sm">
<p> <p>
This step allows to customize the default <a target="_blank" href="https://www.talos.dev/{{ short_version .Version }}/reference/kernel/">kernel command line arguments</a>. This step allows you to customize the default <a target="_blank" href="https://www.talos.dev/{{ short_version .Version }}/reference/kernel/">kernel command line arguments</a>.
</p> </p>
<p> <p>
The syntax accepted is the same as the kernel command line syntax, e.g. <code>console=ttyS0,115200</code>, but prefixing the argument with <code>-</code> removes the argument from the default command line (e.g. <code>-console</code>). The syntax accepted is the same as the kernel command line syntax, e.g., <code>console=ttyS0,115200</code>. Prefixing an argument with <code>-</code> removes it from the default command line (e.g., <code>-console</code>).
</p> </p>
{{ if eq .SecureBoot "true" }} {{ if eq .SecureBoot "true" }}
<p>With SecureBoot, the kernel command line is signed and cannot be modified, so this is the only opportunity to customize it.</p> <p>With SecureBoot, the kernel command line is signed and cannot be modified, so this is the only opportunity to customize it.</p>
{{ else }} {{ else }}
<p> <p>
Please note, that the kernel command line customization is only accepted for the initial boot images (ISO, PXE, disk image), and Please note that kernel command line customization is only accepted for the initial boot images (ISO, PXE, disk image) and is ignored for <code>installer</code> images. For upgrade/install command line customization, use the <code>machine.install.extraKernelArgs</code> machine configuration field.
ignored for <code>installer</code> images. For the upgrade/install command line customization, use the <code>machine.install.extraKernelArgs</code> machine
configuration field.
</p> </p>
{{ end }} {{ end }}
<p> <p>
@ -47,14 +45,13 @@
<div class="ms-2 prose dark:prose-invert prose-sm"> <div class="ms-2 prose dark:prose-invert prose-sm">
<p> <p>
This step allows to customize the overlay options for <a target="_blank" href="https://github.com/{{ .BoardMeta.OverlayImage }}">{{ .BoardMeta.OverlayImage }} overlay</a>. This step allows you to customize the overlay options for the <a target="_blank" href="https://github.com/{{ .BoardMeta.OverlayImage }}">{{ .BoardMeta.OverlayImage }} overlay</a>.
</p> </p>
<p> <p>
The syntax accepted is the YAML (JSON) key-value pairs. The accepted syntax is YAML (JSON) key-value pairs. The available options are specific to the overlay image and can be found in its documentation.
The list of options available is specific to the overlay image used, and can be found in the overlay image documentation.
</p> </p>
<p> <p>
Skip this step if unsure. If unsure, you can skip this step.
</p> </p>
</div> </div>
{{ end }} {{ end }}

View File

@ -4,9 +4,9 @@
<div class="mb-6 max-h-[500px] flex flex-col"> <div class="mb-6 max-h-[500px] flex flex-col">
<div class="ms-2 text-sm"> <div class="ms-2 text-sm">
<p class="text-xs font-normal text-gray-500 dark:text-gray-300"> <p class="text-xs font-normal text-gray-500 dark:text-gray-300">
<a class="text-blue-600 dark:text-blue-500 underline" target="_blank" href="https://github.com/siderolabs/extensions">System Extensions</a> extend the Talos Linux base image with additional feature: extra drivers, hardware firmware, container runtimes, guest agents, etc. <a class="text-blue-600 dark:text-blue-500 underline" target="_blank" href="https://github.com/siderolabs/extensions">System Extensions</a> enhance the Talos Linux base image with additional features such as extra drivers, hardware firmware, container runtimes, guest agents, and more.
<br> <br>
Pick the extensions that are required for your environment, skip this step if unsure. Select the extensions needed for your environment. If unsure, you can skip this step.
</p> </p>
</div> </div>

View File

@ -10,9 +10,9 @@
<div class="mb-6 prose prose-sm dark:prose-invert max-w-none"> <div class="mb-6 prose prose-sm dark:prose-invert max-w-none">
<h2>First Boot</h2> <h2>First Boot</h2>
{{ if eq .Target "metal" }} {{ if eq .Target "metal" }}
<p>There are several options for the initial boot of Talos Linux on bare-metal machine (or generic virtual machine):</p> <p>Here are the options for the initial boot of Talos Linux on a bare-metal machine or a generic virtual machine:</p>
{{ else if eq .Target "cloud" }} {{ else if eq .Target "cloud" }}
<p>Options for the initial boot of Talos Linux on {{ .PlatformMeta.Label }}:</p> <p>Here are the options for the initial boot of Talos Linux on {{ .PlatformMeta.Label }}:</p>
{{ else if eq .Target "sbc" }} {{ else if eq .Target "sbc" }}
<p>Use the following disk image for {{ .BoardMeta.Label }}:</p> <p>Use the following disk image for {{ .BoardMeta.Label }}:</p>
{{ end }} {{ end }}
@ -42,16 +42,16 @@
</dl> </dl>
{{ if or (eq .Target "metal") (and (eq .Target "cloud") .PlatformMeta.NotOnlyDiskImage) }} {{ if or (eq .Target "metal") (and (eq .Target "cloud") .PlatformMeta.NotOnlyDiskImage) }}
<h2>Initial Install</h2> <h2>Initial Installation</h2>
<p> <p>
For the initial Talos Linux install (doesn't apply to disk image boot) put the following installer image to the machine configuration:<br> For the initial installation of Talos Linux (not applicable for disk image boot), add the following installer image to the machine configuration:<br>
{{ template "installer-image" . }} {{ template "installer-image" . }}
</p> </p>
{{ end }} {{ end }}
<h2>Talos Linux Upgrade</h2> <h2>Upgrading Talos Linux</h2>
<p> <p>
Use the following image to <a href="https://www.talos.dev/{{ short_version .Version }}/talos-guides/upgrading-talos/" target="_blank">upgrade</a> Talos Linux on the machine:<br> To <a href="https://www.talos.dev/{{ short_version .Version }}/talos-guides/upgrading-talos/" target="_blank">upgrade</a> Talos Linux on the machine, use the following image:<br>
{{ template "installer-image" . }} {{ template "installer-image" . }}
</p> </p>

View File

@ -1,9 +1,9 @@
{{ define "wizard-start" }} {{ define "wizard-start" }}
{{ template "header" "Hardware Type" }} {{ template "header" "Hardware Type" }}
<div class="mb-6"> <div class="mb-6">
{{ template "radio-with-description" dict "name" "target" "value" "metal" "current" .SelectedTarget "label" "Bare-metal Machine" "description" "x86-64, arm64 bare-metal machines, generic virtual machines. If unsure, use this option." }} {{ template "radio-with-description" dict "name" "target" "value" "metal" "current" .SelectedTarget "label" "Bare-metal Machine" "description" "Suitable for x86-64 and arm64 bare-metal machines, as well as generic virtual machines. If unsure, choose this option." }}
{{ template "radio-with-description" dict "name" "target" "value" "cloud" "current" .SelectedTarget "label" "Cloud Server" "description" "AWS, GCP, Azure, VMWare, Equinix Metal and others, including homelab clouds like Proxmox." }} {{ template "radio-with-description" dict "name" "target" "value" "cloud" "current" .SelectedTarget "label" "Cloud Server" "description" "Compatible with AWS, GCP, Azure, VMWare, Equinix Metal, and other platforms, including homelab environments like Proxmox." }}
{{ template "radio-with-description" dict "name" "target" "value" "sbc" "current" .SelectedTarget "label" "Single Board Computer" "description" "Raspberry Pi, Pine64, Jetson Nano, etc." }} {{ template "radio-with-description" dict "name" "target" "value" "sbc" "current" .SelectedTarget "label" "Single Board Computer" "description" "Supports Raspberry Pi, Pine64, Jetson Nano, and similar devices." }}
{{ template "next-button" }} {{ template "next-button" }}
</div> </div>
{{ end }} {{ end }}

View File

@ -18,9 +18,9 @@
</select> </select>
<div class="mt-6"> <div class="mt-6">
<p class="text-xs font-normal text-gray-500 dark:text-gray-300"> <p class="text-xs font-normal text-gray-500 dark:text-gray-300">
It is always recommended to run the latest stable version of Talos Linux ({{ .Versions.LatestStable }}). We strongly recommend using the latest stable version of Talos Linux ({{ .Versions.LatestStable }}).
<br> <br>
Pre-release versions can be used for testing, but not recommended for production use. Pre-release versions are suitable for testing purposes but are not advised for production environments.
</p> </p>
</div> </div>
<div class="mt-6" id="version-doc"> <div class="mt-6" id="version-doc">