Skip to content

Commit

Permalink
Merge pull request #2905 from replicatedhq/116048
Browse files Browse the repository at this point in the history
Clarify supported install types for using local image registries
  • Loading branch information
paigecalvert authored Jan 24, 2025
2 parents 909cbf1 + 12f3f9d commit d3a3905
Show file tree
Hide file tree
Showing 6 changed files with 39 additions and 24 deletions.
6 changes: 5 additions & 1 deletion docs/enterprise/image-registry-kurl.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ To keep the registry from running out of storage, images that are no longer used

For more information about the kURL Registry add-on, see [Registry Add-On](https://kurl.sh/docs/add-ons/registry) in the kURL documentation.

:::note
Users can also configure their own private registry for kURL installations instead of using the kURL registry. For more information, see [Configuring Local Image Registries](/enterprise/image-registry-settings).
:::

## Trigger Garbage Collection

Every time the application instance is upgraded, image garbage collection automatically deletes images that are no longer used.
Expand Down Expand Up @@ -62,6 +66,6 @@ The kURL registry image garbage collection feature has following limitations:

* **Shared Image Registries**: The image garbage collection process assumes that the registry is not shared with any other instances of Replicated KOTS, nor shared with any external applications. If the built-in kURL registry is used by another external application, disable garbage collection to prevent image loss.

* **Customer Supplied Registries**: Image garbage collection is supported only when used with the built-in kURL registry. If the KOTS instance is configured to use a different registry, disable garbage collection to prevent image loss.
* **Customer-Supplied Registries**: Image garbage collection is supported only when used with the built-in kURL registry. If the KOTS instance is configured to use a different registry, disable garbage collection to prevent image loss. For more information about configuring an image registry in the Admin Console, see [Configuring Local Image Registries](/enterprise/image-registry-settings).

* **Application Rollbacks**: Image garbage collection has no effect when the `allowRollback` field in the KOTS Application custom resource is set to `true`. For more information, see [Application](/reference/custom-resource-application) in _KOTS Custom Resources_.
47 changes: 29 additions & 18 deletions docs/enterprise/image-registry-settings.mdx
Original file line number Diff line number Diff line change
@@ -1,50 +1,53 @@
import ImageRegistrySettings from "../partials/image-registry/_image-registry-settings.mdx"
import DockerCompatibility from "../partials/image-registry/_docker-compatibility.mdx"

# Using Private Registries
# Configuring Local Image Registries

This topic describes how to configure private registry settings in the Replicated KOTS Admin Console.

## About Private Registries
The information in this topic applies to existing cluster installations with KOTS and installations with Replicated kURL. This topic does _not_ apply to Replciated Embedded Cluster installations.

Using a private registry lets you create a custom image pipeline. Any proprietary configurations that you make to the application are shared only with the groups that you allow access, such as your team or organization. You also have control over the storage location, logging messages, load balancing requests, and other configuration options.
## Overview

Private registries can be used with online or air gap clusters. For kURL clusters, if the Replicated kURL installer spec includes the kURL Registry add-on, then the built-in kURL registry is used to host the application images. For more information, see [Working with the kURL Image Registry](image-registry-kurl).
Using a private registry lets you create a custom image pipeline. Any proprietary configurations that you make to the application are shared only with the groups that you allow access, such as your team or organization. You also have control over the storage location, logging messages, load balancing requests, and other configuration options. Private registries can be used with online or air gap clusters.

## Prerequisites
## Requirement

Your domain must support a Docker V2 protocol. For more information, see [Compatible Image Registries](installing-general-requirements#registries) in _KOTS Installation Requirements_.
The domain of the image registry must support a Docker V2 protocol. KOTS has been tested for compatibility with the following registries:

## Configure Private Registries in Online Clusters
<DockerCompatibility/>

You configure the application to use a private registry in the Admin Console, unless you are using a kURL Registry add-on. You can also disable the connection or remove the registry settings if needed.
## Configure Local Private Registries in Online Clusters

For information about changing registry settings in an air gap environment, see [Change Private Registries in Air Gap Clusters](#air-gap).
In online (internet-connected) installations, you can optionally use a local private image registry. You can also disable the connection or remove the registry settings if needed.

To configure private registry settings in an online cluster:

1. On the Registry Settings tab in the Admin Console, edit the fields:
1. In the Admin Console, on the **Registry settings** tab, edit the fields:

<img src="/images/registry-settings.png" alt="Registry Settings" width="400"></img>

[View a larger version of this image](/images/registry-settings.png)

The following table describes the fields:

<ImageRegistrySettings/>

1. Click **Test Connection** to test the connection between Replicated KOTS and the private registry host.
1. Click **Test Connection** to test the connection between KOTS and the registry host.

1. Click **Save changes**.

1. (Optional) Click **Stop using registry** if you want to remove the registry settings from KOTS.

## Change Private Registries in Air Gap Clusters {#air-gap}

During air gap installations, you configure a private registry where KOTS pushes images. You can change the private registry settings at any time in the Admin Console.
You can change the private registry settings at any time in the Admin Console.

To change private registry settings in an air gap cluster:

1. On the Registry Settings tab in the Admin Console, select the **Disable Pushing Images to Private Registry** checkbox, and click **Save changes**.
1. In the Admin Console, on the **Registry settings** tab, select the **Disable Pushing Images to Private Registry** checkbox. Click **Save changes**.

This is a temporary action that allows you to edit the registry namespace and hostname. If you only want to change the username or password, you do not have to disable pushing the images.
:::note
This is a temporary action that allows you to edit the registry namespace and hostname. If you only want to change the username or password for the registry, you do not have to disable pushing the images.
:::

1. Edit the fields as needed, and click **Save changes**.

Expand All @@ -71,8 +74,16 @@ To change private registry settings in an air gap cluster:
</tr>
</table>

1. Deselect the **Disable Pushing Images to Private Registry** checkbox. This action re-enables KOTS to push images to your registry.
1. Deselect the **Disable Pushing Images to Private Registry** checkbox. This action re-enables KOTS to push images to the registry.

1. Click **Test Connection** to test the connection between KOTS and the private registry host.

1. Click **Save changes**.
1. Click **Save changes**.

## Stop Using a Registry and Remove Registry Settings

To stop using a registry and remove registry settings from the Admin Console:

1. Log in to the Admin Console and go to **Registry Settings**.

1. Click **Stop using registry** to remove the registry settings from the Admin Console.
4 changes: 2 additions & 2 deletions docs/enterprise/installing-general-requirements.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,9 @@ After manually creating these RBAC resources, the user must include both the `--

## Compatible Image Registries {#registries}

A private image registry is required for air gap installations with KOTS in existing clusters. You provide the credentials for a compatible private registry during installation. You can also optionally configure a local private image registry for use with KOTS installations in online (internet-connected) environments.
A private image registry is required for air gap installations with KOTS in existing clusters. You provide the credentials for a compatible private registry during installation. You can also optionally configure a local private image registry for use with installations in online (internet-connected) environments.

Private registry settings can be changed at any time. For more information, see [Using Private Registries](image-registry-settings).
Private registry settings can be changed at any time. For more information, see [Configuring Local Image Registries](image-registry-settings).

KOTS has been tested for compatibility with the following registries:

Expand Down
2 changes: 1 addition & 1 deletion docs/reference/custom-resource-helmchart-v2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ The `builder` key is required for the following use cases:

* To support online installations that use a local private registry, the `builder` field renders the Helm chart with all of the necessary images so that KOTS knows where to pull the images.

You cannot prevent customers from configuring a local private registry in KOTS. If you think any of your customers will use a local private registry, you should use the `builder` key. For more information, see [Using Private Registries](/enterprise/image-registry-settings).
You cannot prevent customers from configuring a local private registry in the Admin Console. If you think any of your customers will use a local private registry, you should use the `builder` key. For more information, see [Configuring Local Image Registries](/enterprise/image-registry-settings).

<HelmBuilderRequirements/>

Expand Down
2 changes: 1 addition & 1 deletion docs/vendor/helm-native-v2-using.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ spec:

## Task 4: Support the Use of Local Image Registries {#local-registries}

Local image registries are required for KOTS installations in air-gapped environments with no outbound internet connection. Also, users in online environments can optionally use a local registry. For more information about how users configure a local image registry with KOTS, see [Using Private Registries](/enterprise/image-registry-settings).
Local image registries are required for KOTS installations in air-gapped environments with no outbound internet connection. Also, users in online environments can optionally use a local registry. For more information about how users configure a local image registry with KOTS, see [Configuring Local Image Registries](/enterprise/image-registry-settings).

To support the use of local registries, configure the `builder` key. For more information about how to configure the `builder` key, see [`builder`](/reference/custom-resource-helmchart-v2#builder) in _HelmChart v2_.

Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,7 @@ const sidebars = {
},
{
type: 'category',
label: 'Configuring Local Image Registries for KOTS Installations',
label: 'Configuring Local Image Registries',
items: [
'enterprise/image-registry-settings',
'enterprise/image-registry-rate-limits',
Expand Down

0 comments on commit d3a3905

Please sign in to comment.