Skip to content

Commit c5e62d3

Browse files
authored
Merge pull request #2791 from replicatedhq/florianhines/sc-114300/download-portal-should-allow-enterprises
Add Harbor/Artificatory documentation to Helm Air Gap docs
2 parents cbfec51 + 54475d2 commit c5e62d3

File tree

3 files changed

+78
-1
lines changed

3 files changed

+78
-1
lines changed

docs/vendor/helm-install-airgap.mdx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ To install with Helm in an air gap environment:
7272
Replicated recommends that vendors provide detailed documentation that describes the values that customers need to configure.
7373
:::
7474

75-
1. Finally, use the commands provided and the edited `values.yaml` to run preflight checks and install the release with Helm.
75+
1. Use the commands provided and the edited `values.yaml` to run preflight checks and install the release with Helm.
7676

7777
## Perform Updates
7878

@@ -101,3 +101,7 @@ After logging into the registry, the customer exports their current version and
101101
With the list of images the provided `bash` script will automate the process of pulling updated images from the repository, tagging them with a name for an internal registry, and then pushing the newly tagged images to their internal registry.
102102

103103
Unless the customer has set up the `values` to preserve the updated tag (for example, by using the `latest` tag), they need to edit the `values.yaml` to reference the new image tags. After doing so, they can log in to the OCI registry and perform the commands to install the updated chart.
104+
105+
## Use a Harbor or Artifactory Registry Proxy
106+
107+
You can integrate the Replicated proxy registry with an existing Harbor or jFrog Artifactory instance to proxy and cache images on demand. For more information, see [Using a Registry Proxy for Helm Air Gap Installations (Alpha)](using-third-party-registry-proxy).
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Using a Registry Proxy for Helm Air Gap Installations (Alpha)
2+
3+
This topic describes how to connect the Replicated proxy registry to a Harbor or jFrog Artifactory instance to support pull-through image caching. It also includes information about how to set up replication rules in Harbor for image mirroring.
4+
5+
## Overview
6+
7+
For applications distributed with Replicated, the [Replicated proxy registry](/vendor/private-images-about) grants proxy, or _pull-through_, access to application images without exposing registry credentials to customers.
8+
9+
Users can optionally connect the Replicated proxy registry with their own [Harbor](https://goharbor.io) or [jFrog Artifactory](https://jfrog.com/help/r/jfrog-artifactory-documentation) instance to proxy and cache the images that are required for installation on demand. This can be particularly helpful in Helm installations in air-gapped environments because it allows users to pull and cache images from an internet-connected machine, then access the cached images during installation from a machine with limited or no outbound internet access.
10+
11+
In addition to the support for on-demand pull-through caching, connecting the Replicated proxy registry to a Harbor or Artifactory instance also has the following benefits:
12+
* Registries like Harbor or Artifactory typically support access controls as well as scanning images for security vulnerabilities
13+
* With Harbor, users can optionally set up replication rules for image mirroring, which can be used to improve data availability and reliability
14+
15+
## Limtiation
16+
17+
Artifactory does not support mirroring or replication for Docker registries. If you need to set up image mirroring, use Harbor. See [Set Up Mirroring in Harbor](#harbor-mirror) below.
18+
19+
## Connect the Replicated Proxy Registry to Harbor
20+
21+
[Harbor](https://goharbor.io) is a popular open-source container registry. Users can connect the Replicated proxy registry to Harbor in order to cache images on demand and set up pull-based replication rules to proactively mirror images. Connecting the Replicated proxy registry to Harbor also allows customers use Harbor's security features.
22+
23+
### Use Harbor for Pull-Through Proxy Caching {#harbor-proxy-cache}
24+
25+
To connect the Replicated proxy registry to Harbor for pull-through proxy caching:
26+
27+
1. Log in to Harbor and create a new replication endpoint. This endpoint connects the Replicated proxy registry to the Harbor instance. For more information, see [Creating Replication Endpoints](https://goharbor.io/docs/2.11.0/administration/configuring-replication/create-replication-endpoints/) in the Harbor documentation.
28+
29+
1. Enter the following details for the endpoint:
30+
31+
* For the provider field, choose Docker Registry.
32+
* For the URL field, enter `https://proxy.replicated.com` or the custom domain that is configured for the Replicated proxy registry. For more information about configuring custom domains in the Vendor Portal, see [Using Custom Domains](/vendor/custom-domains-using).
33+
* For the access ID, enter the email address associated with the customer in the Vendor Portal.
34+
* For the access secret, enter the customer's unique license ID. You can find the license ID in the Vendor Portal by going to **Customers > [Customer Name]**.
35+
36+
1. Verify your configuration by testing the connection and then save the endpoint.
37+
38+
1. After adding the Replicated proxy registry as a replication endpoint in Harbor, set up a proxy cache. This allows for pull-through image caching with Harbor. For more information, see [Configure Proxy Cache](https://goharbor.io/docs/2.11.0/administration/configure-proxy-cache/) in the Harbor documentation.
39+
40+
1. (Optional) Add a pull-based replication rule to support image mirroring. See [Configure Image Mirroring in Harbor](#harbor-mirror) below.
41+
42+
### Configure Image Mirroring in Harbor {#harbor-mirror}
43+
44+
To enable image mirroring with Harbor, users create a pull-based replication rule. This periodically (or when manually triggered) pulls images from the Replicated proxy registry to store them in Harbor.
45+
46+
The Replicated proxy regsitry exposes standard catalog and tag listing endpoints that are used by Harbor to support image mirroring:
47+
* The catalog endpoint returns a list of repositories built from images of the last 10 releases.
48+
* The tags listing endpoint lists the tags available in a given repository for those same releases.
49+
50+
When image mirroring is enabled, Harbor uses these endpoints to build a list of images to cache and then serve.
51+
52+
#### Limitations
53+
54+
Image mirroring with Harbor has the following limitations:
55+
56+
* Neither the catalog or tags listing endpoints exposed by the Replicated proxy service respect pagination requests. However, Harbor requests 1000 items at a time.
57+
58+
* Only authenticated users can perform catalog calls or list tags. Authenticated users are those with an email address and license ID associated with a customer in the Vendor Portal.
59+
60+
#### Create a Pull-Based Replication Rule in Harbor for Image Mirroring
61+
62+
To configure image mirroring in Harbor:
63+
64+
1. Follow the steps in [Use Harbor for Pull-Through Proxy Caching](#harbor-proxy-cache) above to add the Replicated proxy registry to Harbor as a replication endpoint.
65+
66+
1. Create a **pull-based** replication rule in Harbor to mirror images proactively. For more information, see [Creating a replication rule](https://goharbor.io/docs/2.11.0/administration/configuring-replication/create-replication-rules/) in the Harbor documentation.
67+
68+
## Use Artifactory for Pull-Through Proxy Caching
69+
70+
[jFrog Artifactory](https://jfrog.com/help/r/jfrog-artifactory-documentation) supports pull-through caching for Docker registries.
71+
72+
For information about how to configure a pull-through cache with Artifactory, see [Remote Repository](https://jfrog.com/help/r/jfrog-artifactory-documentation/configure-a-remote-repository) in the Artifactory documentation.

sidebars.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,7 @@ const sidebars = {
494494
'vendor/helm-install-overview',
495495
'vendor/install-with-helm',
496496
'vendor/helm-install-airgap',
497+
'vendor/using-third-party-registry-proxy',
497498
],
498499
},
499500
{

0 commit comments

Comments
 (0)