Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: document user data form feature #4783

Merged
merged 19 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,14 @@ Use the following instructions to build the Edge Installer ISO. The optional ste
override or supplement configuration you provided to the installer ISO. For more information, refer to
[Apply Site User Data](../../site-deployment/site-installation/site-user-data.md).

:::info

You can take advantage of the Tech Preview feature to edit user data in Local UI after installation. However, we
still recommend you provide user data during EdgeForge for production workloads, because not all user data fields can
be updated in Local UI.

:::

### Build Content Bundle

Optionally, you can include a content bundle in your Edge installer ISO. When you include a content bundle in your Edge
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,15 @@ workaround.
passwd: kairos
```

:::info
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question as the other admonition.


You can take advantage of the Tech Preview feature to edit user data in Local UI after installation. Refer to
[Edit User Data](../../local-ui/host-management/edit-user-data.md) for more information. However, we still recommend
you provide user data during EdgeForge for production workloads, because not all user data fields can be updated in
Local UI.

:::

The command in the `install` block is required for FIPS installations. Configurations in the `stylus` block provide
the Edge Host with the registration token and the Palette endpoint. And the configurations in the `stage` block
create a system user that you can use to log in to the Operating System (OS).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,15 @@ customization.
cat user-data
```

:::info
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lennessyy We already have a healthy number of admonitions on this page. I do see the value in the admonition, so maybe we make it a tip vs an infobox? We already have quite a few info boxes, and it kinda feels like a tip.


You can take advantage of the Tech Preview feature to edit user data in Local UI after installation. Refer to
[Edit User Data](../../local-ui/host-management/edit-user-data.md) for more information. However, we still recommend
you provide user data during EdgeForge for production workloads, because not all user data fields can be updated in
Local UI.

:::

10. Open the **k8s_versions.json** file in the CanvOS directory. Remove the Kubernetes versions that you don't need from
the JSON object corresponding to your Kubernetes distribution.

Expand Down Expand Up @@ -721,6 +730,11 @@ git checkout v4.4.12
EOF
```

You can take advantage of the Tech Preview feature to edit user data in Local UI after installation. Refer to
[Edit User Data](../../local-ui/host-management/edit-user-data.md) for more information. However, we still recommend
you provide user data during EdgeForge for production workloads, because not all user data fields can be updated in
Local UI.

:::info

If you need to pull images from a private image registry, you can supply the credentials for the registry in the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ configuration during site deployment as site-specific configuration. This can re
installer configuration you provide to the installer ISO. For more information, refer to
[Apply Site User Data](../site-deployment/site-installation/site-user-data.md).

After installation, you can also use Local UI to make edits to the user data file before you create a cluster. Refer to
[Edit User Data](../local-ui/host-management/edit-user-data.md) for more information.

This article guides you through several important configuration blocks in the **user-data** file. However, you can use
many additional parameters to further customize your installation. Review the Edge
[Install Configuration](../edge-configuration/installer-reference.md) resource to learn more about all the supported
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
sidebar_label: "Edit User Data"
title: "Edit User Data"
description: "Instructions for editing user data in Local UI."
hide_table_of_contents: false
sidebar_position: 20
tags: ["edge"]
---

The **user-data** file is a YAML file that contains installer configuration for the Palette agent. This file is usually
prepared before the EdgeForge process and is written into the installer ISO in appliance mode deployments. In agent mode
deployments, the user data is provided directly to the agent mode installation script. For more information about
EdgeForge, refer to [EdgeForge Workflow](../../edgeforge-workflow/edgeforge-workflow.md). For more information about
deployment modes, refer to [Deployment Modes](../../../../deployment-modes/deployment-modes.md).

Local UI allows you to make edits to most fields in the **user-data** file after installation has completed before
cluster creation. All fields exposed in the form in Local UI have corresponding parameters in the installer reference.
For more information about the fields available in the installer user data, refer to
[Installer Reference](../../edge-configuration/installer-reference.md).

After an edit has been made, the new settings will apply after the host reboots.

:::preview

:::

## Limitations

- The following fields cannot be edited in Local UI. If you need to use these settings, you must set them correctly
during EdgeForge or provide them to the installation script if you are using agent mode.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- The following fields cannot be edited in Local UI. If you need to use these settings, you must set them correctly
during EdgeForge or provide them to the installation script if you are using agent mode.
- The following fields cannot be edited in Local UI. If you need to update these settings, you must set them correctly
during EdgeForge or provide them to the installation script if you are using agent mode.

Is update the right word here? "use" feels a bit out of place 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would take use over update because update implies that settings are already there? Most of these are empty parameters and if users want to use them they have to do it in the user data. I think I can change "settings" to "parameters"

- `stylus.site.deviceUIDPaths`
- `stylus.site.tagsFromFile`
- `stylus.site.tagsFromScript`
- `stylus.localUI.port`
- `stylus.includeTui`
- `stylus.debug`
- `stylus.trace`
- `stylus.disablePasswordUpdate`
- `stylus.imageRedirectWebhook`
- `install.bind_mounts`

## Prerequisites

- You have set `stylus.featureGate` to `UserDataForm` in your installer user data during EdgeForge or provide the user
data to the installation script if you are using agent mode. For example, the following configuration enables editing
user data in Local UI.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lennessyy are you trying to say that users need to set stylus.featureGate to UserDataForm ? The paragraph confused me a bit.

Maybe something like.

Set the user-data parameter stylus.featureGate to the value UserDataForm. This applies to both Applicance Mode, and Agent Mode.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other thing I noticed is that we don't have the parameter defined in Edge Installer Configuration Reference page.


```yaml {6}
#cloud-config
install:
reboot: false
poweroff: false
stylus:
featureGate: UserDataForm
installationMode: airgap
```

- Access to [Local UI](./access-console.md).

- You host is not assigned to any cluster.

## Edit User Data

1. Log in to Local UI. Refer to [Access Local UI](./access-console.md) for guidance.

2. In the upper-right corner of the page, click **Actions** to open the **drop-down Menu**.

3. Click **Configure**.

4. The pop-up box, you can configure most host settings that are configurable in the installer ISO user data, starting
with **Basic Information**. You can enter the name of the host, which corresponds to `stylus.site.name` in the user
data file. You may also configure tags for your host, which corresponds to `stylus.site.tags`.

5. In the **Network** section, you can configure network interfaces that the host will use to communicate with the its
network environment. Refer to
[Site Network Parameters](../../edge-configuration/installer-reference.md#site-network-parameters) for more
information about the network parameters.

| Field | Description |
| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Interface | The name of the network interface that the host will use to communicate with the cluster. You can add multiple network interfaces. This corresponds to the `stylus.site.network.<Interface Name>` field in the installer user data. |
| Use Static IP | Toggle on this switch to specify that your network interface will use static IP. If this field is turned off, your network interface will use Dynamic Host Configuration Protocol (DHCP) to obtain dynamic IPs. |
| IP address | The IP address of your network interface. This field is only available if you use static IP. |
| DNS Server | The IP address of your DNS server. This field is only available if you use static IP. |
| Gateway | The IP address of the internet gateway for your network. This field is only available if you use static IP. |

6. In the **Palette** section, you can specify the following settings.

| Field | Description |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Cluster Management Mode | This parameter decides whether the cluster is managed centrally by Palette or locally via Local UI. This corresponds to the `stylus.installationMode` parameter. All other fields in this section are only available if you choose **Centrally Managed**. |
| Endpoint | The Palette API endpoint that the host will communicate with. This corresponds to the `stylus.site.paletteEndpoint` parameter. |
| Insecure | Whether a client verifies the server's certificate chain and hostname. This corresponds to the `stylus.site.insecureSkipVerify` parameter. |
| Registration Token | This parameter contains the registration token the host will use to register itself with Palette. This corresponds to the `stylus.site.edgeHostToken` parameter. |
| Project Name | This parameter specifies the name of the project that the host is registered in. This corresponds to the `stylus.site.projectName` parameter. |

7. In the **Advanced Configurations** section, you can configure external registry settings and cloud-init stages for
your host. If you choose to enable external registries, you will need to provide the domain name of the registry as
well as the credentials needed to access the registry. For more information about external registries, refer to
[Deploy Cluster with a Private External Registry](../../site-deployment/deploy-custom-registries/deploy-external-registry.md).

8. In the **Advanced Configurations** section, cloud-init configurations are editable directly in the YAML editor. For
more information about cloud-init stages, refer to [Cloud-init Stages](../../edge-configuration/cloud-init.md).

9. When you are finished, click **Confirm**. The host will need 10 to 15 minutes to reboot and apply your changes.

## Validate

1. Log in to Local UI.

2. Click **Configure**.

3. Confirm that the pre-populated values have been updated to the new values you configured.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ Refer to the following resources to learn how to configure your Edge host using

- [Access Local UI](./access-console.md)

- [Edit User Data](./edit-user-data.md)

- [Reboot, Shut Down, and Reset Edge Host](./reset-reboot.md)

- [Configure HTTP Proxy](./configure-proxy.md)
Expand Down
2 changes: 2 additions & 0 deletions docs/docs-content/clusters/edge/local-ui/local-ui.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ Most host management features, with the exception of reset, are available on bot

- [Access Local UI](./host-management/access-console.md)

- [Edit User Data](./host-management/edit-user-data.md)

- [Configure HTTP Proxy in Local UI](./host-management/configure-proxy.md)

- [Reset Edge Host](./host-management/reset-reboot.md)
Expand Down
Loading