diff --git a/docs/vendor/tutorial-cli-create-app.mdx b/docs/vendor/tutorial-cli-create-app.mdx deleted file mode 100644 index abdf21d52d..0000000000 --- a/docs/vendor/tutorial-cli-create-app.mdx +++ /dev/null @@ -1,41 +0,0 @@ -# Step 2: Create an Application - -After you install the Replicated CLI and create an API token, you can use the CLI to create a new application. - -To create an application: - -1. Run the following command to create an application named `cli-tutorial`: - - ``` - replicated app create cli-tutorial - ``` - - **Example output**: - - ``` - ID NAME SLUG SCHEDULER - 2GmY... cli-tutorial cli-tutorial kots - ``` - -1. Export the application slug in the output of the `app create` command as an environment variable: - - ``` - export REPLICATED_APP=YOUR_SLUG - ``` - Replace `YOUR_SLUG` with the slug for the application you created in the previous step. - -1. Verify that both the `REPLICATED_API_TOKEN` environment variable that you created as part of [Step 1: Install the Replicated CLI](tutorial-cli-install-cli) and the `REPLICATED_APP` environment variable are set correctly: - - ``` - replicated release ls - ``` - - In the output of this command, you now see an empty list of releases for the application: - - ``` - SEQUENCE CREATED EDITED ACTIVE_CHANNELS - ``` - -## Next Step - -Continue to [Step 3: Get the Sample Manifests](tutorial-cli-manifests) to download the manifest files for a sample Kubernetes application. You will use these manifest files to create the first release for the `cli-tutorial` application. diff --git a/docs/vendor/tutorial-cli-create-customer.mdx b/docs/vendor/tutorial-cli-create-customer.mdx deleted file mode 100644 index 8b35eef837..0000000000 --- a/docs/vendor/tutorial-cli-create-customer.mdx +++ /dev/null @@ -1,106 +0,0 @@ -# Step 5: Create a Customer - -After promoting the first release for the `cli-tutorial` application, create a customer so that you can install the application. - -A _customer_ is an object in the Vendor Portal that represents a single licensed user of your application. When you create a customer, you define entitlement information for the user, and the Vendor Portal generates a YAML license file for the customer that you can download. - -When you install the application later in this tutorial, you will upload the license file that you create in this step to allow KOTS to create the application containers. - -To create a customer and download the license file: - -1. From the `replicated-cli-tutorial` directory, create a license for a customer named `Some-Big-Bank` that is assigned to the Unstable channel and expires in 10 days: - - ``` - replicated customer create \ - --name "Some-Big-Bank" \ - --expires-in "240h" \ - --channel "Unstable" - ``` - The Unstable channel is the channel where you promoted the release in [Step 4: Create a Release](tutorial-cli-create-release). Assigning the customer to a channel allows them to install the releases that are promoted to that channel. - - **Example output:** - - ``` - ID NAME CHANNELS EXPIRES TYPE - 2GuB3VYLjU5t9vNDK6byjgiTKUs Some-Big-Bank Unstable 2022-11-10 14:59:49 +0000 UTC dev - ``` - -1. Verify the customer creation details: - - ``` - replicated customer ls - ``` - - **Example output:** - - ``` - ID NAME CHANNELS EXPIRES TYPE - 2GuB3VYLjU5t9vNDK6byjgiTKUs Some-Big-Bank Unstable 2022-11-10 14:59:49 +0000 UTC dev - ``` - -1. Download the license file for the customer that you just created: - - ``` - replicated customer download-license \ - --customer "Some-Big-Bank" - ``` - - The license downloads to `stdout`. - - **Example output**: - - ``` - apiVersion: kots.io/v1beta1 - kind: License - metadata: - name: some-big-bank - spec: - appSlug: cli-tutorial - channelID: 2GmYFUFzj8JOSLYw0jAKKJKFua8 - channelName: Unstable - customerName: Some-Big-Bank - endpoint: https://replicated.app - entitlements: - expires_at: - description: License Expiration - title: Expiration - value: "2022-11-10T14:59:49Z" - valueType: String - isNewKotsUiEnabled: true - licenseID: 2GuB3ZLQsU38F5SX3n03x8qBzeL - licenseSequence: 1 - licenseType: dev - signature: eyJsaW... - ``` - -1. Rename the license file and save it to your Desktop folder: - - ``` - export LICENSE_FILE=~/Desktop/Some-Big-Bank-${REPLICATED_APP}-license.yaml - replicated customer download-license --customer "Some-Big-Bank" > "${LICENSE_FILE}" - ``` - -1. Verify that the license was written properly using either `cat` or `head`: - - ``` - head ${LICENSE_FILE} - ``` - - **Example output**: - - ``` - apiVersion: kots.io/v1beta1 - kind: License - metadata: - name: some-big-bank - spec: - appSlug: cli-tutorial - channelID: 2GmYFUFzj8JOSLYw0jAKKJKFua8 - channelName: Unstable - customerName: Some-Big-Bank - endpoint: https://replicated.app - ``` - -## Next Step - -Continue to [Step 6: Install KOTS and the Application](tutorial-cli-install-app-manager) to get the installation commands from the Unstable channel, then install the KOTS components and the sample application in your cluster. diff --git a/docs/vendor/tutorial-cli-create-new-version.mdx b/docs/vendor/tutorial-cli-create-new-version.mdx deleted file mode 100644 index 61779133fd..0000000000 --- a/docs/vendor/tutorial-cli-create-new-version.mdx +++ /dev/null @@ -1,139 +0,0 @@ -# Step 8: Create a New Version - -In this step, you make an edit to the Config custom resource manifest file in the `replicated-cli-tutorial/manifests` directory for the `cli-tutorial` application to create a new field on the **Config** page in the Admin Console. You will then create and promote a new release to the Unstable channel with your changes. - -To create and promote a new version of the application: - -1. In your local directory, go to the the `replicated-cli-tutorial/manifests` folder and open the `kots-config.yaml` file in a text editor. - -1. Copy and paste the following YAML into the file under the `example_default_value` field to create a new text field on the **Config** page: - - ```yaml - - name: more_text - title: Another Text Example - type: text - value: "" - when: repl{{ ConfigOptionEquals "show_text_inputs" "1" }} - ``` - The following shows the full YAML for the `kots-config.yaml` file after you add the new field: - - ```yaml - --- - apiVersion: kots.io/v1beta1 - kind: Config - metadata: - name: config-sample - spec: - groups: - - name: example_settings - title: My Example Config - description: Configuration to serve as an example for creating your own. See [https://kots.io/reference/v1beta1/config/](https://kots.io/reference/v1beta1/config/) for configuration docs. In this case, we provide example fields for configuring an Nginx welcome page. - items: - - name: show_text_inputs - title: Customize Text Inputs - help_text: "Show custom user text inputs" - type: bool - default: "0" - recommended: true - - name: example_default_value - title: Text Example (with default value) - type: text - value: "" - default: please change this value - when: repl{{ ConfigOptionEquals "show_text_inputs" "1" }} - # Add the new more_text field here - - name: more_text - title: Another Text Example - type: text - value: "" - when: repl{{ ConfigOptionEquals "show_text_inputs" "1" }} - - name: api_token - title: API token - type: password - props: - rows: 5 - when: repl{{ ConfigOptionEquals "show_text_inputs" "1" }} - - name: readonly_text_left - title: Readonly Text - type: text - value: "{{repl RandomString 10}}" - readonly: true - when: repl{{ ConfigOptionEquals "show_text_inputs" "1" }} - - name: hidden_text - title: Secret Key - type: password - hidden: true - value: "{{repl RandomString 40}}" - - ``` - -1. Open the `example-configmap.yaml` file. - -1. In the `example-configmap.yaml` file, copy and paste the following HTML to replace the `
` section: - - ``` - - This is an example KOTS application. -This is text from a user config value: '{{repl ConfigOption "example_default_value"}}'
-This is more text from a user config value: '{{repl ConfigOption "more_text"}}'
-This is a hidden value: '{{repl ConfigOption "hidden_text"}}'
- - ``` - This creates a reference to the `more_text` field using a Replicated KOTS template function. The ConfigOption template function renders the user input from the configuration item that you specify. For more information, see [Config Context](/reference/template-functions-config-context) in _Reference_. - -1. Save the changes to both YAML files. - -1. Change to the root `replicated-cli-tutorial` directory, then run the following command to verify that there are no errors in the YAML: - - ``` - replicated release lint --yaml-dir=manifests - ``` - -1. Create a new release and promote it to the Unstable channel: - - ``` - replicated release create --auto - ``` - - **Example output**: - - ``` - • Reading manifests from ./manifests ✓ - • Creating Release ✓ - • SEQUENCE: 2 - • Promoting ✓ - • Channel 2GxpUm7lyB2g0ramqUXqjpLHzK0 successfully set to release 2 - ``` - -1. Type `y` and press **Enter** to continue with the defaults. - - **Example output**: - - ``` - RULE TYPE FILENAME LINE MESSAGE - - • Reading manifests from ./manifests ✓ - • Creating Release ✓ - • SEQUENCE: 2 - • Promoting ✓ - • Channel 2GmYFUFzj8JOSLYw0jAKKJKFua8 successfully set to release 2 - ``` - - The release is created and promoted to the Unstable channel with `SEQUENCE: 2`. - -1. Verify that the release was promoted to the Unstable channel: - - ``` - replicated release ls - ``` - **Example output**: - - ``` - SEQUENCE CREATED EDITED ACTIVE_CHANNELS - 2 2022-11-03T19:16:24Z 0001-01-01T00:00:00Z Unstable - 1 2022-11-03T18:49:13Z 0001-01-01T00:00:00Z - ``` - -## Next Step - -Continue to [Step 9: Update the Application](tutorial-cli-update-app) to return to the Admin Console and update the application to the new version that you promoted. diff --git a/docs/vendor/tutorial-cli-create-release.mdx b/docs/vendor/tutorial-cli-create-release.mdx deleted file mode 100644 index 142db61b77..0000000000 --- a/docs/vendor/tutorial-cli-create-release.mdx +++ /dev/null @@ -1,85 +0,0 @@ -# Step 4: Create a Release - -Now that you have the manifest files for the sample Kubernetes application, you can create a release for the `cli-tutorial` application and promote the release to the Unstable channel. - -By default, the Vendor Portal includes Unstable, Beta, and Stable release channels. The Unstable channel is intended for software vendors to use for internal testing, before promoting a release to the Beta or Stable channels for distribution to customers. For more information about channels, see [About Channels and Releases](releases-about). - -To create and promote a release to the Unstable channel: - -1. From the `replicated-cli-tutorial` directory, lint the application manifest files and ensure that there are no errors in the YAML: - - ``` - replicated release lint --yaml-dir=manifests - ``` - - If there are no errors, an empty list is displayed with a zero exit code: - - ```text - RULE TYPE FILENAME LINE MESSAGE - ``` - - For a complete list of the possible error, warning, and informational messages that can appear in the output of the `release lint` command, see [Linter Rules](/reference/linter). - -1. Initialize the project as a Git repository: - - ``` - git init - git add . - git commit -m "Initial Commit: CLI Tutorial" - ``` - - Initializing the project as a Git repository allows you to track your history. The Replicated CLI also reads Git metadata to help with the generation of release metadata, such as version labels. - -1. From the `replicated-cli-tutorial` directory, create a release with the default settings: - - ``` - replicated release create --auto - ``` - - The `--auto` flag generates release notes and metadata based on the Git status. - - **Example output:** - - ``` - • Reading Environment ✓ - - Prepared to create release with defaults: - - yaml-dir "./manifests" - promote "Unstable" - version "Unstable-ba710e5" - release-notes "CLI release of master triggered by exampleusername [SHA: d4173a4] [31 Oct 22 08:51 MDT]" - ensure-channel true - lint-release true - - Create with these properties? [Y/n] - ``` - -1. Type `y` and press **Enter** to confirm the prompt. - - **Example output:** - - ```text - • Reading manifests from ./manifests ✓ - • Creating Release ✓ - • SEQUENCE: 1 - • Promoting ✓ - • Channel VEr0nhJBBUdaWpPvOIK-SOryKZEwa3Mg successfully set to release 1 - ``` - The release is created and promoted to the Unstable channel. - -1. Verify that the release was promoted to the Unstable channel: - - ``` - replicated release ls - ``` - **Example output:** - - ```text - SEQUENCE CREATED EDITED ACTIVE_CHANNELS - 1 2022-10-31T14:55:35Z 0001-01-01T00:00:00Z Unstable - ``` - -## Next Step - -Continue to [Step 5: Create a Customer](tutorial-cli-create-customer) to create a customer license file that you will upload when installing the application. diff --git a/docs/vendor/tutorial-cli-deploy-app.mdx b/docs/vendor/tutorial-cli-deploy-app.mdx deleted file mode 100644 index 14fbb7d146..0000000000 --- a/docs/vendor/tutorial-cli-deploy-app.mdx +++ /dev/null @@ -1,47 +0,0 @@ -# Step 7: Configure the Application - -After you install KOTS, you can log in to the KOTS Admin Console. This procedure shows you how to make a configuration change for the application from the Admin Console, which is a typical task performed by end users. - -To configure the application: - -1. Access the Admin Console using `https://localhost:8800` if the installation script is still running. Otherwise, run the following command to access the Admin Console: - - ```bash - kubectl kots admin-console --namespace NAMESPACE - ``` - - Replace `NAMESPACE` with the namespace where KOTS is installed. - -1. Enter the password that you created in [Step 6: Install KOTS and the Application](tutorial-cli-install-app-manager) to log in to the Admin Console. - - The Admin Console dashboard opens. On the Admin Console **Dashboard** tab, users can take various actions, including viewing the application status, opening the application, checking for application updates, syncing their license, and setting up application monitoring on the cluster with Prometheus. - -  - -1. On the **Config** tab, select the **Customize Text Inputs** checkbox. In the **Text Example** field, enter any text. For example, `Hello`. - -  - - This page displays configuration settings that are specific to the application. Software vendors define the fields that are displayed on this page in the KOTS Config custom resource. For more information, see [Config](/reference/custom-resource-config) in _Reference_. - -1. Click **Save config**. In the dialog that opens, click **Go to updated version**. - - The **Version history** tab opens. - -1. Click **Deploy** for the new version. Then click **Yes, deploy** in the confirmation dialog. - -  - -1. Click **Open App** to view the application in your browser. - -  - - Notice the text that you entered previously on the configuration page is displayed on the screen. - - :::note - If you do not see the new text, refresh your browser. - ::: - -## Next Step - -Continue to [Step 8: Create a New Version](tutorial-cli-create-new-version) to make a change to one of the manifest files for the `cli-tutorial` application, then use the Replicated CLI to create and promote a new release. diff --git a/docs/vendor/tutorial-cli-install-app-manager.mdx b/docs/vendor/tutorial-cli-install-app-manager.mdx deleted file mode 100644 index 2838c93385..0000000000 --- a/docs/vendor/tutorial-cli-install-app-manager.mdx +++ /dev/null @@ -1,101 +0,0 @@ -# Step 6: Install KOTS and the Application - -The next step is to test the installation process for the application release that you promoted. Using the KOTS CLI, you will install KOTS and the sample application in your cluster. - -KOTS is the Replicated component that allows your users to install, manage, and upgrade your application. Users can interact with KOTS through the Admin Console or through the KOTS CLI. - -To install KOTS and the application: - -1. From the `replicated-cli-tutorial` directory, run the following command to get the installation commands for the Unstable channel, where you promoted the release for the `cli-tutorial` application: - - ``` - replicated channel inspect Unstable - ``` - - **Example output:** - - ``` - ID: 2GmYFUFzj8JOSLYw0jAKKJKFua8 - NAME: Unstable - DESCRIPTION: - RELEASE: 1 - VERSION: Unstable-d4173a4 - EXISTING: - - curl -fsSL https://kots.io/install | bash - kubectl kots install cli-tutorial/unstable - - EMBEDDED: - - curl -fsSL https://k8s.kurl.sh/cli-tutorial-unstable | sudo bash - - AIRGAP: - - curl -fSL -o cli-tutorial-unstable.tar.gz https://k8s.kurl.sh/bundle/cli-tutorial-unstable.tar.gz - # ... scp or sneakernet cli-tutorial-unstable.tar.gz to airgapped machine, then - tar xvf cli-tutorial-unstable.tar.gz - sudo bash ./install.sh airgap - ``` - This command prints information about the channel, including the commands for installing in: - * An existing cluster - * An _embedded cluster_ created by Replicated kURL - * An air gap cluster that is not connected to the internet - -1. If you have not already, configure kubectl access to the cluster you provisioned as part of [Set Up the Environment](tutorial-cli-setup#set-up-the-environment). For more information about setting the context for kubectl, see [Command line tool (kubectl)](https://kubernetes.io/docs/reference/kubectl/) in the Kubernetes documentation. - -1. Run the `EXISTING` installation script with the following flags to automatically upload the license file and run the preflight checks at the same time you run the installation. - - **Example:** - - ``` - curl -fsSL https://kots.io/install | bash - kubectl kots install cli-tutorial/unstable \ - --license-file ./LICENSE_YAML \ - --shared-password PASSWORD \ - --namespace NAMESPACE - ``` - - Replace: - - - `LICENSE_YAML` with the local path to your license file. - - `PASSWORD` with a password to access the Admin Console. - - `NAMESPACE` with the namespace where KOTS and application will be installed. - - When the Admin Console is ready, the script prints the `https://localhost:8800` URL where you can access the Admin Console and the `http://localhost:8888` URL where you can access the application. - - **Example output**: - - ``` - • 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 - ``` - -1. Verify that the Pods are running for the example NGNIX service and for kotsadm: - - ```bash - kubectl get pods --namespace NAMESPACE - ``` - - Replace `NAMESPACE` with the namespace where KOTS and application was installed. - - **Example output:** - - ```NAME READY STATUS RESTARTS AGE - kotsadm-7ccc8586b8-n7vf6 1/1 Running 0 12m - kotsadm-minio-0 1/1 Running 0 17m - kotsadm-rqlite-0 1/1 Running 0 17m - nginx-688f4b5d44-8s5v7 1/1 Running 0 11m - ``` - -## Next Step - -Continue to [Step 7: Configure the Application](tutorial-cli-deploy-app) to log in to the Admin Console and make configuration changes. diff --git a/docs/vendor/tutorial-cli-install-cli.mdx b/docs/vendor/tutorial-cli-install-cli.mdx deleted file mode 100644 index 1eb0f60aea..0000000000 --- a/docs/vendor/tutorial-cli-install-cli.mdx +++ /dev/null @@ -1,80 +0,0 @@ -# Step 1: Install the Replicated CLI - -In this tutorial, you use the Replicated CLI to create and promote releases for a sample application with Replicated. The Replicated CLI is the CLI for the Replicated Vendor Portal. - -This procedure describes how to create a Vendor Portal account, install the Replicated CLI on your local machine, and set up a `REPLICATED_API_TOKEN` environment variable for authentication. - -To install the Replicated CLI: - -1. Do one of the following to create an account in the Replicated Vendor Portal: - * **Join an existing team**: If you have an existing Vendor Portal team, you can ask your team administrator to send you an invitation to join. - * **Start a trial**: Alternatively, go to [vendor.replicated.com](https://vendor.replicated.com/) and click **Sign up** to create a 21-day trial account for completing this tutorial. - -1. Run the following command to use [Homebrew](https://brew.sh) to install the CLI: - - ``` - brew install replicatedhq/replicated/cli - ``` - - For the latest Linux or macOS versions of the Replicated CLI, see the [replicatedhq/replicated](https://github.com/replicatedhq/replicated/releases) releases in GitHub. - -1. Verify the installation: - - ``` - replicated version - ``` - **Example output**: - - ```json - { - "version": "0.37.2", - "git": "8664ac3", - "buildTime": "2021-08-24T17:05:26Z", - "go": { - "version": "go1.14.15", - "compiler": "gc", - "os": "darwin", - "arch": "amd64" - } - } - ``` - If you run a Replicated CLI command, such as `replicated release ls`, you see the following error message about a missing API token: - - ``` - Error: set up APIs: Please provide your API token - ``` - -1. Create an API token for the Replicated CLI: - - 1. Log in to the Vendor Portal, and go to the [Account settings](https://vendor.replicated.com/account-settings) page. - - 1. Under **User API Tokens**, click **Create user API token**. For Nickname, provide a name for the token. For Permissions, select **Read and Write**. - - For more information about User API tokens, see [User API Tokens](replicated-api-tokens#user-api-tokens) in _Generating API Tokens_. - - 1. Click **Create Token**. - - 1. Copy the string that appears in the dialog. - -1. Export the string that you copied in the previous step to an environment variable named `REPLICATED_API_TOKEN`: - - ```bash - export REPLICATED_API_TOKEN=YOUR_TOKEN - ``` - Replace `YOUR_TOKEN` with the token string that you copied from the Vendor Portal in the previous step. - -1. Verify the User API token: - - ``` - replicated release ls - ``` - - You see the following error message: - - ``` - Error: App not found: - ``` - -## Next Step - -Continue to [Step 2: Create an Application](tutorial-cli-create-app) to use the Replicated CLI to create an application. diff --git a/docs/vendor/tutorial-cli-manifests.mdx b/docs/vendor/tutorial-cli-manifests.mdx deleted file mode 100644 index 84d15ba90c..0000000000 --- a/docs/vendor/tutorial-cli-manifests.mdx +++ /dev/null @@ -1,35 +0,0 @@ -# Step 3: Get the Sample Manifests - -To create a release for the `cli-tutorial` application, first create the Kubernetes manifest files for the application. This tutorial provides a set of sample manifest files for a simple Kubernetes application that deploys an NGINX service. - -To get the sample manifest files: - -1. Run the following command to create and change to a `replicated-cli-tutorial` directory: - - ``` - mkdir replicated-cli-tutorial - cd replicated-cli-tutorial - ``` - -1. Create a `/manifests` directory and download the sample manifest files from the [kots-default-yaml](https://github.com/replicatedhq/kots-default-yaml) repository in GitHub: - - ``` - mkdir ./manifests - curl -fSsL https://github.com/replicatedhq/kots-default-yaml/archive/refs/heads/main.zip | \ - tar xzv --strip-components=1 -C ./manifests \ - --exclude README.md --exclude LICENSE --exclude .gitignore - ``` - -1. Verify that you can see the YAML files in the `replicated-cli-tutorial/manifests` folder: - - ``` - ls manifests/ - ``` - ``` - example-configmap.yaml example-service.yaml kots-app.yaml kots-lint-config.yaml kots-support-bundle.yaml - example-deployment.yaml k8s-app.yaml kots-config.yaml kots-preflight.yaml - ``` - -## Next Step - -Continue to [Step 4: Create a Release](tutorial-cli-create-release) to create and promote the first release for the `cli-tutorial` application using these manifest files. diff --git a/docs/vendor/tutorial-cli-setup.mdx b/docs/vendor/tutorial-cli-setup.mdx deleted file mode 100644 index a96155a59b..0000000000 --- a/docs/vendor/tutorial-cli-setup.mdx +++ /dev/null @@ -1,35 +0,0 @@ -import KubernetesTraining from "../partials/getting-started/_kubernetes-training.mdx" -import LabsIntro from "../partials/getting-started/_labs-intro.mdx" -import TutorialIntro from "../partials/getting-started/_tutorial-intro.mdx" -import RelatedTopics from "../partials/getting-started/_related-topics.mdx" -import VMRequirements from "../partials/getting-started/_vm-requirements.mdx" - -# Introduction and Setup - -The KOTS HelmChart custom resource provides instructions to KOTS about how to deploy the Helm chart. The name and chartVersion listed in the HelmChart custom resource must match the name and version of a Helm chart archive in the release. The optionalValues field sets the specified Helm values when a given conditional statement evaluates to true. In this case, if the application is installed with Embedded Cluster, then the Gitea service type is set to `NodePort` and the node port is set to `"32000"`. This will allow Gitea to be accessed from the local machine after deployment.
The KOTS Application custom resource enables features in the Replicated Admin Console such as branding, release notes, application status indicators, and custom graphs.
The YAML below provides a name for the application to display in the Admin Console, adds a custom status informer that displays the status of the gitea Deployment resource in the Admin Console dashboard, adds a custom application icon, and adds the port where the Gitea service can be accessed so that the user can open the application after installation.
The Kubernetes Application custom resource supports functionality such as including buttons and links on the Replicated Admin Console dashboard. The YAML below adds an Open App button to the Admin Console dashboard that opens the application using the service port defined in the KOTS Application custom resource.
-To install your application with Embedded Cluster, an Embedded Cluster Config must be present in the release. At minimum, the Embedded Cluster Config sets the version of Embedded Cluster that will be installed. You can also define several characteristics about the cluster.
-
-
- [View a larger version of this image](/images/release-promote.png)
-
-## Next Step
-
-Create a customer with the Embedded Cluster entitlement so that you can install the release using Embedded Cluster. See [Step 4: Create an Embedded Cluster-Enabled Customer](tutorial-embedded-cluster-create-customer).
-
-## Related Topics
-
-* [About Channels and Releases](/vendor/releases-about)
-* [Configuring the HelmChart Custom Resource](/vendor/helm-native-v2-using)
-* [Embedded Cluster Config](/reference/embedded-config)
-* [Setting Helm Values with KOTS](/vendor/helm-optional-value-keys)
\ No newline at end of file
diff --git a/docs/vendor/tutorial-embedded-cluster-install.mdx b/docs/vendor/tutorial-embedded-cluster-install.mdx
deleted file mode 100644
index f33f1b01d2..0000000000
--- a/docs/vendor/tutorial-embedded-cluster-install.mdx
+++ /dev/null
@@ -1,111 +0,0 @@
-import KotsVerReq from "../partials/replicated-sdk/_kots-version-req.mdx"
-
-# Step 5: Install the Release on a VM
-
-Next, get the customer-specific Embedded Cluster installation commands and then install the release on a Linux VM.
-
-To install the release with Embedded Cluster:
-
-1. In the [Vendor Portal](https://vendor.replicated.com), go to **Customers**. Click on the name of the customer you created.
-
-1. Click **Install instructions > Embedded cluster**.
-
-
-
- [View a larger version of this image](/images/customer-install-instructions-dropdown.png)
-
- The **Embedded cluster install instructions** dialog opens.
-
-
-
- [View a larger version of this image](/images/embedded-cluster-install-dialog-latest.png)
-
-1. On the command line, SSH onto your Linux VM.
-
-1. Run the first command in the **Embedded cluster install instructions** dialog to download the latest release.
-
-1. Run the second command to extract the release.
-
-1. Run the third command to install the release.
-
-1. When prompted, enter a password for accessing the KOTS Admin Console.
-
- The installation command takes a few minutes to complete.
-
-1. When the installation command completes, go to the URL provided in the output to log in to the Admin Console.
-
- **Example output:**
-
- ```bash
- ✔ Host files materialized
- ? Enter an Admin Console password: ********
- ? Confirm password: ********
- ✔ Node installation finished
- ✔ Storage is ready!
- ✔ Embedded Cluster Operator is ready!
- ✔ Admin Console is ready!
- ✔ Finished!
- Visit the admin console to configure and install gitea-kite: http://104.155.145.60:30000
- ```
-
- At this point, the cluster is provisioned and the KOTS Admin Console is deployed, but the application is not yet installed.
-
-1. Bypass the browser TLS warning by clicking **Continue to Setup**.
-
-1. Click **Advanced > Proceed**.
-
-1. On the **HTTPS for the Gitea Admin Console** page, select **Self-signed** and click **Continue**.
-
-1. On the login page, enter the Admin Console password that you created during installation and click **Log in**.
-
-1. On the **Nodes** page, you can view details about the VM where you installed, including its node role, status, CPU, and memory. Users can also optionally add additional nodes on this page before deploying the application. Click **Continue**.
-
- The Admin Console dashboard opens.
-
-1. In the **Version** section, for version `0.1.0`, click **Deploy** then **Yes, Deploy**.
-
- The application status changes from Missing to Unavailable while the `gitea` Deployment is being created.
-
-1. After a few minutes when the application status is Ready, click **Open App** to view the Gitea application in a browser:
-
- 
-
- [View a larger version of this image](/images/gitea-ec-ready.png)
-
-
-
- [View a larger version of this image](/images/gitea-app.png)
-
-1. In another browser window, open the [Vendor Portal](https://vendor.replicated.com/) and go to **Customers**. Select the customer that you created.
-
- On the **Reporting** page for the customer, you can see details about the customer's license and installed instances:
-
- 
-
- [View a larger version of this image](/images/gitea-customer-reporting-ec.png)
-
-1. On the **Reporting** page, under **Instances**, click on the instance that you just installed to open the instance details page.
-
- On the instance details page, you can see additional insights such as the version of Embedded Cluster that is running, instance status and uptime, and more:
-
- 
-
- [View a larger version of this image](/images/gitea-instance-insights-ec.png)
-
-1. (Optional) Reset the node to remove the cluster and the application from the node. This is useful for iteration and development so that you can reset a machine and reuse it instead of having to procure another machine.
-
- ```bash
- sudo ./APP_SLUG reset --reboot
- ```
- Where `APP_SLUG` is the unique slug for the application that you created. You can find the appication slug by running `replicated app ls` on the command line on your local machine.
-
-## Summary
-
-Congratulations! As part of this tutorial, you created a release in the Replicated Vendor Portal and installed the release with Replicated Embedded Cluster in a VM. To learn more about Embedded Cluster, see [Embedded Cluster Overview](embedded-overview).
-
-## Related Topics
-
-* [Embedded Cluster Overview](embedded-overview)
-* [Customer Reporting](/vendor/customer-reporting)
-* [Instance Details](/vendor/instance-insights-details)
-* [Reset a Node](/vendor/embedded-using#reset-a-node)
\ No newline at end of file
diff --git a/docs/vendor/tutorial-embedded-cluster-package-chart.mdx b/docs/vendor/tutorial-embedded-cluster-package-chart.mdx
deleted file mode 100644
index ab50d16d32..0000000000
--- a/docs/vendor/tutorial-embedded-cluster-package-chart.mdx
+++ /dev/null
@@ -1,51 +0,0 @@
-import DependencyYaml from "../partials/replicated-sdk/_dependency-yaml.mdx"
-import UnauthorizedError from "../partials/replicated-sdk/_401-unauthorized.mdx"
-
-# Step 2: Package the Gitea Helm Chart
-
-Next, get the sample Gitea Helm chart from Bitnami. Add the Replicated SDK as a dependency of the chart, then package the chart into a `.tgz` archive. The purpose of this step is to prepare the Helm chart to be added to a release.
-
-The Replicated SDK is a Helm chart that can be optionally added as a dependency of your application Helm chart. The SDK is installed as a small service running alongside your application, and provides an in-cluster API that you can use to embed Replicated features into your application. Additionally, the Replicated SDK provides access to insights and telemetry for instances of your application installed with the Helm CLI.
-
-To add the Replicated SDK and package the Helm chart:
-
-1. Run the following command to pull and untar version 1.0.6 of the Bitnami Gitea Helm chart:
-
- ```
- helm pull --untar oci://registry-1.docker.io/bitnamicharts/gitea --version 1.0.6
- ```
- For more information about this chart, see the [bitnami/gitea](https://github.com/bitnami/charts/tree/main/bitnami/gitea) repository in GitHub.
-
-1. Change to the new `gitea` directory that was created:
- ```
- cd gitea
- ```
-1. View the files in the directory:
- ```
- ls
- ```
- The directory contains the following files:
- ```
- Chart.lock Chart.yaml README.md charts templates values.yaml
- ```
-
-1. In the `Chart.yaml` file, add the Replicated SDK as a dependency:
-
-
- 
+ [View a larger version of this image](/images/quick-start-app-dropdown-slackernews.png)
- [View a larger version of this image](/images/create-customer.png)
+1. Click **Customers > Create customer**.
-1. For **Customer name**, enter a name for the customer. For example, `KOTS Customer`.
+ The **Create a new customer** page opens:
-1. For **Channel**, select **Unstable**. This allows the customer to install releases promoted to the Unstable channel.
+ 
-1. For **Customer type**, select Development.
+ [View a larger version of this image](/images/create-customer.png)
-1. For **Install types options**, verify that **Existing Cluster (KOTS Install)** is enabled. This is the entitlement that allows the customer to install with KOTS.
+1. For **Customer name**, enter a name for the customer. For example, `Example Customer`.
-1. Click **Save Changes**.
+1. For email, enter an email address for the customer.
-1. On the **Manage customer** page for the customer, click **Download license**. You will use the license file to install with KOTS.
+ Helm CLI installations require that the customer has a valid email address to authenticate with the Replicated registry.
+
+1. For **Channel**, select **Unstable**. This allows the customer to install releases promoted to the Unstable channel.
- 
+1. For **Customer type**, select **Development**.
+
+1. For **Install types**, enable **Existing Cluster (Helm install)**.
+
+1. Click **Save Changes**.
- [View a larger version of this image](/images/customer-download-license.png)
## Next Step
diff --git a/docs/vendor/tutorial-kots-helm-create-release.md b/docs/vendor/tutorial-kots-helm-create-release.md
index d05ec37d6c..feff17e907 100644
--- a/docs/vendor/tutorial-kots-helm-create-release.md
+++ b/docs/vendor/tutorial-kots-helm-create-release.md
@@ -4,78 +4,15 @@ import HelmChartCr from "../partials/getting-started/_gitea-helmchart-cr.mdx"
import KotsCr from "../partials/getting-started/_gitea-kots-app-cr.mdx"
import K8sCr from "../partials/getting-started/_gitea-k8s-app-cr.mdx"
-# Step 4: Add the Chart Archive to a Release
+# Step 3: Add the Chart Archive to a Release
-Next, add the Helm chart archive to a new release for the application in the Replicated Vendor Portal. The purpose of this step is to configure a release that supports installation with both Replicated KOTS and with the Helm CLI.
+Next, add the Helm chart archive to a new release for the application in the Replicated Vendor Portal.
A _release_ represents a single version of your application and contains your application files. Each release is promoted to one or more _channels_. Channels provide a way to progress releases through the software development lifecycle: from internal testing, to sharing with early-adopters, and finally to making the release generally available.
To create a release:
-1. In the `gitea` directory, create a subdirectory named `manifests`:
-
- ```
- mkdir manifests
- ```
-
- You will add the files required to support installation with Replicated KOTS to this subdirectory.
-
-1. Move the Helm chart archive that you created to `manifests`:
-
- ```
- mv gitea-1.0.6.tgz manifests
- ```
-
-1. In `manifests`, create the YAML manifests required by KOTS:
- ```
- cd manifests
- ```
- ```
- touch gitea.yaml kots-app.yaml k8s-app.yaml
- ```
-
-1. In each of the files that you created, paste the corresponding YAML provided in the tabs below:
-
- The KOTS HelmChart custom resource provides instructions to KOTS about how to deploy the Helm chart. The name and chartVersion listed in the HelmChart custom resource must match the name and version of a Helm chart archive in the release. Each Helm chart archive in a release requires a unique HelmChart custom resource.
The KOTS Application custom resource enables features in the KOTS Admin Console such as branding, release notes, port forwarding, dashboard buttons, application status indicators, and custom graphs.
The YAML below provides a name for the application to display in the Admin Console, adds a custom status informer that displays the status of the gitea Deployment resource in the Admin Console dashboard, adds a custom application icon, and creates a port forward so that the user can open the Gitea application in a browser.
The Kubernetes Application custom resource supports functionality such as including buttons and links on the KOTS Admin Console dashboard. The YAML below adds an Open App button to the Admin Console dashboard that opens the application using the port forward configured in the KOTS Application custom resource.
-
-
- [View a larger version of this image](/images/release-promote.png)
-
## Next Step
-Create a customer with the KOTS entitlement so that you can install the release in your cluster using Replicated KOTS. See [Step 5: Create a KOTS-Enabled Customer](tutorial-kots-helm-create-customer).
+Create a customer. See [Step 5: Create a Helm-Enabled Customer](tutorial-kots-helm-create-customer).
## Related Topics
diff --git a/docs/vendor/tutorial-kots-helm-get-chart.md b/docs/vendor/tutorial-kots-helm-get-chart.md
deleted file mode 100644
index 7239e490d9..0000000000
--- a/docs/vendor/tutorial-kots-helm-get-chart.md
+++ /dev/null
@@ -1,107 +0,0 @@
-# Step 1: Get the Sample Chart and Test
-
-To begin, get the sample Gitea Helm chart from Bitnami, install the chart in your cluster using the Helm CLI, and then uninstall. The purpose of this step is to confirm that you can successfully install and access the application before adding the chart to a release in the Replicated Vendor Portal.
-
-To get the sample Gitea Helm chart and test installation:
-
-1. Run the following command to pull and untar version 1.0.6 of the Bitnami Gitea Helm chart:
-
- ```
- helm pull --untar oci://registry-1.docker.io/bitnamicharts/gitea --version 1.0.6
- ```
- For more information about this chart, see the [bitnami/gitea](https://github.com/bitnami/charts/tree/main/bitnami/gitea) repository in GitHub.
-
-1. Change to the new `gitea` directory that was created:
- ```
- cd gitea
- ```
-1. View the files in the directory:
- ```
- ls
- ```
- The directory contains the following files:
- ```
- Chart.lock Chart.yaml README.md charts templates values.yaml
- ```
-1. Install the Gitea chart in your cluster:
-
- ```
- helm install gitea . --namespace gitea --create-namespace
- ```
- To view the full installation instructions from Bitnami, see [Installing the Chart](https://github.com/bitnami/charts/blob/main/bitnami/gitea/README.md#installing-the-chart) in the `bitnami/gitea` repository.
-
- When the chart is installed, the following output is displayed:
-
- ```
- NAME: gitea
- LAST DEPLOYED: Tue Oct 24 12:44:55 2023
- NAMESPACE: gitea
- STATUS: deployed
- REVISION: 1
- TEST SUITE: None
- NOTES:
- CHART NAME: gitea
- CHART VERSION: 1.0.6
- APP VERSION: 1.20.5
-
- ** Please be patient while the chart is being deployed **
-
- 1. Get the Gitea URL:
-
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- Watch the status with: 'kubectl get svc --namespace gitea -w gitea'
-
- export SERVICE_IP=$(kubectl get svc --namespace gitea gitea --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
- echo "Gitea URL: http://$SERVICE_IP/"
-
- WARNING: You did not specify a Root URL for Gitea. The rendered URLs in Gitea may not show correctly. In order to set a root URL use the rootURL value.
-
- 2. Get your Gitea login credentials by running:
-
- echo Username: bn_user
- echo Password: $(kubectl get secret --namespace gitea gitea -o jsonpath="{.data.admin-password}" | base64 -d)
- ```
-
-1. Watch the `gitea` LoadBalancer service until an external IP is available:
-
- ```
- kubectl get svc gitea --namespace gitea --watch
- ```
-
-1. When the external IP for the `gitea` LoadBalancer service is available, run the commands provided in the output of the installation command to get the Gitea URL:
-
- ```
- export SERVICE_IP=$(kubectl get svc --namespace gitea gitea --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
- echo "Gitea URL: http://$SERVICE_IP/"
- ```
-
-1. In a browser, go to the Gitea URL to confirm that you can see the welcome page for the application:
-
-
-
- [View a larger version of this image](/images/gitea-app.png)
-
-1. Uninstall the Helm chart:
-
- ```
- helm uninstall gitea --namespace gitea
- ```
- This command removes all the Kubernetes components associated with the chart and uninstalls the `gitea` release.
-
-1. Delete the namespace:
-
- ```
- kubectl delete namespace gitea
- ```
-
-## Next Step
-
-Log in to the Vendor Portal and create an application. See [Step 2: Create an Application](tutorial-kots-helm-create-app).
-
-## Related Topics
-
-* [Helm Install](https://helm.sh/docs/helm/helm_install/)
-* [Helm Uninstall](https://helm.sh/docs/helm/helm_uninstall/)
-* [Helm Create](https://helm.sh/docs/helm/helm_create/)
-* [Helm Package](https://helm.sh/docs/helm/helm_package/)
-* [bitnami/gitea](https://github.com/bitnami/charts/blob/main/bitnami/gitea)
\ No newline at end of file
diff --git a/docs/vendor/tutorial-kots-helm-install-helm.md b/docs/vendor/tutorial-kots-helm-install-helm.md
index 3d6dad07ca..82e8860506 100644
--- a/docs/vendor/tutorial-kots-helm-install-helm.md
+++ b/docs/vendor/tutorial-kots-helm-install-helm.md
@@ -1,8 +1,4 @@
-# Step 7: Install the Release with the Helm CLI
-
-Next, install the same release using the Helm CLI. All releases that contain one or more Helm charts can be installed with the Helm CLI.
-
-All Helm charts included in a release are automatically pushed to the Replicated registry when the release is promoted to a channel. Helm CLI installations require that the customer has a valid email address to authenticate with the Replicated registry.
+# Step 5: Install the Release with the Helm CLI
To install the release with the Helm CLI:
diff --git a/docs/vendor/tutorial-kots-helm-install-kots.md b/docs/vendor/tutorial-kots-helm-install-kots.md
deleted file mode 100644
index 795bb58170..0000000000
--- a/docs/vendor/tutorial-kots-helm-install-kots.md
+++ /dev/null
@@ -1,147 +0,0 @@
-import KotsVerReq from "../partials/replicated-sdk/_kots-version-req.mdx"
-
-# Step 6: Install the Release with KOTS
-
-Next, get the KOTS installation command from the Unstable channel in the Vendor Portal and then install the release using the customer license that you downloaded.
-
-To install the release with KOTS:
-
-1. In the [Vendor Portal](https://vendor.replicated.com), go to **Channels**. From the **Unstable** channel card, under **Install**, copy the **KOTS Install** command.
-
- 
-
- [View a larger version of this image](/images/helm-tutorial-unstable-kots-install-command.png)
-
-1. On the command line, run the **KOTS Install** command that you copied:
-
- ```bash
- curl https://kots.io/install | bash
- kubectl kots install $REPLICATED_APP/unstable
- ```
-
- This installs the latest version of the KOTS CLI and the Replicated KOTS Admin Console. The Admin Console provides a user interface where you can upload the customer license file and deploy the application.
-
- For additional KOTS CLI installation options, including how to install without root access, see [Installing the KOTS CLI](/reference/kots-cli-getting-started).
-
- :::note
-