Skip to content

Commit fc02e3f

Browse files
authored
Merge pull request #2721 from replicatedhq/113400
Move air gap bundle info to the relevant install topics
2 parents 23dd1f9 + eaa623c commit fc02e3f

32 files changed

+229
-266
lines changed

docs/enterprise/installing-embedded-air-gap.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ To install with Embedded Cluster in an air gap environment:
4646
* If the **Automatically create airgap builds for newly promoted releases in this channel** setting is enabled on the channel, watch for the build status to complete.
4747
* If automatic air gap builds are not enabled, go to the **Release history** page for the channel and build the air gap bundle manually.
4848

49-
For more information, see [Downloading Air Gap Bundles](/vendor/releases-download-airgap-bundles#air-gap-bundle).
50-
5149
:::note
5250
Errors in building either the application air gap bundle or the Embedded Cluster infrastructure will be shown if present.
5351
:::

docs/enterprise/installing-existing-cluster-airgapped.mdx

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
import IntroExisting from "../partials/install/_intro-existing.mdx"
22
import IntroAirGap from "../partials/install/_intro-air-gap.mdx"
33
import PrereqsExistingCluster from "../partials/install/_prereqs-existing-cluster.mdx"
4-
import AirGapBundle from "../partials/install/_airgap-bundle-prereq.mdx"
4+
import BuildAirGapBundle from "../partials/install/_airgap-bundle-build.mdx"
5+
import DownloadAirGapBundle from "../partials/install/_airgap-bundle-download.mdx"
6+
import ViewAirGapBundle from "../partials/install/_airgap-bundle-view-contents.mdx"
57
import LicenseFile from "../partials/install/_license-file-prereq.mdx"
8+
import AirGapLicense from "../partials/install/_airgap-license-download.mdx"
69
import DownloadKotsBundle from "../partials/install/_download-kotsadm-bundle.mdx"
710
import InstallCommandPrompts from "../partials/install/_kots-install-prompts.mdx"
811
import AppNameUI from "../partials/install/_placeholder-app-name-UI.mdx"
@@ -17,16 +20,6 @@ import KotsVersionMatch from "../partials/install/_kots-airgap-version-match.mdx
1720

1821
<IntroAirGap/>
1922

20-
## About Private Registries
21-
22-
Air gapped networks must have a Docker image registry that is available inside the network. KOTS rewrites the application image names in all application manifests to read from the on-premises registry, and it re-tags and pushes the images to the on-premises registry. When authenticating to the registry, credentials with `push` permissions are required.
23-
24-
A single application expects to use a single namespace in the Docker image registry. The namespace name can be any valid URL-safe string, supplied at installation time. A registry typically expects the namespace to exist before any images can be pushed into it.
25-
26-
:::note
27-
ECR does not use namespaces.
28-
:::
29-
3023
## Prerequisites
3124

3225
Complete the following prerequisites:
@@ -35,15 +28,31 @@ Complete the following prerequisites:
3528

3629
* Ensure that there is a compatible Docker image registry available inside the network. For more information about Docker registry compatibility, see [Private Registry Requirements](/enterprise/installing-general-requirements#private-registry-requirements).
3730

38-
<AirGapBundle/>
31+
KOTS rewrites the application image names in all application manifests to read from the on-premises registry, and it re-tags and pushes the images to the on-premises registry. When authenticating to the registry, credentials with `push` permissions are required.
3932

40-
<LicenseFile/>
33+
A single application expects to use a single namespace in the Docker image registry. The namespace name can be any valid URL-safe string, supplied at installation time. A registry typically expects the namespace to exist before any images can be pushed into it.
4134

42-
* <DownloadKotsBundle/>
35+
:::note
36+
Amazon Elastic Container Registry (ECR) does not use namespaces.
37+
:::
4338

4439
## Install {#air-gap}
4540

46-
To install KOTS and an application in an air gap existing cluster:
41+
To install in an air gap cluster with KOTS:
42+
43+
1. Download the customer license:
44+
45+
<AirGapLicense/>
46+
47+
1. Go the channel where the target release was promoted to build and download the air gap bundle for the release:
48+
49+
<BuildAirGapBundle/>
50+
51+
1. <DownloadAirGapBundle/>
52+
53+
1. <ViewAirGapBundle/>
54+
55+
1. <DownloadKotsBundle/>
4756

4857
1. <InstallKotsCliAirGap/>
4958

docs/enterprise/installing-existing-cluster-automation.mdx

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,27 +45,25 @@ For a tutorial that demonstrates how to install a sample application using the K
4545

4646
## Limitation
4747

48-
Replicated Embedded Cluster does not support headless installations with the KOTS CLI.
48+
[Replicated Embedded Cluster](/vendor/embedded-overview) does not support automated, or _headless_, installations with the KOTS CLI.
4949

5050
## Prerequisite
5151

52-
Create a ConfigValues file to define the configuration settings for the application. For air gap environments, ensure that you can access the ConfigValues file that you create from your installation environment.
52+
Create a ConfigValues YAML file to define the configuration settings for the application. For air gap environments, ensure that you can access the ConfigValues file that you create from your installation environment.
53+
54+
A ConfigValues file includes the names of the configuration fields for the application along with a user-supplied `value` for each field. The ConfigValues file is specific to the application. For more information, see [Generating a ConfigValues File](/vendor/releases-configvalues).
5355

5456
**Example:**
5557

5658
<ConfigValuesExample/>
57-
58-
As shown in the example above, the ConfigValues file includes the names of the configuration fields for the application along with a user-supplied `value` for each field.
59-
60-
The ConfigValues file is specific to the application. For more information, see [Sharing a ConfigValues File](/vendor/releases-configvalues).
6159

6260
## Install
6361

6462
This section provides the steps for installing an application with the KOTS CLI in different types of environments.
6563

6664
### Existing Cluster
6765

68-
To install in an existing cluster:
66+
To install with KOTS in an existing cluster:
6967

7068
1. <InstallKotsCli/>
7169

@@ -114,13 +112,11 @@ To install with kURL on a VM or bare metal server:
114112

115113
<PlaceholderNamespaceEmbedded/>
116114

117-
### Air Gap Existing Cluster
115+
### Air Gap Existing Cluster
118116

119-
Air gap installations in existing clusters require the application `.airgap` bundle and the KOTS Admin Console `kotsadm.tar.gz` air gap bundle. Additionally, images for the application and the KOTS Admin Console must be pushed to a local private registry. For more information about downloading the necessary air gap bundles, see [Downloading Air Gap Bundles](/vendor/releases-download-airgap-bundles).
117+
To install with KOTS in an air gap existing cluster:
120118

121-
To install in an air gap existing cluster:
122-
123-
1. Install the KOTS CLI. See [Manually Download and Install](/reference/kots-cli-getting-started#manually-download-and-install) in _Installing the KOTS CLI_.
119+
1. <InstallKotsCliAirGap/>
124120

125121
1. <DownloadKotsBundle/>
126122

@@ -157,16 +153,12 @@ To install in an air gap existing cluster:
157153

158154
<IntroEmbedded/>
159155

160-
Air gap installations with kURL require the application `.airgap` bundle and the kURL `.tar.gz` air gap bundle. For more information about downloading the necessary air gap bundles, see [Downloading Air Gap Bundles](/vendor/releases-download-airgap-bundles).
161-
162156
To install in an air gap kURL cluster on a VM or bare metal server:
163157

164158
1. Download the kURL `.tar.gz` air gap bundle:
165159

166160
<DownloadkURLBundle/>
167161

168-
For more information, see [Download the kURL Bundle](/vendor/releases-download-airgap-bundles#installer-bundle) in _Downloading Air Gap Bundles_.
169-
170162
1. <ExtractKurlBundle/>
171163

172164
1. Create the kURL cluster:

docs/enterprise/installing-existing-cluster.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import IntroExisting from "../partials/install/_intro-existing.mdx"
22
import PrereqsExistingCluster from "../partials/install/_prereqs-existing-cluster.mdx"
3-
import AirGapBundle from "../partials/install/_airgap-bundle-prereq.mdx"
43
import LicenseFile from "../partials/install/_license-file-prereq.mdx"
54
import InstallCommandPrompts from "../partials/install/_kots-install-prompts.mdx"
65
import AppNameUI from "../partials/install/_placeholder-app-name-UI.mdx"

docs/enterprise/installing-kurl-airgap.mdx

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ import IntroEmbedded from "../partials/install/_intro-embedded.mdx"
33
import IntroAirGap from "../partials/install/_intro-air-gap.mdx"
44
import PrereqsEmbeddedCluster from "../partials/install/_prereqs-embedded-cluster.mdx"
55
import HaLoadBalancerPrereq from "../partials/install/_ha-load-balancer-prereq.mdx"
6-
import AirGapBundle from "../partials/install/_airgap-bundle-prereq.mdx"
6+
import AirGapLicense from "../partials/install/_airgap-license-download.mdx"
7+
import BuildAirGapBundle from "../partials/install/_airgap-bundle-build.mdx"
8+
import DownloadAirGapBundle from "../partials/install/_airgap-bundle-download.mdx"
9+
import ViewAirGapBundle from "../partials/install/_airgap-bundle-view-contents.mdx"
710
import LicenseFile from "../partials/install/_license-file-prereq.mdx"
811
import HAStep from "../partials/install/_embedded-ha-step.mdx"
912
import LoginPassword from "../partials/install/_embedded-login-password.mdx"
13+
import DownloadKurlBundle from "../partials/install/_download-kurl-bundle.mdx"
1014
import ExtractKurlBundle from "../partials/install/_extract-kurl-bundle.mdx"
1115

1216
# Air Gap Installation with kURL
@@ -23,21 +27,42 @@ Complete the following prerequisites:
2327

2428
<PrereqsEmbeddedCluster/>
2529

26-
<AirGapBundle/>
27-
28-
<LicenseFile/>
29-
30-
* Download the `.tar.gz` air gap bundle for the kURL installer. Ensure that you can access the downloaded bundle from the environment where you will install the application. See [Download the kURL Bundle](/vendor/releases-download-airgap-bundles#installer-bundle) in _Downloading Air Gap Bundles_.
31-
3230
<HaLoadBalancerPrereq/>
3331

3432
## Install {#air-gap}
3533

3634
To install an application with kURL:
3735

36+
1. Download the customer license:
37+
38+
<AirGapLicense/>
39+
40+
1. Go the channel where the target release was promoted to build and download the air gap bundle for the release:
41+
42+
<BuildAirGapBundle/>
43+
44+
1. <DownloadAirGapBundle/>
45+
46+
1. <ViewAirGapBundle/>
47+
48+
1. Download the `.tar.gz` air gap bundle for the kURL installer, which includes the components needed to run the kURL cluster and install the application with KOTS. kURL air gap bundles can be downloaded from the channel where the given release is promoted:
49+
50+
* To download the kURL air gap bundle for the Stable channel:
51+
52+
<DownloadKurlBundle/>
53+
54+
* To download the kURL bundle for channels other than Stable:
55+
56+
```bash
57+
replicated channel inspect CHANNEL
58+
```
59+
Replace `CHANNEL` with the exact name of the target channel, which can include uppercase letters or special characters, such as `Unstable` or `my-custom-channel`.
60+
61+
In the output of this command, copy the curl command with the air gap URL.
62+
3863
1. <ExtractKurlBundle/>
3964

40-
1. Run one of the following commands to create the cluster and install KOTS in air gap mode:
65+
1. Run one of the following commands to install in air gap mode:
4166

4267
- For a regular installation, run:
4368

@@ -68,7 +93,7 @@ To install an application with kURL:
6893

6994
1. Upload your license file.
7095

71-
1. Upload the `.airgap` application air gap bundle.
96+
1. Upload the `.airgap` bundle for the release that you downloaded in an earlier step.
7297

7398
1. On the **Preflight checks** page, the application-specific preflight checks run automatically. Preflight checks are conformance tests that run against the target namespace and cluster to ensure that the environment meets the minimum requirements to support the application. Click **Deploy**.
7499

docs/enterprise/updating-app-manager.mdx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
import AdminConsole from "../partials/updating/_admin-console.mdx"
22
import AdminConsoleAirGap from "../partials/updating/_admin-console-air-gap.mdx"
33
import PushKotsImages from "../partials/install/_push-kotsadm-images.mdx"
4+
import BuildAirGapBundle from "../partials/install/_airgap-bundle-build.mdx"
5+
import DownloadAirGapBundle from "../partials/install/_airgap-bundle-download.mdx"
6+
import ViewAirGapBundle from "../partials/install/_airgap-bundle-view-contents.mdx"
47

58
# Performing Updates in Existing Clusters
69

@@ -43,7 +46,13 @@ Add the `--deploy` flag to automatically deploy this version.
4346

4447
To update an application in air gap environments:
4548

46-
1. Get the new `.airgap` bundle for the target application release and ensure that it is available on your local machine.
49+
1. In the [Vendor Portal](https://vendor.replicated.com), go the channel where the target release is promoted to build and download the new `.airgap` bundle:
50+
51+
<BuildAirGapBundle/>
52+
53+
1. <DownloadAirGapBundle/>
54+
55+
1. <ViewAirGapBundle/>
4756

4857
1. Run the following command to update the application:
4958

@@ -57,7 +66,7 @@ To update an application in air gap environments:
5766
```
5867
Replace:
5968
* `APP_SLUG` with the unique slug for the application. See [Get the Application Slug](/vendor/vendor-portal-manage-app#slug) in _Managing Applications_.
60-
* `NEW_AIRGAP_BUNDLE` with the `.airgap` bundle for the target application version. See [Download Air Gap Bundles from the Download Portal](/vendor/releases-download-airgap-bundles#download-portal).
69+
* `NEW_AIRGAP_BUNDLE` with the `.airgap` bundle for the target application version.
6170
* `REGISTRY_HOST` with the private registry that contains the Admin Console images.
6271
* `REGISTRY_NAMESPACE` with the registry namespace where the images are hosted (Optional).
6372
* `RO_USERNAME` and `RO_PASSWORD` with the username and password for an account that has read-only access to the private registry.
@@ -107,11 +116,9 @@ To update KOTS in an online existing cluster:
107116

108117
To update KOTS in an existing air gap cluster:
109118

110-
1. Download the target version of the following assets from the download portal or from the [Releases](https://github.com/replicatedhq/kots/releases/latest) page in the KOTS GitHub repository:
119+
1. Download the target version of the following assets from the [Releases](https://github.com/replicatedhq/kots/releases/latest) page in the KOTS GitHub repository:
111120
* KOTS Admin Console `kotsadm.tar.gz` bundle
112121
* KOTS CLI plugin
113-
114-
For more information, see [Download Air Gap Bundles from the Download Portal](/vendor/releases-download-airgap-bundles#download-portal).
115122

116123
Ensure that you can access the downloaded bundles from the environment where the Admin Console is running.
117124

docs/enterprise/updating-kurl.mdx

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import InstallerRequirements from "../partials/updating/_installerRequirements.m
22
import UpgradePrompt from "../partials/updating/_upgradePrompt.mdx"
33
import AdminConsole from "../partials/updating/_admin-console.mdx"
44
import AdminConsoleAirGap from "../partials/updating/_admin-console-air-gap.mdx"
5+
import DownloadKurlBundle from "../partials/install/_download-kurl-bundle.mdx"
56

67
# Performing Updates in kURL Clusters
78

@@ -62,14 +63,29 @@ To update the kURL cluster in an air gap environment:
6263

6364
1. Edit the kURL installer spec as desired. For example, update the version of Kubernetes or add, remove, or update add-ons. For more information, see [Creating a kURL Installer](/vendor/packaging-embedded-kubernetes).
6465

65-
1. On each node in the cluster, download the kURL `.tar.gz` air gap bundle for the updated spec. See [Download the kURL Bundle](/vendor/releases-download-airgap-bundles#installer-bundle) in _Downloading Air Gap Bundles_.
66+
1. Repeat the following steps on each node in the cluster to download and extract the kURL `.tar.gz` air gap bundle for the updated spec:
6667

67-
Then, extract the contents:
68+
1. Download the kURL `.tar.gz` air gap bundle from the channel where the new kURL installer spec is promoted:
6869

69-
```bash
70-
tar -xvzf FILENAME.tar.gz
71-
```
72-
Replace `FILENAME` with the name of the downloaded kURL `.tar.gz` air gap bundle.
70+
* To download the kURL air gap bundle for the Stable channel:
71+
72+
<DownloadKurlBundle/>
73+
74+
* To download the kURL bundle for channels other than Stable:
75+
76+
```bash
77+
replicated channel inspect CHANNEL
78+
```
79+
Replace `CHANNEL` with the exact name of the target channel, which can include uppercase letters or special characters, such as `Unstable` or `my-custom-channel`.
80+
81+
In the output of this command, copy the curl command with the air gap URL.
82+
83+
1. Extract the contents of the bundle:
84+
85+
```bash
86+
tar -xvzf FILENAME.tar.gz
87+
```
88+
Replace `FILENAME` with the name of the downloaded kURL `.tar.gz` air gap bundle.
7389

7490
1. Run the following KURL script to ensure all required images are available:
7591

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Air gap bundles (`.airgap`) contain the images needed to install and run a single release of your application in _air gap_ environments with no outbound internet access. For more information about how to build and download air gap bundles, see [Downloading Air Gap Bundles](/vendor/releases-download-airgap-bundles).
1+
Air gap bundles (`.airgap`) contain the images needed to install and run a single release of your application in _air gap_ environments with no outbound internet access.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
* If the **Automatically create airgap builds for newly promoted releases in this channel** setting is enabled on the channel, watch for the build status to complete.
2+
* If automatic air gap builds are not enabled, go to the **Release history** page for the channel and build the air gap bundle manually.
3+
4+
<img alt="Release history link on a channel card" src="/images/release-history-link.png" width="400px"/>
5+
6+
[View a larger version of this image](/images/release-history-link.png)
7+
8+
![Build button on the Release history page](/images/release-history-build-airgap-bundle.png)
9+
10+
[View a larger version of this image](/images/release-history-build-airgap-bundle.png)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
After the build completes, download the bundle. Ensure that you can access the downloaded bundle from the environment where you will install the application.

0 commit comments

Comments
 (0)