From 7be3ac4ff60fe1951ddfe6e32e47276d35a3d0f6 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 11:32:12 -0700 Subject: [PATCH 01/14] Add --config-values flag --- docs/reference/embedded-cluster-install.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/reference/embedded-cluster-install.mdx b/docs/reference/embedded-cluster-install.mdx index e3c08a8b7c..17fd6244a2 100644 --- a/docs/reference/embedded-cluster-install.mdx +++ b/docs/reference/embedded-cluster-install.mdx @@ -44,6 +44,13 @@ sudo ./APP_SLUG install --license LICENSE_FILE [flags]

The range of IP addresses that can be assigned to Pods and Services, in CIDR notation. **Default:** By default, the CIDR block is `10.244.0.0/16`.

+ + `--config-values` + +

Path to the ConfigValues file for the application. Use when automating installation with Emebdded Cluster. For more information about generating and downloading the ConfigValues file for an application, see [Generating a ConfigValues File](/vendor/releases-configvalues).

+

Requirement: Embedded Cluster 1.18.0 and later.

+ + `--data-dir` From 7437988cb517bdc7749dbc55af11104d7ee338a3 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 11:39:55 -0700 Subject: [PATCH 02/14] edits --- docs/reference/embedded-cluster-install.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/reference/embedded-cluster-install.mdx b/docs/reference/embedded-cluster-install.mdx index 17fd6244a2..b9b3802651 100644 --- a/docs/reference/embedded-cluster-install.mdx +++ b/docs/reference/embedded-cluster-install.mdx @@ -123,6 +123,12 @@ sudo ./APP_SLUG install --license LICENSE_FILE [flags] sudo ./myapp install --license license.yaml --airgap-bundle myapp.airgap ``` +### Automated Install + +```bash +sudo ./myapp install --license license.yaml --config-values configvalues.yaml +``` + ### Change the Admin Console and LAM Ports ```bash From 1423036aae54e0a921e3710e34b51c3052704e2e Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 12:21:35 -0700 Subject: [PATCH 03/14] edits --- ...installing-existing-cluster-automation.mdx | 102 ++++++++++++------ sidebars.js | 2 +- 2 files changed, 69 insertions(+), 35 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index 37cb379693..121d6d5312 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -15,53 +15,47 @@ import PlaceholderRoCreds from "../partials/install/_placeholder-ro-creds.mdx" # Installing with the CLI -This topic describes how to use the Replicated KOTS CLI to install an application. +This topic describes how to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL from the command line. ## Overview -You can use the KOTS CLI to install an application rather than using the KOTS Admin Console UI. In a CLI installation, you provide all the necessary artifacts to configure and install the application with the `kots install` command. For example, rather than uploading your license file in the Admin Console, you provide your license file with the `kots install` command using the `--license-file` flag. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. +You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as installing applications as part of CI/CD pipelines. -The following shows an example of the output from the `kots install` command: +In a CLI installation, you provide all the necessary assets, such as the license file or the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. -```bash -• Deploying Admin Console - • Creating namespace ✓ - • Waiting for datastore to be ready ✓ -• Waiting for Admin Console to be ready ✓ -• Waiting for installation to complete ✓ -• Waiting for preflight checks to complete ✓ - -• Press Ctrl+C to exit -• Go to http://localhost:8800 to access the Admin Console +## Prerequisite -• Go to http://localhost:8888 to access the application -``` +Create a ConfigValues YAML file to define the configuration settings for the application. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment. -One common use case for installing with the CLI is to automate installation, such as installing applications as part of CI/CD pipelines. CLI installations are supported for _online_ environments (with outbound internet access), _air gap_ environments (without outbound internet access), existing clusters, and clusters created with Replicated kURL on a VM or bare metal server. +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). -For more information about the advanced options for the `kots install` command, see [install](/reference/kots-cli-install) in the KOTS CLI documentation. +**Example:** -For a tutorial that demonstrates how to install a sample application using the KOTS CLI, see [Install with KOTS in an Existing Cluster](/vendor/tutorial-cli-setup). + + +## Install -## Limitation +### Embedded Cluster -[Replicated Embedded Cluster](/vendor/embedded-overview) does not support automated, or _headless_, installations with the KOTS CLI. +To install with Embedded Cluster in an online environment: -## Prerequisite +1. Download the Embedded Cluster installation assets for the target release: -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. +1. Untar the downloaded assets. -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). +1. Run the following command: -**Example:** + ```bash + sudo ./APP_SLUG install --license-file PATH_TO_LICENSE --config-values PATH_TO_CONFIGVALUES + ``` - - -## Install + Replace: + * `APP_SLUG` with the unique slug for the application. + * `LICENSE_FILE` with the customer license. + * `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file. See [Generating a ConfigValues File](/vendor/releases-configvalues). -This section provides the steps for installing an application with the KOTS CLI in different types of environments. -### Existing Cluster +### KOTS in an Existing Cluster To install with KOTS in an existing cluster: @@ -83,7 +77,23 @@ To install with KOTS in an existing cluster: -### kURL Cluster + The following shows an example of the output from the kots install command: + + ```bash + • Deploying Admin Console + • Creating namespace ✓ + • Waiting for datastore to be ready ✓ + • Waiting for Admin Console to be ready ✓ + • Waiting for installation to complete ✓ + • Waiting for preflight checks to complete ✓ + + • Press Ctrl+C to exit + • Go to http://localhost:8800 to access the Admin Console + + • Go to http://localhost:8888 to access the application + ``` + +### kURL @@ -112,9 +122,33 @@ To install with kURL on a VM or bare metal server: -### Air Gap Existing Cluster +## Install in an Air-Gapped Environment + +### Embedded Cluster + +To install with Embedded Cluster in an air-gapped environment: + +1. On a machine with internet access, run the curl command to download the air gap installation assets as a `.tgz`. + +1. Move the downloaded `.tgz` to the air-gapped machine where you will install. + +1. Run the following command: + + ```bash + sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \ + --config-values PATH_TO_CONFIGVALUES \ + --airgap-bundle PATH_TO_AIRGAP_BUNDLE + ``` + + Replace: + * `APP_SLUG` with the unique slug for the application. + * `LICENSE_FILE` with the customer license. + * `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file. See [Generating a ConfigValues File](/vendor/releases-configvalues). + * `PATH_TO_AIRGAP_BUNDLE` with the path to the Embedded Cluster `.airgap` bundle for the release. + +### KOTS in an Existing Cluster -To install with KOTS in an air gap existing cluster: +To install with KOTS in an air-gapped existing cluster: 1. @@ -149,11 +183,11 @@ To install with KOTS in an air gap existing cluster: -### Air Gap kURL Cluster +### kURL -To install in an air gap kURL cluster on a VM or bare metal server: +To install in an air-gapped kURL cluster: 1. Download the kURL `.tar.gz` air gap bundle: diff --git a/sidebars.js b/sidebars.js index 91e2d7718d..71d01ce30e 100644 --- a/sidebars.js +++ b/sidebars.js @@ -369,7 +369,7 @@ const sidebars = { }, { type: 'category', - label: 'Installing with the KOTS CLI', + label: 'Performing Headless Installations with the CLI', items: [ 'enterprise/installing-existing-cluster-automation', 'vendor/releases-configvalues', From 40e2e49abaec61411d23e1170e98ee44b0d5cdeb Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 13:02:12 -0700 Subject: [PATCH 04/14] edits --- .../installing-existing-cluster-automation.mdx | 4 ++-- docs/vendor/releases-configvalues.md | 14 +++++++++----- sidebars.js | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index 121d6d5312..7fe6984258 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -19,9 +19,9 @@ This topic describes how to install an application with Replicated KOTS, Replica ## Overview -You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as installing applications as part of CI/CD pipelines. +You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as performing headless installations as part of CI/CD pipelines. -In a CLI installation, you provide all the necessary assets, such as the license file or the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. +To install with the CLI, you provide all the necessary assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. ## Prerequisite diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 827a46f04c..6649f8abb8 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -8,16 +8,19 @@ import TextAreaExample from "../partials/configValues/_textareaExample.mdx" # Generating a ConfigValues File -This topic describes how to view the ConfigValues file for an application installed with Replicated KOTS and prepare the ConfigValues file to be shared with your users. +This topic describes how to generate the ConfigValues file for an application and prepare the ConfigValues file to be shared with your users. -## About ConfigValues Files +## Overview -A ConfigValues file defines the user-supplied configuration values for an application installed with KOTS. Enterprise users can provide a ConfigValues file to configure an application during automated installations with the KOTS CLI. During installation, KOTS reads the values in the ConfigValues file to configure the application. For more information about automated installations with the KOTS CLI, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). - -ConfigValues files include the configuration fields defined in the Config custom resource for the release, along with the user-supplied and default values for each field. The following is an example of a ConfigValues file: +The ConfigValues file defines the configuration values for an application. ConfigValues files include the configuration fields defined in the KOTS Config custom resource for the release, along with the user-supplied and default values for each field. The following is an example of a ConfigValues file: + +ConfigValues files allow you to pass the configuration values for an application during automated installations from the command line, rather than providing the configuartion values through the Admin Console UI. For example, + +For more information about performing automated installations from the command line, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). + ## Get the ConfigValues File When installing an application, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file. @@ -38,6 +41,7 @@ To get the ConfigValues file for an application: ::: The output of the `kots get config` command is the contents of the ConfigValues file. For more information about the `kots get config` command, including additional flags, see [kots get config](/reference/kots-cli-get-config). + ## Share a Sample ConfigValues File Replicated recommends that you share an example of an accurate ConfigValues file with your users that they can edit for use in automated installations with the KOTS CLI. diff --git a/sidebars.js b/sidebars.js index 71d01ce30e..27c26322c7 100644 --- a/sidebars.js +++ b/sidebars.js @@ -369,7 +369,7 @@ const sidebars = { }, { type: 'category', - label: 'Performing Headless Installations with the CLI', + label: 'Installing with the CLI', items: [ 'enterprise/installing-existing-cluster-automation', 'vendor/releases-configvalues', From 68f51ef4b6f1395ce63808bc4127c86153084956 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 14:01:23 -0700 Subject: [PATCH 05/14] edit steps for getting configvalues --- ...installing-existing-cluster-automation.mdx | 11 +++---- docs/vendor/releases-configvalues.md | 30 ++++++++++++++----- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index 7fe6984258..b7b45cf14c 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -39,19 +39,20 @@ A ConfigValues file includes the names of the configuration fields for the appli To install with Embedded Cluster in an online environment: -1. Download the Embedded Cluster installation assets for the target release: +1. Download and untar the Embedded Cluster installation assets for the target release. -1. Untar the downloaded assets. - -1. Run the following command: +1. Install: ```bash - sudo ./APP_SLUG install --license-file PATH_TO_LICENSE --config-values PATH_TO_CONFIGVALUES + sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \ + --config-values PATH_TO_CONFIGVALUES \ + --admin-console-password ADMIN_CONSOLE_PASSWORD ``` Replace: * `APP_SLUG` with the unique slug for the application. * `LICENSE_FILE` with the customer license. + * `ADMIN_CONSOLE_PASSWORD` with a password for accessing the Admin Console. * `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file. See [Generating a ConfigValues File](/vendor/releases-configvalues). diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 6649f8abb8..38f571dce2 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -8,26 +8,42 @@ import TextAreaExample from "../partials/configValues/_textareaExample.mdx" # Generating a ConfigValues File -This topic describes how to generate the ConfigValues file for an application and prepare the ConfigValues file to be shared with your users. +This topic describes how to generate the ConfigValues file for an application. It also includes recommendations for how to prepare a sample ConfigValues file to be shared with your users. ## Overview -The ConfigValues file defines the configuration values for an application. ConfigValues files include the configuration fields defined in the KOTS Config custom resource for the release, along with the user-supplied and default values for each field. The following is an example of a ConfigValues file: +The KOTS ConfigValues file includes the fields that are defined in the KOTS Config custom resource for an application release, along with the user-supplied and default values for each field. The following is an example of a ConfigValues file: - -ConfigValues files allow you to pass the configuration values for an application during automated installations from the command line, rather than providing the configuartion values through the Admin Console UI. For example, +ConfigValues files allow you to pass the configuration values for an application during installation from the command line, rather than providing the configuartion values through the Admin Console UI. This supports automated or _headless_ installations, such as when installing an application as part of CI/CD pipelines. For more information about performing automated installations from the command line, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). ## Get the ConfigValues File -When installing an application, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file. +During installation, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file by running the `kubectl kots get config` command. + +To get the ConfigValues file for a release: + +1. Install the target release in a development environment. You can either install the release with Replicated Embedded Cluster or install in an existing cluster with KOTS. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Online Installation in Existing Clusters](/enterprise/installing-existing-cluster). + +1. If you installed with Embedded Cluster, do the following to get kubectl access to the cluster and install the KOTS CLI: + + 1. Use the Embedded Cluster `shell` command to start a shell with access to the cluster: + + ```bash + sudo ./APP_SLUG shell + ``` + Where `APP_SLUG` is the unique slug of the application you installed. + + For more information, see [Access the Cluster](/vendor/embedded-overview#access-the-cluster) in _Using Embedded Cluster_. -To get the ConfigValues file for an application: + 1. Install the KOTS CLI in the cluster. See [Installing the KOTS CLI](/reference/kots-cli-getting-started). -1. Install the target release for the application in a development environment. For more information, see [About Installing an Application](/enterprise/installing-overview). + :::note + The version of the KOTS CLI that you install must be the same version of KOTS that was installed by Embedded Cluster. + ::: 1. View the generated ConfigValues file for the installed instance: From 33b11aca942eb269c6f6dbb3892e177f75044acc Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 14:22:58 -0700 Subject: [PATCH 06/14] edit steps for getting configvalues --- docs/reference/embedded-cluster-install.mdx | 20 +++++++++------- docs/vendor/releases-configvalues.md | 26 ++++++++++++++++----- 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/docs/reference/embedded-cluster-install.mdx b/docs/reference/embedded-cluster-install.mdx index b9b3802651..3ece8010f1 100644 --- a/docs/reference/embedded-cluster-install.mdx +++ b/docs/reference/embedded-cluster-install.mdx @@ -47,7 +47,7 @@ sudo ./APP_SLUG install --license LICENSE_FILE [flags] `--config-values` -

Path to the ConfigValues file for the application. Use when automating installation with Emebdded Cluster. For more information about generating and downloading the ConfigValues file for an application, see [Generating a ConfigValues File](/vendor/releases-configvalues).

+

Path to the ConfigValues file for the application. The ConfigValues file can be used to pass the application configuration values from the command line during installation, such as when performing automated installations as part of CI/CD pipelines. For more information about generating the ConfigValues file for a release, see [Generating a ConfigValues File](/vendor/releases-configvalues).

Requirement: Embedded Cluster 1.18.0 and later.

@@ -120,25 +120,27 @@ sudo ./APP_SLUG install --license LICENSE_FILE [flags] ### Air Gap Install ```bash -sudo ./myapp install --license license.yaml --airgap-bundle myapp.airgap +sudo ./my-app install --license license.yaml --airgap-bundle myapp.airgap ``` -### Automated Install +### Change the Admin Console and LAM Ports ```bash -sudo ./myapp install --license license.yaml --config-values configvalues.yaml +sudo ./my-app install --license license.yaml --admin-console-port=20000 --local-artifact-mirror-port=40000 ``` -### Change the Admin Console and LAM Ports +### Change the Data Directory ```bash -sudo ./myapp install --license license.yaml --admin-console-port=20000 --local-artifact-mirror-port=40000 +sudo ./my-app install --license license.yaml --data-dir /data/embedded-cluster ``` -### Change the Data Directory +### Headless (Automated) Install ```bash -sudo ./my-app install --license license.yaml --data-dir /data/embedded-cluster +sudo ./my-app install --license license.yaml \ + --config-values configvalues.yaml \ + --admin-console-password password ``` ### Install Behind a Proxy @@ -157,7 +159,7 @@ Where: ### Install Behind an MITM Proxy ```bash -sudo ./APP_SLUG install --license license.yaml --private-ca /path/to/private-ca-bundle \ +sudo ./my-app install --license license.yaml --private-ca /path/to/private-ca-bundle \ --http-proxy=http://10.128.0.0:3300 \ --https-proxy=http://10.128.0.0:3300 \ --no-proxy=123.89.46.4,10.96.0.0/16,*.example.com diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 38f571dce2..edbd539c56 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -50,13 +50,27 @@ To get the ConfigValues file for a release: ``` kubectl kots get config --namespace APP_NAMESPACE --decrypt ``` - Where `APP_NAMESPACE` is the cluster namespace where the application is installed. - - :::note - The `--decrypt` flag decrypts all configuration fields with `type: password`. In the downloaded ConfigValues file, the decrypted value is stored in a `valuePlaintext` field. - ::: + Where: + * `APP_NAMESPACE` is the cluster namespace where KOTS is running. For Embedded Cluster installations, the namespace is `kotsadm`. + * The `--decrypt` flag decrypts all configuration fields with `type: password`. In the downloaded ConfigValues file, the decrypted value is stored in a `valuePlaintext` field. + + The output of the `kots get config` command shows the contents of the ConfigValues file. For more information about the `kots get config` command, including additional flags, see [kots get config](/reference/kots-cli-get-config). + + **Example**: - The output of the `kots get config` command is the contents of the ConfigValues file. For more information about the `kots get config` command, including additional flags, see [kots get config](/reference/kots-cli-get-config). + ```bash + kubectl kots get config --namespace kotsadm --decrypt + ``` + ```bash + apiVersion: kots.io/v1beta1 + kind: ConfigValues + metadata: + creationTimestamp: null + spec: + values: + example_item: + value: hello world + ``` ## Share a Sample ConfigValues File From 87c60bbd309999e77bcb0745a00d21059dd3ef58 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 14:47:32 -0700 Subject: [PATCH 07/14] edit embedded cluster command line install steps --- ...installing-existing-cluster-automation.mdx | 24 +++++++++---------- docs/vendor/releases-configvalues.md | 6 ++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index b7b45cf14c..ba4ee0c4ba 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -21,7 +21,7 @@ This topic describes how to install an application with Replicated KOTS, Replica You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as performing headless installations as part of CI/CD pipelines. -To install with the CLI, you provide all the necessary assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. +To install with the CLI, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. ## Prerequisite @@ -39,14 +39,14 @@ A ConfigValues file includes the names of the configuration fields for the appli To install with Embedded Cluster in an online environment: -1. Download and untar the Embedded Cluster installation assets for the target release. +1. Follow the steps provided in the Vendor Portal to download and untar the Embedded Cluster installation assets. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded). -1. Install: +1. Run the following command to install: ```bash sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \ - --config-values PATH_TO_CONFIGVALUES \ - --admin-console-password ADMIN_CONSOLE_PASSWORD + --config-values PATH_TO_CONFIGVALUES \ + --admin-console-password ADMIN_CONSOLE_PASSWORD ``` Replace: @@ -123,28 +123,28 @@ To install with kURL on a VM or bare metal server: -## Install in an Air-Gapped Environment +## Air Gap Install ### Embedded Cluster To install with Embedded Cluster in an air-gapped environment: -1. On a machine with internet access, run the curl command to download the air gap installation assets as a `.tgz`. - -1. Move the downloaded `.tgz` to the air-gapped machine where you will install. +1. Follow the steps provided in the Vendor Portal to download and untar the Embedded Cluster air gap installation assets. For more information, see [Air Gap Installation with Embedded Cluster](/enterprise/installing-embedded-air-gap). -1. Run the following command: +1. Ensure that the Embedded Cluster installation assets are available on the air-gapped machine, then run the following command to install: ```bash sudo ./APP_SLUG install --license-file PATH_TO_LICENSE \ - --config-values PATH_TO_CONFIGVALUES \ - --airgap-bundle PATH_TO_AIRGAP_BUNDLE + --config-values PATH_TO_CONFIGVALUES \ + --admin-console-password ADMIN_CONSOLE_PASSWORD \ + --airgap-bundle PATH_TO_AIRGAP_BUNDLE ``` Replace: * `APP_SLUG` with the unique slug for the application. * `LICENSE_FILE` with the customer license. * `PATH_TO_CONFIGVALUES` with the path to the ConfigValues file. See [Generating a ConfigValues File](/vendor/releases-configvalues). + * `ADMIN_CONSOLE_PASSWORD` with a password for accessing the Admin Console. * `PATH_TO_AIRGAP_BUNDLE` with the path to the Embedded Cluster `.airgap` bundle for the release. ### KOTS in an Existing Cluster diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index edbd539c56..90bec7c1cb 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -8,7 +8,7 @@ import TextAreaExample from "../partials/configValues/_textareaExample.mdx" # Generating a ConfigValues File -This topic describes how to generate the ConfigValues file for an application. It also includes recommendations for how to prepare a sample ConfigValues file to be shared with your users. +This topic describes how to generate the Replicated KOTS ConfigValues file for an application release. It also includes recommendations for how to prepare a sample ConfigValues file to be shared with your users. ## Overview @@ -16,9 +16,9 @@ The KOTS ConfigValues file includes the fields that are defined in the KOTS Conf -ConfigValues files allow you to pass the configuration values for an application during installation from the command line, rather than providing the configuartion values through the Admin Console UI. This supports automated or _headless_ installations, such as when installing an application as part of CI/CD pipelines. +The ConfigValues file allows you to pass the configuration values for an application from the command line with the install command, rather than through the Admin Console UI. This supports automated or _headless_ installations, such as when installing an application as part of CI/CD pipelines. -For more information about performing automated installations from the command line, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). +For more information about installing from the command line, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). ## Get the ConfigValues File From 2a99082f2ee5320ea8629c501e9e8b458a8a20d1 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 15:09:39 -0700 Subject: [PATCH 08/14] change steps for getting configvalues --- docs/vendor/releases-configvalues.md | 71 ++++++++---------- .../admin-console-view-files-configvalues.png | Bin 0 -> 173683 bytes 2 files changed, 31 insertions(+), 40 deletions(-) create mode 100644 static/images/admin-console-view-files-configvalues.png diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 90bec7c1cb..fdab911fc3 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -22,55 +22,46 @@ For more information about installing from the command line, see [Installing wit ## Get the ConfigValues File -During installation, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file by running the `kubectl kots get config` command. +During installation, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file in the Admin Console **View files** tab or from the command line by running the `kubectl kots get config` command. To get the ConfigValues file for a release: 1. Install the target release in a development environment. You can either install the release with Replicated Embedded Cluster or install in an existing cluster with KOTS. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Online Installation in Existing Clusters](/enterprise/installing-existing-cluster). -1. If you installed with Embedded Cluster, do the following to get kubectl access to the cluster and install the KOTS CLI: +1. Depending on the installer that you used, do one of the following to get the ConfigValues for the installed instance: - 1. Use the Embedded Cluster `shell` command to start a shell with access to the cluster: + * **For Embedded Cluster installations**: In the Admin Console, go to the **View files** tab. In the filetree, go to **upstream > userdata** and open **config.yaml**, as shown in the image below: + ![ConfigValues file in the Admin Console View Files tab](/images/admin-console-view-files-configvalues.png) + + [View a larger version of this image](/images/admin-console-view-files-configvalues.png) + + * **For KOTS installations in an existing cluster**: Run the `kubectl kots get config` command to view the generated ConfigValues file: + + ``` + kubectl kots get config --namespace APP_NAMESPACE --decrypt + ``` + Where: + * `APP_NAMESPACE` is the cluster namespace where KOTS is running. + * The `--decrypt` flag decrypts all configuration fields with `type: password`. In the downloaded ConfigValues file, the decrypted value is stored in a `valuePlaintext` field. + + The output of the `kots get config` command shows the contents of the ConfigValues file. For more information about the `kots get config` command, including additional flags, see [kots get config](/reference/kots-cli-get-config). + + **Example**: + + ```bash + kubectl kots get config --namespace namespace --decrypt + ``` ```bash - sudo ./APP_SLUG shell + apiVersion: kots.io/v1beta1 + kind: ConfigValues + metadata: + creationTimestamp: null + spec: + values: + example_item: + value: hello world ``` - Where `APP_SLUG` is the unique slug of the application you installed. - - For more information, see [Access the Cluster](/vendor/embedded-overview#access-the-cluster) in _Using Embedded Cluster_. - - 1. Install the KOTS CLI in the cluster. See [Installing the KOTS CLI](/reference/kots-cli-getting-started). - - :::note - The version of the KOTS CLI that you install must be the same version of KOTS that was installed by Embedded Cluster. - ::: - -1. View the generated ConfigValues file for the installed instance: - - ``` - kubectl kots get config --namespace APP_NAMESPACE --decrypt - ``` - Where: - * `APP_NAMESPACE` is the cluster namespace where KOTS is running. For Embedded Cluster installations, the namespace is `kotsadm`. - * The `--decrypt` flag decrypts all configuration fields with `type: password`. In the downloaded ConfigValues file, the decrypted value is stored in a `valuePlaintext` field. - - The output of the `kots get config` command shows the contents of the ConfigValues file. For more information about the `kots get config` command, including additional flags, see [kots get config](/reference/kots-cli-get-config). - - **Example**: - - ```bash - kubectl kots get config --namespace kotsadm --decrypt - ``` - ```bash - apiVersion: kots.io/v1beta1 - kind: ConfigValues - metadata: - creationTimestamp: null - spec: - values: - example_item: - value: hello world - ``` ## Share a Sample ConfigValues File diff --git a/static/images/admin-console-view-files-configvalues.png b/static/images/admin-console-view-files-configvalues.png new file mode 100644 index 0000000000000000000000000000000000000000..526f1eca5382c3709e18a8371cf342cba03d6198 GIT binary patch literal 173683 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 Date: Mon, 18 Nov 2024 15:18:48 -0700 Subject: [PATCH 09/14] edits --- docs/vendor/releases-configvalues.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index fdab911fc3..718f3907fa 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -65,9 +65,9 @@ To get the ConfigValues file for a release: ## Share a Sample ConfigValues File -Replicated recommends that you share an example of an accurate ConfigValues file with your users that they can edit for use in automated installations with the KOTS CLI. +If your users will perform automated or headless installations from the command line, you can share an example of an accurate ConfigValues file that they can edit. -After you get the ConfigValues file for your application using the `kots get config` command, Replicated recommends that you do the following to edit the contents of the ConfigValues file before sharing it with users: +Before sharing a sample ConfigValues with users, Replicated recommends that you edit the sample file in the following ways: * Remove any configuration fields that have `readonly` set to `true`. Users cannot edit read only fields. For more information, see [readonly](/reference/custom-resource-config#readonly) in _Config_. From c5cc427326163f5b36d0da78210a9839fd826ec0 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 15:20:31 -0700 Subject: [PATCH 10/14] edits --- docs/vendor/releases-configvalues.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 718f3907fa..68ad5f0a3d 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -90,4 +90,4 @@ Before sharing a sample ConfigValues with users, Replicated recommends that you textarea

Plain text in the value field.

- For more information about each configuration field type in the Config custom resource, see [Config](/reference/custom-resource-config). + For more information about each configuration field type in the Config custom resource, see [Config](/reference/custom-resource-config). From faca29fce940d8eff4fb6b7ee2ab58e6b6140bbd Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 15:24:22 -0700 Subject: [PATCH 11/14] edits --- docs/enterprise/installing-existing-cluster-automation.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index ba4ee0c4ba..adbd98dea7 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -25,9 +25,9 @@ To install with the CLI, you provide all the necessary installation assets, such ## Prerequisite -Create a ConfigValues YAML file to define the configuration settings for the application. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment. +Create a ConfigValues YAML file to define the configuration values for the application release. You will pass the ConfigValues file with the installation command. For air-gapped environments, ensure that the ConfigValues file can be accessed from the installation environment. -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). +For more information, see [Generating a ConfigValues File](/vendor/releases-configvalues). **Example:** From 69e08f0a78eaae845103858ac6a7aeca13e12da0 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Mon, 18 Nov 2024 15:55:20 -0700 Subject: [PATCH 12/14] edits --- docs/enterprise/installing-existing-cluster-automation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index adbd98dea7..700eed0aa0 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -21,7 +21,7 @@ This topic describes how to install an application with Replicated KOTS, Replica You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as performing headless installations as part of CI/CD pipelines. -To install with the CLI, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Additionally, any preflight checks defined for the application automatically run from the CLI rather than being displayed in the Admin Console. +To install with the CLI, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Any preflight checks defined for the application run automatically during CLI installations rather than being displayed in the Admin Console. ## Prerequisite From 4ca54a3b638b52ab5e0b4dba2ecf3971a9d0af3e Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 19 Nov 2024 09:20:14 -0700 Subject: [PATCH 13/14] update title and xrefs --- docs/enterprise/installing-existing-cluster-automation.mdx | 6 +++--- docs/enterprise/installing-overview.md | 2 +- docs/intro-kots.md | 2 +- docs/reference/kots-cli-install.mdx | 2 +- docs/vendor/embedded-overview.mdx | 2 +- docs/vendor/packaging-rbac.md | 2 +- docs/vendor/releases-configvalues.md | 2 +- docs/vendor/replicated-sdk-airgap.mdx | 7 +------ docs/vendor/replicated-sdk-customizing.md | 4 ++-- sidebars.js | 2 +- 10 files changed, 13 insertions(+), 18 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index 700eed0aa0..98ae241e73 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -13,15 +13,15 @@ import PushKotsImages from "../partials/install/_push-kotsadm-images.mdx" import KotsVersionMatch from "../partials/install/_kots-airgap-version-match.mdx" import PlaceholderRoCreds from "../partials/install/_placeholder-ro-creds.mdx" -# Installing with the CLI +# Installing from the Command Line This topic describes how to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL from the command line. ## Overview -You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing with the CLI is to automate installation, such as performing headless installations as part of CI/CD pipelines. +You can use the command line to install an application with Replicated KOTS, Replicated Embedded Cluster, or Replicated kURL. A common use case for installing from the command line is to automate installation, such as performing headless installations as part of CI/CD pipelines. -To install with the CLI, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Any preflight checks defined for the application run automatically during CLI installations rather than being displayed in the Admin Console. +To install from the command line, you provide all the necessary installation assets, such as the license file and the application config values, with the installation command rather than through the Admin Console UI. Any preflight checks defined for the application run automatically during headless installations from the command line rather than being displayed in the Admin Console. ## Prerequisite diff --git a/docs/enterprise/installing-overview.md b/docs/enterprise/installing-overview.md index d9eb689df0..8ac20f909a 100644 --- a/docs/enterprise/installing-overview.md +++ b/docs/enterprise/installing-overview.md @@ -48,7 +48,7 @@ For information about image registry requirements, see [Private Registry Require You can automate application installation in online, air gap, existing cluster, and embedded cluster environments using the KOTS CLI. In an automated installation, you provide all the information required to install and deploy the application with the `kots install` command, rather than providing this information in the Replicated Admin Console. -For more information, see [Installing with Automation](/enterprise/installing-existing-cluster-automation). +For more information, see [Installing from the Command Line](/enterprise/installing-existing-cluster-automation). ### KOTS Installations Without Object Storage diff --git a/docs/intro-kots.md b/docs/intro-kots.md index 2dcefb9f66..7610087b03 100644 --- a/docs/intro-kots.md +++ b/docs/intro-kots.md @@ -70,4 +70,4 @@ The kots command-line interface (CLI) is a kubectl plugin. Customers can run com For information about getting started with the KOTS CLI, see [Installing the KOTS CLI](/reference/kots-cli-getting-started). -The KOTS CLI can also be used to install an application without needing to access the Admin Console. This can be useful for automating installations and upgrades. For information about how to run automated installations with the KOTS CLI, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). \ No newline at end of file +The KOTS CLI can also be used to install an application without needing to access the Admin Console. This can be useful for automating installations and upgrades, such as in CI/CD pipelines. For information about how to perform headless installations from the command line, see [Installing from the Command Line](/enterprise/installing-existing-cluster-automation). \ No newline at end of file diff --git a/docs/reference/kots-cli-install.mdx b/docs/reference/kots-cli-install.mdx index ed432f6885..0ccec55b6b 100644 --- a/docs/reference/kots-cli-install.mdx +++ b/docs/reference/kots-cli-install.mdx @@ -57,7 +57,7 @@ This command supports all [global flags](kots-cli-global-flags) and also: --config-values string - Path to a manifest file containing configuration values. This manifest must be apiVersion: kots.io/v1beta1 and kind: ConfigValues. For more information, see Installing with the CLI. + Path to a manifest file containing configuration values. This manifest must be apiVersion: kots.io/v1beta1 and kind: ConfigValues. For more information, see Installing from the Command Line. --copy-proxy-env diff --git a/docs/vendor/embedded-overview.mdx b/docs/vendor/embedded-overview.mdx index be21998ca2..884798c940 100644 --- a/docs/vendor/embedded-overview.mdx +++ b/docs/vendor/embedded-overview.mdx @@ -55,7 +55,7 @@ Embedded Cluster has the following limitations: * **Changing node hostnames is not supported**: After a host is added to a Kubernetes cluster, Kubernetes assumes that the hostname and IP address of the host will not change. If you need to change the hostname or IP address of a node, you must first remove the node from the cluster. For more information about the requirements for naming nodes, see [Node name uniqueness](https://kubernetes.io/docs/concepts/architecture/nodes/#node-name-uniqueness) in the Kubernetes documentation. -* **Automated installations not supported**: Users cannot do automated (headless) Embedded Cluster installations because it is not possible to configure the application by passing the [ConfigValues](/vendor/releases-configvalues) file with the installation command. Embedded Cluster installations require that the application is configured from the Admin Console config screen. For more information about automating existing cluster or kURL installations with the KOTS CLI, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). +* **Automated installations not supported**: Users cannot do automated (headless) Embedded Cluster installations because it is not possible to configure the application by passing the [ConfigValues](/vendor/releases-configvalues) file with the installation command. Embedded Cluster installations require that the application is configured from the Admin Console config screen. For more information about automating existing cluster or kURL installations with the KOTS CLI, see [Installing from the Command Line](/enterprise/installing-existing-cluster-automation). * **Automatic updates not supported**: Configuring automatic updates from the Admin Console so that new versions are automatically deployed is not supported for Embedded Cluster installations. For more information, see [Configuring Automatic Updates](/enterprise/updating-apps). diff --git a/docs/vendor/packaging-rbac.md b/docs/vendor/packaging-rbac.md index 747d32377d..8578edb289 100644 --- a/docs/vendor/packaging-rbac.md +++ b/docs/vendor/packaging-rbac.md @@ -108,7 +108,7 @@ The following limitations apply when using the `requireMinimalRBACPrivileges` or In non-headless installations in air gap environments, KOTS does not have access to the application's `.airgap` package during installation. This means that KOTS does not have the information required to determine whether namespace-scoped access is needed, so it defaults to the more permissive, default cluster-scoped RBAC policy. - For more information about how to do headless installations in air gap environments, see [Air Gap Existing Cluster](/enterprise/installing-existing-cluster-automation#air-gap-existing-cluster) in _Installing with the CLI_. + For more information about how to do headless installations in air gap environments, see [Air Gap Install](/enterprise/installing-existing-cluster-automation#air-gap-install) in _Installing from the Command Line_. * **Changing RBAC permissions for installed instances**: The RBAC permissions for KOTS are set during its initial installation. KOTS runs using the assumed identity and cannot change its own authorization. When you update your application to add or remove the `requireMinimalRBACPrivileges` and `supportMinimalRBACPrivileges` flags in the Application custom resource, the RBAC permissions for KOTS are affected only for new installations. Existing KOTS installations continue to run with their current RBAC permissions. diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 68ad5f0a3d..5b57b918af 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -18,7 +18,7 @@ The KOTS ConfigValues file includes the fields that are defined in the KOTS Conf The ConfigValues file allows you to pass the configuration values for an application from the command line with the install command, rather than through the Admin Console UI. This supports automated or _headless_ installations, such as when installing an application as part of CI/CD pipelines. -For more information about installing from the command line, see [Installing with the CLI](/enterprise/installing-existing-cluster-automation). +For more information about installing from the command line, see [Installing from the Command Line](/enterprise/installing-existing-cluster-automation). ## Get the ConfigValues File diff --git a/docs/vendor/replicated-sdk-airgap.mdx b/docs/vendor/replicated-sdk-airgap.mdx index 4ac7708a7b..f077241ef6 100644 --- a/docs/vendor/replicated-sdk-airgap.mdx +++ b/docs/vendor/replicated-sdk-airgap.mdx @@ -39,9 +39,4 @@ Replicated does not provide air gap bundles for applications installed with the ### KOTS -When the SDK is installed by KOTS in an air gap environment, KOTS automatically sets `isAirGap: true` in the SDK Helm chart values to enable air gap mode. No additional configuration is required. - -KOTS automatically enables air gap mode for the SDK when the user follows any of these procedures to do an air gap installation: -* [Air Gap Installation in Existing Clusters](/enterprise/installing-existing-cluster-airgapped) -* [Air Gap Installation with kURL](/enterprise/installing-kurl-airgap) -* [Air Gap Existing Cluster](/enterprise/installing-existing-cluster-automation#air-gap-existing-cluster) or [Air Gap kURL Cluster](/enterprise/installing-existing-cluster-automation#air-gap-kurl-cluster) in _Installing with the CLI_ \ No newline at end of file +When the SDK is installed by KOTS in an air gap environment, KOTS automatically sets `isAirGap: true` in the SDK Helm chart values to enable air gap mode. No additional configuration is required. \ No newline at end of file diff --git a/docs/vendor/replicated-sdk-customizing.md b/docs/vendor/replicated-sdk-customizing.md index 16959c9fda..3b6ab30c80 100644 --- a/docs/vendor/replicated-sdk-customizing.md +++ b/docs/vendor/replicated-sdk-customizing.md @@ -117,7 +117,7 @@ replicated: ``` :::note -If the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` variables are configured with the [kots install](/enterprise/installing-existing-cluster-automation) command, these variables will also be set automatically in the Replicated SDK. +If the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` variables are configured with the [kots install](/reference/kots-cli-install) command, these variables will also be set automatically in the Replicated SDK. ::: **Example**: @@ -152,7 +152,7 @@ To use a CA stored in a ConfigMap: ``` :::note -If the `--private-ca-configmap` flag is used with the [kots install](/enterprise/installing-existing-cluster-automation) command, this value will be populated in the Replicated SDK automatically. +If the `--private-ca-configmap` flag is used with the [kots install](/reference/kots-cli-install) command, this value will be populated in the Replicated SDK automatically. ::: ### Using a Secret diff --git a/sidebars.js b/sidebars.js index 27c26322c7..ff9716b1ff 100644 --- a/sidebars.js +++ b/sidebars.js @@ -369,7 +369,7 @@ const sidebars = { }, { type: 'category', - label: 'Installing with the CLI', + label: 'Installing from the Command Line', items: [ 'enterprise/installing-existing-cluster-automation', 'vendor/releases-configvalues', From 1a14a4538b61cedefc6d1e22104ec28021f87895 Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Tue, 19 Nov 2024 09:25:25 -0700 Subject: [PATCH 14/14] edits --- docs/enterprise/installing-existing-cluster-automation.mdx | 2 +- docs/vendor/releases-configvalues.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/enterprise/installing-existing-cluster-automation.mdx b/docs/enterprise/installing-existing-cluster-automation.mdx index 98ae241e73..19f0977b35 100644 --- a/docs/enterprise/installing-existing-cluster-automation.mdx +++ b/docs/enterprise/installing-existing-cluster-automation.mdx @@ -80,7 +80,7 @@ To install with KOTS in an existing cluster: The following shows an example of the output from the kots install command: - ```bash + ``` • Deploying Admin Console • Creating namespace ✓ • Waiting for datastore to be ready ✓ diff --git a/docs/vendor/releases-configvalues.md b/docs/vendor/releases-configvalues.md index 5b57b918af..9a081f540a 100644 --- a/docs/vendor/releases-configvalues.md +++ b/docs/vendor/releases-configvalues.md @@ -24,7 +24,7 @@ For more information about installing from the command line, see [Installing fro During installation, KOTS automatically generates a ConfigValues file and saves the file in a directory called `upstream`. After installation, you can view the generated ConfigValues file in the Admin Console **View files** tab or from the command line by running the `kubectl kots get config` command. -To get the ConfigValues file for a release: +To get the ConfigValues file from an installed application instance: 1. Install the target release in a development environment. You can either install the release with Replicated Embedded Cluster or install in an existing cluster with KOTS. For more information, see [Online Installation with Embedded Cluster](/enterprise/installing-embedded) or [Online Installation in Existing Clusters](/enterprise/installing-existing-cluster).