You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/integrations-in-rancher/rancher-extensions.md
+48-32
Original file line number
Diff line number
Diff line change
@@ -14,83 +14,99 @@ Examples of built-in Rancher extensions are Fleet, Explorer, and Harvester. Exam
14
14
15
15
## Prerequisites
16
16
17
-
> You must log in as an admin in order to view and interact with the extensions management page.
17
+
> 1. You must log in as an administrator to view and interact with the extensions management page.
18
+
> 2. You must enable extension support.
18
19
19
-
## Installing Extensions
20
+
## Enabling Extension Support in Rancher
20
21
21
-
1. Click **☰ > Extensions** under **Configuration**.
22
+
Rancher v2.9.0 and later includes extension support.
23
+
24
+
You can confirm if extension support is enabled by checking the `uiextension` feature flag. Any changes to this feature flag cause the Rancher pod to restart.
25
+
26
+
When you enable extension support for the first time, it creates resources, such as the CRDs, so that UI Extensions can work. When extension support is disabled, it disables the endpoints and does not cache any files. However, it does not remove any CRs or delete any extensions that were installed before. If re-enabled, it exposes the required endpoints again and creates CRDs as needed. The extensions that were already installed load after the Rancher pod restarts.
22
27
23
-
2. If not already installed in **Apps**, you must enable the extension operator by clicking the **Enable** button.
28
+
### Caching Extension Files
24
29
25
-
- Click **OK** to add the Rancher extension repository if your installation is not air-gapped. Otherwise, uncheck the box to do so and click **OK**.
30
+
By default, Rancher caches every extension file in the file system. You can change that behavior by setting `plugin.noCache`to `true`.
Rancher does have a cached file size limit of 20MB. If an extension has a file bigger than that, the cache is disabled and `plugin.noCache` is set to `true`, regardless of user input.
28
33
29
-
3. On the **Extensions** page, click on the **Available** tab to select which extensions you want to install.
30
34
31
-
4. If no extensions are showing as available, you may manually add repos as follows:
35
+
## Installing Extensions
36
+
37
+
1. Click **☰ > Extensions** under **Configuration**.
32
38
33
-
4.1. On the upper right of screen, click on**⋮ > Manage Repositories > Create**.
39
+
2. On the **Extensions** page, select the**Available** tab to choose the extensions that you want to install.
34
40
35
-
4.2. Add the desired repo name, making sure to also specify the Git Repo URL and the Git Branch.
41
+
3. If no extensions are listed as available, you can manually add the repos:
36
42
37
-
4.3. Click **Create** in the lower right again to complete.
43
+
3.1. On the upper right, click **⋮ > Manage Repositories > Create**.
38
44
39
-

45
+
3.2. Add the desired repo name, making sure to also specify the Git repo URL and the Git branch.
40
46
41
-
5. Under the **Available** tab, click **Install**on the desired extension and version as in the example below. You can also update your extension from this screen, as the button to **Update** will appear on the extension if one is available.
47
+
3.3. Click **Create** in the lower right again to complete.
6. Click the **Reload**page button that will appear after your extension successfully installs. Note that a logged-in user who has just installed an extension will not see a change to the UI **unless**they reload the page.
51
+
4. Under the **Available**tab, click **Install** on the desired extension and version, as in the example below. You can also update your extension from this screen. The button to **Update**appears on the extension card if an update is available.
5. Click **Reload** after your extension successfully installs to check its status. Updates to the UI aren't visible until you reload the page.
56
+
57
+

48
58
49
59
## Updating and Upgrading Extensions
50
60
51
61
1. Click **☰ > Extensions** under **Configuration**.
52
-
1. Select the **Updates** tab.
53
-
1. Click **Update**.
62
+
2. Select the **Updates** tab.
63
+
3. Click **Update**.
54
64
55
65
If there is a new version of the extension, there will also be an **Update** button visible on the associated card for the extension in the **Available** tab.
56
66
57
67
## Deleting Extensions
58
68
59
69
1. Click **☰**, then click on the name of your local cluster.
60
-
1. From the sidebar, select **Apps > Installed Apps**.
61
-
1. Find the name of the chart you want to delete and select the checkbox next to it.
62
-
1. Click **Delete**.
70
+
2. From the sidebar, select **Apps > Installed Apps**.
71
+
3. Find the name of the chart you want to delete and select the checkbox next to it.
72
+
4. Click **Delete**.
63
73
64
74
## Deleting Extension Repositories
65
75
66
76
1. Click **☰ > Extensions** under **Configuration**.
67
-
1. On the top right, click **⋮ > Manage Repositories**.
68
-
1. Find the name of the extension repository you want to delete. Select the checkbox next to the repository name, then click **Delete**.
77
+
2. On the top right, click **⋮ > Manage Repositories**.
78
+
3. Find the name of the extension repository you want to delete. Select the checkbox next to the repository name, then click **Delete**.
69
79
70
80
## Deleting Extension Repository Container Images
71
81
72
82
1. Click **☰**, then select **Extensions**, under **Configuration**.
73
-
1. On the top right, click **⋮ > Manage Extension Catalogs**.
74
-
1. Find the name of the container image you want to delete, then click **⋮ > Uninstall**.
83
+
2. On the top right, click **⋮ > Manage Extension Catalogs**.
84
+
3. Find the name of the container image you want to delete, then click **⋮ > Uninstall**.
75
85
76
86
## Uninstalling Extensions
77
87
78
88
There are two ways to uninstall or disable an extension:
79
89
80
90
1. Under the **Installed** tab, click the **Uninstall** button on the extension you wish to remove.
You must reload the page after disabling extensions or display issues may occur.
91
101
92
102
:::
93
103
104
+
## Enabling Unauthenticated Access to an Extension
105
+
106
+
In Rancher v2.9.0 and later, you can allow unauthenticated access to an extension. You may want to enable unauthenticated access if the extension enables a new locale or adds custom branding. By default, all extensions require user authentication to load.
107
+
108
+
To enable unauthenticated access to an extension, set `plugin.noAuth` to `true` in the CR used by the extension.
109
+
94
110
## Developing Extensions
95
111
96
112
To learn how to develop your own extensions, refer to the official [Getting Started](https://rancher.github.io/dashboard/extensions/extensions-getting-started) guide.
@@ -169,12 +185,12 @@ After you successfully set up these resources, you can install the extensions fr
169
185
### Importing and Installing Extensions in an Air-gapped Environment
170
186
171
187
1. Find the address of the container image repository that you want to import as an extension. You should import and use the latest tagged version of the image to ensure you receive the latest features and security updates.
172
-
- **(Optional)** If the container image is private: [Create](../how-to-guides/new-user-guides/kubernetes-resources-setup/secrets.md) a registry secret within the `cattle-ui-plugin-system` namespace. Enter the domain of the image address in the **Registry Domain Name** field.
188
+
- **(Optional)** If the container image is private: [Create](../how-to-guides/new-user-guides/kubernetes-resources-setup/secrets.md) a registry secret within the `cattle-ui-plugin-system` namespace. Enter the domain of the image address in the **Registry Domain Name** field.
173
189
1. Click **☰**, thenselect**Extensions**, under **Configuration**.
174
190
1. On the top right, click **⋮ > Manage Extension Catalogs**.
175
191
1. Select the **Import Extension Catalog** button.
176
-
1. Enter the image address in the **Catalog Image Reference** field.
177
-
***(Optional)** If the container image is private, selectthe secret you just created from the **Pull Secrets** drop-down menu.
192
+
1. Enter the image address in the **Catalog Image Reference** field.
193
+
***(Optional)** If the container image is private, selectthe secret you just created from the **Pull Secrets** drop-down menu.
178
194
1. Click **Load**. The extension will now be **Pending**.
179
195
1. Return to the **Extensions** page.
180
196
1. Select the **Available** tab, and click **Reload** to make sure that the list of extensions is up to date.
@@ -191,7 +207,7 @@ After you mirror the latest changes, follow these steps:
191
207
1. Click **☰ > Local**.
192
208
1. From the sidebar, select **Workloads > Deployments**.
193
209
1. From the namespaces dropdown menu, select **cattle-ui-plugin-system**.
194
-
1. Find the **cattle-ui-plugin-system** namespace.
210
+
1. Find the **cattle-ui-plugin-system** namespace.
195
211
1. Select the `ui-plugin-catalog` deployment.
196
212
1. Click **⋮ > Edit config**.
197
213
1. Update the **Container Image** field within the deployment's container with the latest image.
0 commit comments