Skip to content

Commit ce5c583

Browse files
docs: DOC-2409: GHCR helm chart workaround (#9676)
* docs: DOC-2409: GHCR registry workaround * Apply suggestions from code review * ci: auto-formatting prettier issues * Minor cleanup; ECR does not need self-certs * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: svetlana-efimova <svetlana.efimova@spectrocloud.com> * Combining AWS Credential tables --------- Co-authored-by: achuribooks <182707758+achuribooks@users.noreply.github.com> Co-authored-by: svetlana-efimova <svetlana.efimova@spectrocloud.com>
1 parent fb4999e commit ce5c583

File tree

4 files changed

+104
-87
lines changed

4 files changed

+104
-87
lines changed

_partials/profiles/_add-on-namespace.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ partial_category: profiles
33
partial_name: add-on-namespace
44
---
55

6-
Configure parameters as needed. Ensure you specify a namespace; otherwise, the manifest will be deployed to the
7-
`Default` namespace. For examples of Helm-based pack structures,
6+
For GitHub Container Registry (GHCR), paste the default chart values and make any necessary changes. For other registries, modify the existing values as necessary.
7+
8+
Ensure you specify a namespace; otherwise, the manifest will be deployed to the
9+
`default` namespace. For examples of Helm-based pack structures,
810
review our <VersionedLink text="Deploy a Pack" url="/tutorials/packs-registries/deploy-pack#build-a-pack" />
911
guide, and select the appropriate tab.
1012

docs/docs-content/profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-helm-addon.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ tags: ["profiles", "cluster profiles", "helm", "add-on"]
1010
You can extend the list of integrations by adding Helm charts from a public or private registry to your cluster profile.
1111
Take the following steps to create a cluster profile by adding layers using Helm charts.
1212

13+
For guidance on adding Open Container Initiative (OCI)-based Helm chart registries to Palette, refer to our
14+
[Add OCI Helm Registry](../../../../registries-and-packs/registries/oci-registry/add-oci-helm.md) guide.
15+
1316
## Prerequisites
1417

1518
<PartialsComponent category="profiles" name="create-profile-prerequisites" />
@@ -18,7 +21,8 @@ Take the following steps to create a cluster profile by adding layers using Helm
1821

1922
<PartialsComponent category="profiles" name="create-profile-enablement" edition="Add-on" />
2023

21-
5. Select the **Add Helm Chart** drop-down menu and choose **Public packs** or **Private packs**.
24+
5. From the **Add Helm Chart** drop-down menu, choose **Public packs** or **Private packs**. For GitHub Container
25+
Registry (GHCR), select **Private packs**.
2226

2327
<Tabs groupId="registry-type">
2428

@@ -37,8 +41,12 @@ Take the following steps to create a cluster profile by adding layers using Helm
3741
6. To add a chart from a _private_ registry, on the **Profile Layers** page, select a **Registry** from the drop-down
3842
menu. Next, select **Chart name** and **Chart version**.
3943

40-
7. (Optional) If desired, add configurable **Chart Values** and specify the layer
41-
[install order](./create-addon-profile.md#install-order).
44+
For GHCR, enter the chart name and version _exactly_ as they appear in the endpoint. For example, for an endpoint of
45+
`oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator:0.39.0`, enter `flux-operator` for the **Chart name** and
46+
`0.39.0` for the **Chart version**. For more information on adding Helm charts from GHCR in Palette, refer to our
47+
[Add OCI Helm Registry](../../../../registries-and-packs/registries/oci-registry/add-oci-helm.md) guide.
48+
49+
7. (Optional) If desired, specify the layer [install order](./create-addon-profile.md#install-order).
4250

4351
</TabItem>
4452

@@ -83,8 +91,12 @@ Take the following steps to create a cluster profile by adding layers using Helm
8391
5. To add a chart from a _private_ registry, on the **Profile Layers** page, select a **Registry** from the drop-down
8492
menu. Next, select **Chart name** and **Chart version**.
8593

86-
6. (Optional) If desired, add configurable **Chart Values** and specify the layer
87-
[install order](./create-addon-profile.md#install-order).
94+
For GHCR, enter the chart name and version _exactly_ as they appear in the endpoint. For example, for an endpoint of
95+
`oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator:0.39.0`, enter `flux-operator` for the **Chart name** and
96+
`0.39.0` for the **Chart version**. For more information on adding Helm charts from GHCR in Palette, refer to our
97+
[Add OCI Helm Registry](../../../../registries-and-packs/registries/oci-registry/add-oci-helm.md) guide.
98+
99+
6. (Optional) If desired, specify the layer [install order](./create-addon-profile.md#install-order).
88100

89101
</TabItem>
90102

docs/docs-content/registries-and-packs/registries/oci-registry/add-oci-helm.md

Lines changed: 79 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,18 @@ title: "Add OCI Helm Registry"
44
description: "Learn how to add your own OCI Helm Registry to Palette"
55
icon: ""
66
hide_table_of_contents: false
7+
toc_max_heading_level: 2
78
sidebar_position: 10
89
---
910

1011
You can add an OCI type Helm registry to Palette and use the Helm Charts in your cluster profiles.
1112

13+
## Limitations
14+
15+
- GitHub Container Registry (GHCR) is not officially supported at this time. To add a Helm chart from GHCR, you must
16+
create a separate OCI Helm registry in Palette for each chart. Refer to the
17+
[Add OCI Helm Registry - GHCR](#add-oci-helm-registry) section for more information.
18+
1219
## Prerequisites
1320

1421
- Tenant admin access to Palette.
@@ -85,127 +92,114 @@ registry you are adding.
8592

8693
<Tabs groupId="registry">
8794

88-
<TabItem value="no-authentication" label="No Authentication">
95+
<TabItem value="basic" label="Basic">
8996

9097
1. Log in to [Palette](https://console.spectrocloud.com) as a Tenant administrator.
9198

9299
2. From the left main menu, select **Tenant Settings**.
93100

94101
3. From the **Tenant Settings Menu**, select **Registries**.
95102

96-
4. On the**OCI Registries** tab, select **Add New OCI Registry**.
103+
4. On the **OCI Registries** tab, select **Add New OCI Registry**.
97104

98-
5. Enter the **Name** of the registry. For **Provider** type, select **Helm**.
105+
5. Enter the **Name** of the registry. For the **Provider** type, select **Helm**.
99106

100107
6. For **OCI Authentication Type**, select **Basic**.
101108

102-
7. Toggle the **Synchronization** option to enable or disable synchronization for the registry. To learn more about the
103-
synchronization behavior of Helm registries, refer to the [Helm Registry](../helm-charts.md#synchronization-behavior)
104-
resource.
109+
7. Toggle the **Synchronization** option to enable or disable synchronization for the registry. For more information,
110+
refer to the [Helm Registry - Synchronization Behavior](../helm-charts.md#synchronization-behavior) section.
105111

106112
8. Provide the registry URL in the **Endpoint** field.
107113

108-
9. For **Base Content Path**, enter the base path to the repository in the registry where the Helm Charts are stored.
109-
You can specify multiple base paths by pressing the **ENTER** key after each path. Providing multiple base paths is
110-
useful when Helm Charts are stored in different directories or projects, such as multiple projects in a Harbor
111-
registry.
114+
9. If **Synchronization** is enabled, in the **Base Content Path** field, enter the base path to the repository in the
115+
registry where the Helm charts are stored. You can specify multiple base paths by pressing the **ENTER** key after
116+
each path. Providing multiple base paths is useful when Helm charts are stored in different directories or projects.
112117

113-
10. Leave the **Username** and **Password** fields empty.
118+
10. Fill out the **Username** and **Password** fields with the credentials to access the registry. If the registry does
119+
not require authentication, leave the **Username** and **Password** fields empty.
114120

115-
11. If your OCI registry server is using a self-signed certificate or if the server certificate is not signed by a
116-
trusted CA, check the **Insecure Skip TLS Verify** box to skip verifying the x509 certificate, and click **Upload
117-
file** to upload the certificate.
121+
11. If your OCI registry server is using a self-signed certificate, select **Upload file** to upload the certificate. If
122+
the server certificate is not signed by a trusted CA, select **Insecure Skip TLS Verify** to skip verifying the x509
123+
certificate.
118124

119-
12. Click **Confirm** to add the registry.
125+
12. Select **Confirm** to add the registry.
120126

121127
</TabItem>
122128

123-
<TabItem value="basic" label="Basic">
124-
125-
1. Log in to the [Palette](https://console.spectrocloud.com) as a Tenant administrator.
126-
127-
2. From the left **Main Menu** select **Tenant Settings**.
128-
129-
3. From the **Tenant Settings Menu**, Select **Registries**.
130-
131-
4. Click on the **OCI Registries** tab.
132-
133-
5. Click **Add New OCI Registry**.
129+
<TabItem value="aws" label="Amazon ECR">
134130

135-
6. Fill out the **Name** field and select **Helm** as the provider type.
131+
1. Log in to [Palette](https://console.spectrocloud.com) as a Tenant administrator.
136132

137-
7. Select the **OCI Authentication Type** as **Basic**.
133+
2. From the left main menu, select **Tenant Settings**.
138134

139-
8. Toggle the **Synchronization** option to enable or disable synchronization for the registry. To learn more about the
140-
synchronization behavior of Helm registries, refer to the [Helm Registry](../helm-charts.md#synchronization-behavior)
141-
resource.
135+
3. From the **Tenant Settings Menu**, select **Registries**.
142136

143-
9. Provide the registry URL in the **Endpoint** field.
137+
4. On the **OCI Registries** tab, select **Add New OCI Registry**.
144138

145-
10. Specify the base path in the **Base Content Path** field. The base path is the path to the repository in the
146-
registry where the Helm Charts are stored. You can specify multiple base paths by pressing the Enter key after each
147-
path. Providing multiple base paths is useful when Helm Charts are stored in different directories or projects, such
148-
as multiple projects in a Harbor registry.
139+
5. Enter the **Name** of the registry. For the **Provider** type, select **Helm**.
149140

150-
11. Fill out the **Username** and **Password** fields with the credentials to access the registry.
141+
6. For **OCI Authentication Type**, select **ECR**.
151142

152-
12. If your OCI registry server is using a self-signed certificate or if the server certificate is not signed by a
153-
trusted CA, check the **Insecure Skip TLS Verify** box to skip verifying the x509 certificate, and click **Upload
154-
file** to upload the certificate.
143+
7. Toggle the **Synchronization** option to enable or disable synchronization for the registry. For more information,
144+
refer to the [Helm Registry - Synchronization Behavior](../helm-charts.md#synchronization-behavior) section.
155145

156-
13. Click **Confirm** to complete adding the registry.
146+
8. Provide the registry URL in the **Endpoint** field. Exclude the `https://` prefix.
157147

158-
</TabItem>
148+
9. If **Synchronization** is enabled, in the **Base Content Path** field, enter the base path to the repository in the
149+
registry where the Helm charts are stored. You can specify multiple base paths by pressing the **ENTER** key after
150+
each path. Providing multiple base paths is useful when Helm charts are stored in different directories or projects.
159151

160-
<TabItem value="aws" label="Amazon ECR">
152+
10. If you are using a private ECR, toggle the **Enable Authentication** option to expose the **AWS authentication
153+
method** fields. Choose **Credentials** if you want to provide the static AWS credentials for an IAM user. Choose
154+
**STS** if you want Palette to assume an IAM role that has access to the ECR through the Security Token Service
155+
(STS). Refer to the table below to learn more about each credential type.
161156

162-
1. Log in to the [Palette](https://console.spectrocloud.com) as a Tenant administrator.
157+
| **Authentication Method** | **Field** | **Description** |
158+
| ------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
159+
| **Credentials** | **Access key** | The access key ID of the IAM user. |
160+
| **Credentials** | **Secret access key** | The secret access key of the IAM user. |
161+
| **STS** | **ARN** | The Amazon Resource Name (ARN) of the IAM role to assume. Refer to the instructions exposed in the side-drawer to the right of the input field to review the IAM trust relationship changes you must add to your IAM role. |
163162

164-
2. From the left **Main Menu** select **Tenant Settings**.
163+
:::warning
165164

166-
3. From the **Tenant Settings Menu**, Select **Registries**.
165+
If you selected **STS** as the authentication method, you must add a trust relationship to the IAM role you are
166+
using to access the ECR. Refer to the instructions exposed in the side-drawer to the right of the input field to
167+
review the IAM trust relationship changes you must add to your IAM role. Failure to add the trust relationship will
168+
result in an error when you attempt to validate the registry.
167169

168-
4. Click on the **OCI Registries** tab.
170+
:::
169171

170-
5. Click **Add New OCI Registry**.
172+
11. Keep the default **TLS Configuration** settings.
171173

172-
6. Fill out the **Name** field and select **Helm** as the provider type.
174+
12. Select **Confirm** to add the registry.
173175

174-
7. Select the **OCI Authentication Type** as **ECR**.
176+
</TabItem>
175177

176-
8. Provide the registry URL in the **Endpoint** field. Exclude the `https://` prefix.
178+
<TabItem value="GHCR" label="GHCR">
177179

178-
9. If you are using a private ECR, toggle the **Enable Authentication** option to expose the authentication fields.
180+
1. Log in to [Palette](https://console.spectrocloud.com) as a Tenant administrator.
179181

180-
10. Select the **AWS Authentication Method**. Choose **Credentials** if you want to provide the static AWS credentials
181-
for an IAM user. Choose **STS** if you want Palette to assume an IAM role that has access to the ECR through the
182-
Security Token Service (STS). Refer to the table below to learn more about each credential type.
182+
2. From the left main menu, select **Tenant Settings**.
183183

184-
#### Credentials
184+
3. From the **Tenant Settings Menu**, select **Registries**.
185185

186-
| **Field** | **Description** |
187-
| --- | --- |
188-
| Access Key | The access key ID of the IAM user. |
189-
| Secret access key | The secret access key of the IAM user. |
186+
4. On the **OCI Registries** tab, select **Add New OCI Registry**.
190187

191-
#### STS
188+
5. Enter the **Name** of the registry. For the **Provider** type, select **Helm**.
192189

193-
| **Field** | **Description** |
194-
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
195-
| ARN | The Amazon Resource Name (ARN) of the IAM role to assume. Refer to the instructions exposed in the side-drawer to the right of the input field to review the IAM trust relationship changes you must add to your IAM role. |
190+
6. For **OCI Authentication Type**, select **Basic**.
196191

197-
<br />
192+
7. Ensure **Synchronization** is disabled. For more information, refer to the
193+
[Helm Registry - Synchronization Behavior](../helm-charts.md#synchronization-behavior) section.
198194

199-
:::warning
195+
8. Enter the Helm chart endpoint, omitting the `oci://` scheme and ending with `/charts`. For example, for the endpoint
196+
`oci://ghcr.io/controlplaneio-fluxcd/charts/flux-operator`, enter `ghcr.io/controlplaneio-fluxcd/charts`.
200197

201-
If you selected **STS** as the authentication method, you must add a trust relationship to the IAM role you are using to
202-
access the ECR. Refer to the instructions exposed in the side-drawer to the right of the input field to review the IAM
203-
trust relationship changes you must add to your IAM role. Failure to add the trust relationship will result in an error
204-
when you attempt to validate the registry.
198+
9. Leave the **Username** and **Password** fields empty.
205199

206-
:::
200+
10. Keep the default **TLS Configuration** settings.
207201

208-
11. Click **Confirm** to complete adding the registry.
202+
11. Select **Confirm** to add the registry.
209203

210204
</TabItem>
211205

@@ -217,12 +211,21 @@ Use the following steps to validate that the OCI registry is added to Palette co
217211

218212
1. Log in to the [Palette](https://console.spectrocloud.com).
219213

220-
2. From the left **Main Menu**, click on **Profiles**.
214+
2. From the left main menu, select **Profiles**.
221215

222216
3. Click **Add Cluster Profile**.
223217

224-
4. Provide a name and select the type **Add-on**.
218+
4. Enter a unique **Name** for the cluster profile and choose the type **Add-on**. Select **Next**.
219+
220+
5. On the **Profile Layers** screen, select **Add Helm Chart > Public Packs**. For GHCR, select **Private Packs**.
221+
222+
6. Verify the Helm chart registry you added is displayed in the **Registry** drop-down menu.
225223

226-
5. In the following screen, click **Add Helm Chart** and select **Public Packs**.
224+
## Next Steps
227225

228-
6. Verify the Helm Chart registry you added is displayed in the **Registry drop-down Menu**.
226+
Once your registry is added, you can add Helm charts from these registries to
227+
[full](../../../profiles/cluster-profiles/create-cluster-profiles/create-full-profile.md) or
228+
[add-on cluster profiles](../../../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-addon-profile.md).
229+
Refer to our
230+
[Add a Helm Chart](../../../profiles/cluster-profiles/create-cluster-profiles/create-addon-profile/create-helm-addon.md)
231+
guide for more information.

docs/docs-content/registries-and-packs/registries/oci-registry/oci-registry.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ The following table describes the types of OCI registries that are supported.
2727

2828
## Limitations
2929

30-
- Automatic synchronization is not supported for Zarf registries.
30+
- GitHub Container Registry (GHCR) is not officially supported at this time. To add a Helm chart from GHCR, you must
31+
create a separate OCI Helm registry in Palette for each chart. Refer to [Add OCI Helm Registry](./add-oci-helm.md) for
32+
more information.
3133

3234
- OCI Helm registries created before Palette version 4.5.0 do not support automatic synchronization. To enable automatic
3335
synchronization, re-register the OCI Helm registry.
3436

35-
<br />
36-
3737
To add an OCI registry to Palette, refer to the respective guide for the OCI-type registry located in the
3838
[Resources](#resources) section.
3939

@@ -53,4 +53,4 @@ system level scope, refer to the
5353

5454
- [Add OCI Packs Registry](./add-oci-packs.md)
5555

56-
- [Add OCI Zarf Registry](./oci-registry.md)
56+
- [Add OCI Zarf Registry](./add-oci-zarf.md)

0 commit comments

Comments
 (0)