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. - - ![Admin Console app dashboard](/images/tutorials/tutorial-admin-console-dashboard.png) - -1. On the **Config** tab, select the **Customize Text Inputs** checkbox. In the **Text Example** field, enter any text. For example, `Hello`. - - ![Admin Console configuration tab](/images/tutorials/tutorial-install-config-tab.png) - - 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. - - ![Admin Console configuration tab](/images/tutorials/tutorial-install-version-history.png) - -1. Click **Open App** to view the application in your browser. - - ![web page that displays text](/images/tutorials/tutorial-open-app.png) - - 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 steps in this KOTS CLI-based tutorial show you how to use the Replicated CLI to perform these tasks. The Replicated CLI is the CLI for the Replicated Vendor Portal. You can use the Replicated CLI as a software vendor to programmatically create, configure, and manage your application artifacts, including application releases, release channels, customer entitlements, private image registries, and more. - - - -## Set Up the Environment - -As part of this tutorial, you will install a sample application into a Kubernetes cluster. Before you begin, do the following to set up your environment: - -* Create a Kubernetes cluster that meets the minimum system requirements described in [KOTS Installation Requirements](/enterprise/installing-general-requirements). You can use any cloud provider or tool that you prefer to create a cluster, such as Google Kubernetes Engine (GKE), Amazon Web Services (AWS), or minikube. - - **Example:** - - For example, to create a cluster in GKE, run the following command in the gcloud CLI: - - ``` - gcloud container clusters create NAME --preemptible --no-enable-ip-alias - ``` - Where `NAME` is any name for the cluster. - -* Install kubectl, the Kubernetes command line tool. See [Install Tools](https://kubernetes.io/docs/tasks/tools/) in the Kubernetes documentation. -* Configure kubectl command line access to the cluster that you created. See [Command line tool (kubectl)](https://kubernetes.io/docs/reference/kubectl/) in the Kubernetes documentation. - -## Related Topics - - diff --git a/docs/vendor/tutorial-cli-update-app.mdx b/docs/vendor/tutorial-cli-update-app.mdx deleted file mode 100644 index 55ed306dc1..0000000000 --- a/docs/vendor/tutorial-cli-update-app.mdx +++ /dev/null @@ -1,58 +0,0 @@ -# Step 9: Update the Application - -To test the new release that you promoted, return to the Admin Console in a browser to update the application. - -To update the application: - -1. Access the KOTS 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 the Admin Console is installed. - -1. Go to the Version history page, and click **Check for update**. - - ![Admin Console version history page](/images/tutorials/tutorial-check-for-update.png) - - The Admin Console loads the new release that you promoted. - -1. Click **Deploy**. In the dialog, click **Yes, deploy** to deploy the new version. - - ![Admin Console version history page with new version](/images/tutorials/tutorial-deploy-app.png) - -1. After the Admin Console deploys the new version, go to the **Config** page where the **Another Text Example** field that you added is displayed. - - ![Admin Console configuration page with Another Text Example field](/images/tutorials/tutorial-new-config-item.png) - -1. In the new **Another Text Example** field, enter any text. Click **Save config**. - - The Admin Console notifies you that the configuration settings for the application have changed. - - ![dialog over Admin Console configuration screen](/images/tutorials/tutorial-go-to-updated-version.png) - -1. In the dialog, click **Go to updated version**. - - The Admin Console loads the updated version on the Version history page. - -1. On the Version history page, click **Deploy** next to the latest version to deploy the configuration change. - - ![Admin Console version history page with new version](/images/tutorials/tutorial-deploy-config-change.png) - -1. Go to the **Dashboard** page and click **Open App**. The application displays the text that you added to the field. - - ![web page with text from the new configuration field](/images/tutorials/tutorial-updated-app.png) - - :::note - If you do not see the new text, refresh your browser. - ::: - -## Summary - -Congratulations! As part of this tutorial, you: -* Created and promoted a release for a Kubernetes application using the Replicated CLI -* Installed the application in a Kubernetes cluster -* Edited the manifest files for the application, adding a new configuration field and using template functions to reference the field -* Promoted a new release with your changes -* Used the Admin Console to update the application to the latest version diff --git a/docs/vendor/tutorial-embedded-cluster-create-app.mdx b/docs/vendor/tutorial-embedded-cluster-create-app.mdx deleted file mode 100644 index a91c19e899..0000000000 --- a/docs/vendor/tutorial-embedded-cluster-create-app.mdx +++ /dev/null @@ -1,63 +0,0 @@ -# Step 1: Create an Application - -To begin, install the Replicated CLI and create an application in the Replicated Vendor Portal. - -An _application_ is an object that has its own customers, channels, releases, license fields, and more. A single team can have more than one application. It is common for teams to have multiple applications for the purpose of onboarding, testing, and iterating. - -To create an application: - -1. Install the Replicated CLI: - - ``` - brew install replicatedhq/replicated/cli - ``` - For more installation options, see [Install the Replicated CLI](/reference/replicated-cli-installing). - -1. Authorize the Replicated CLI: - - ``` - replicated login - ``` - In the browser window that opens, complete the prompts to log in to your vendor account and authorize the CLI. - -1. Create an application named `Gitea`: - - ``` - replicated app create Gitea - ``` - -1. Set the `REPLICATED_APP` environment variable to the application that you created. This allows you to interact with the application using the Replicated CLI without needing to use the `--app` flag with every command: - - 1. Get the slug for the application that you created: - - ``` - replicated app ls - ``` - **Example output**: - ``` - ID NAME SLUG SCHEDULER - 2WthxUIfGT13RlrsUx9HR7So8bR Gitea gitea-kite kots - ``` - In the example above, the application slug is `gitea-kite`. - - :::note - The application _slug_ is a unique string that is generated based on the application name. You can use the application slug to interact with the application through the Replicated CLI and the Vendor API v3. The application name and slug are often different from one another because it is possible to create more than one application with the same name. - ::: - - 1. Set the `REPLICATED_APP` environment variable to the application slug. - - **Example:** - - ``` - export REPLICATED_APP=gitea-kite - ``` - -## Next Step - -Add the Replicated SDK to the Helm chart and package the chart to an archive. See [Step 2: Package the Helm Chart](tutorial-embedded-cluster-package-chart). - -## Related Topics - -* [Create an Application](/vendor/vendor-portal-manage-app#create-an-application) -* [Installing the Replicated CLI](/reference/replicated-cli-installing) -* [replicated app create](/reference/replicated-cli-app-create) \ No newline at end of file diff --git a/docs/vendor/tutorial-embedded-cluster-create-customer.mdx b/docs/vendor/tutorial-embedded-cluster-create-customer.mdx deleted file mode 100644 index 2901bbb3cc..0000000000 --- a/docs/vendor/tutorial-embedded-cluster-create-customer.mdx +++ /dev/null @@ -1,33 +0,0 @@ -# Step 4: Create an Embedded Cluster-Enabled Customer - -After promoting the release, create a customer with the Replicated KOTS and Embedded Cluster entitlements so that you can install the release with Embedded Cluster. A _customer_ represents a single licensed user of your application. - -To create a customer: - -1. In the [Vendor Portal](https://vendor.replicated.com), click **Customers > Create customer**. - - The **Create a new customer** page opens: - - ![Customer a new customer page in the Vendor Portal](/images/create-customer.png) - - [View a larger version of this image](/images/create-customer.png) - -1. For **Customer name**, enter a name for the customer. For example, `Example Customer`. - -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 **License options**, enable the following entitlements: - * **Embedded Cluster** - -1. Click **Save Changes**. - -## Next Step - -Get the Embedded Cluster installation commands and install. See [Step 5: Install the Release on a VM](tutorial-embedded-cluster-install). - -## Related Topics - -* [About Customers](/vendor/licenses-about) -* [Creating and Managing Customers](/vendor/releases-creating-customer) diff --git a/docs/vendor/tutorial-embedded-cluster-create-release.mdx b/docs/vendor/tutorial-embedded-cluster-create-release.mdx deleted file mode 100644 index b5132b4171..0000000000 --- a/docs/vendor/tutorial-embedded-cluster-create-release.mdx +++ /dev/null @@ -1,132 +0,0 @@ -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -import HelmChartCr from "../partials/getting-started/_gitea-helmchart-cr-ec.mdx" -import KotsCr from "../partials/getting-started/_gitea-kots-app-cr-ec.mdx" -import K8sCr from "../partials/getting-started/_gitea-k8s-app-cr.mdx" -import EcCr from "../partials/embedded-cluster/_ec-config.mdx" - -# 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 Replicated Embedded Cluster. - -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 embedded-cluster.yaml - ``` - -1. In each of the files that you created, paste the corresponding YAML provided in the tabs below: - - - -
Description
-

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.

-
YAML
- -
- -
Description
-

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.

-
YAML
- -
- -
Description
-

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.

-
YAML
- -
- -
Description
-

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.

-
YAML
- -
-
- -1. Lint: - - ```bash - replicated release lint --yaml-dir . - ``` - ```bash - RULE TYPE FILENAME LINE MESSAGE - config-spec warn Missing config spec - preflight-spec warn Missing preflight spec - troubleshoot-spec warn Missing troubleshoot spec - nonexistent-status-informer-object warn kots-app.yaml 8 Status informer points to a nonexistent kubernetes object. If this is a Helm resource, this warning can be ignored. - ``` - :::note - You can ignore any warning messages for the purpose of this tutorial. - ::: - -1. Create a release: - - ``` - replicated release create --yaml-dir . - ``` - **Example output**: - ``` - • Reading manifests from . ✓ - • Creating Release ✓ - • SEQUENCE: 1 - ``` - -1. Log in to the Vendor Portal and go to **Releases**. - - The release that you created is listed under **All releases**. - - ![Release page in the Vendor Portal with one release](/images/gitea-ec-release-seq-1.png) - - [View a larger version of this image](/images/gitea-ec-release-seq-1.png) - -1. Click the dot menu then **Edit release** to view the files in the release. - - ![dot menu](/images/gitea-ec-release-edit-button.png) - - [View a larger version of this image](/images/gitea-ec-release-edit-button.png) - - In the release editor, you can see the manifest files that you created, the Helm chart `.tgz` archive, and the `Chart.yaml` and `values.yaml` files for the Gitea Helm chart. You can also see the same warning messages that were displayed in the CLI output. - - ![Edit Release page in the Vendor Portal](/images/gitea-ec-release-edit-seq-1.png) - - [View a larger version of this image](/images/gitea-ec-release-edit-seq-1.png) - -1. At the top of the page, click **Promote**. - -1. In the dialog, for **Which channels you would like to promote this release to?**, select **Unstable**. Unstable is a default channel that is intended for use with internal testing. Click **Promote**. - - Promote release dialog - - [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**. - - Customer install instructions dropdown - - [View a larger version of this image](/images/customer-install-instructions-dropdown.png) - - The **Embedded cluster install instructions** dialog opens. - - Embedded Cluster install instructions dialog - - [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: - - ![Admin console dashboard showing ready status](/images/gitea-ec-ready.png) - - [View a larger version of this image](/images/gitea-ec-ready.png) - - Gitea app landing page - - [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: - - ![Customer reporting page](/images/gitea-customer-reporting-ec.png) - - [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: - - ![Customer instance details page](/images/gitea-instance-insights-ec.png) - - [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: - - - -1. Update dependencies and package the Helm chart to a `.tgz` chart archive: - - ```bash - helm package . --dependency-update - ``` - - -## Next Step - -Create a release using the Helm chart archive. See [Step 3: Add the Chart Archive to a Release](tutorial-embedded-cluster-create-release). - -## Related Topics - -* [Packaging a Helm Chart for a Release](/vendor/helm-install-release.md) -* [About the Replicated SDK](/vendor/replicated-sdk-overview) -* [Helm Package](https://helm.sh/docs/helm/helm_package/) diff --git a/docs/vendor/tutorial-embedded-cluster-setup.mdx b/docs/vendor/tutorial-embedded-cluster-setup.mdx deleted file mode 100644 index fed67ea4af..0000000000 --- a/docs/vendor/tutorial-embedded-cluster-setup.mdx +++ /dev/null @@ -1,24 +0,0 @@ -import Requirements from "../partials/embedded-cluster/_requirements.mdx" - -# Introduction and Setup - -This topic provides a summary of the goals and outcomes for the tutorial and also lists the prerequisites to set up your environment before you begin. - -## Summary - -This tutorial introduces you to installing an application on a Linux virtual machine (VM) using Replicated Embedded Cluster. Embedded Cluster allows you to distribute a Kubernetes cluster and your application together as a single appliance, making it easy for enterprise users to install, update, and manage the application and the cluster in tandem. - -In this tutorial, you use a sample application to learn how to: - -* Add the Embedded Cluster Config to a release -* Use Embedded Cluster to install the application on a Linux VM - -## Set Up the Environment - -Before you begin, ensure that you have access to a VM that meets the requirements for Embedded Cluster: - - - -## Next Step - -Install the Replicated CLI and create an application in the Replicated Vendor Portal. See [Step 1: Create an Application](/vendor/tutorial-embedded-cluster-create-app). \ No newline at end of file diff --git a/docs/vendor/tutorial-kots-helm-create-app.md b/docs/vendor/tutorial-kots-helm-create-app.md index 252470d9e8..0ac24f5ff5 100644 --- a/docs/vendor/tutorial-kots-helm-create-app.md +++ b/docs/vendor/tutorial-kots-helm-create-app.md @@ -1,60 +1,64 @@ -# Step 2: Create an Application +# Step 1: Create an Application -Next, install the Replicated CLI and then create an application. +To start, install the Replicated CLI and create an application. An _application_ is an object that has its own customers, channels, releases, license fields, and more. A single team can have more than one application. It is common for teams to have multiple applications for the purpose of onboarding, testing, and iterating. To create an application: -1. Install the Replicated CLI: +1. On your local machine, install the Replicated CLI: - ``` +* **Mac** + + ```bash brew install replicatedhq/replicated/cli ``` - For more installation options, see [Install the Replicated CLI](/reference/replicated-cli-installing). +* **Linux / Windows Subsystem for Linux (WSL)** + + ```bash + version=$(curl -s https://api.github.com/repos/replicatedhq/replicated/releases/latest \ + | grep -m1 -Po '"tag_name":\s*"v\K[^"]+') + curl -Ls \ + "https://github.com/replicatedhq/replicated/releases/download/v${version}/replicated_${version}_linux_amd64.tar.gz" \ + -o replicated.tar.gz + tar xf replicated.tar.gz replicated && rm replicated.tar.gz + mv replicated /usr/local/bin/replicated + ``` +For more information and additional installation options, see [Install the Replicated CLI](/reference/replicated-cli-installing). 1. Authorize the Replicated CLI: - ``` - replicated login - ``` - In the browser window that opens, complete the prompts to log in to your vendor account and authorize the CLI. + ```bash + replicated login + ``` + In the browser window that opens, complete the prompts to log in to your Vendor Portal account and authorize the CLI. -1. Create an application named `Gitea`: - - ``` - replicated app create Gitea - ``` +1. Create an application named `SlackerNews`: -1. Set the `REPLICATED_APP` environment variable to the application that you created. This allows you to interact with the application using the Replicated CLI without needing to use the `--app` flag with every command: + ```bash + replicated app create SlackerNews + ``` - 1. Get the slug for the application that you created: +1. Set the `REPLICATED_APP` environment variable to the application that you created: - ``` - replicated app ls - ``` - **Example output**: - ``` - ID NAME SLUG SCHEDULER - 2WthxUIfGT13RlrsUx9HR7So8bR Gitea gitea-boxer kots - ``` - In the example above, the application slug is `gitea-boxer`. + ```bash + export REPLICATED_APP=APP_SLUG + ``` + Where `APP_SLUG` is the unique application slug provided in the output of the `app create` command. - :::note - The application _slug_ is a unique string that is generated based on the application name. You can use the application slug to interact with the application through the Replicated CLI and the Vendor API v3. The application name and slug are often different from one another because it is possible to create more than one application with the same name. - ::: + This allows you to interact with the application using the Replicated CLI without needing to use the `--app` flag with every command. - 1. Set the `REPLICATED_APP` environment variable to the application slug. + :::note + The application _slug_ is a unique string that is generated based on the application name. You can use the application slug to interact with the application through the Replicated CLI and the Vendor API v3. The application name and slug are often different from one another because it is possible to create more than one application with the same name. + ::: - **Example:** +Next, add the SlackerNews chart archive to a release in the Vendor Portal. - ``` - export REPLICATED_APP=gitea-boxer - ``` +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. ## Next Step -Add the Replicated SDK to the Helm chart and package the chart to an archive. See [Step 3: Package the Helm Chart](tutorial-kots-helm-package-chart). +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). ## Related Topics diff --git a/docs/vendor/tutorial-kots-helm-create-customer.md b/docs/vendor/tutorial-kots-helm-create-customer.md index 08def28b42..b37fa9e61c 100644 --- a/docs/vendor/tutorial-kots-helm-create-customer.md +++ b/docs/vendor/tutorial-kots-helm-create-customer.md @@ -1,32 +1,37 @@ -# Step 5: Create a KOTS-Enabled Customer +# Step 4: Create a Test Customer -After promoting the release, create a customer with the KOTS entitlement so that you can install the release with KOTS. A _customer_ represents a single licensed user of your application. +After promoting the release, create a customer so that you can install the release. A _customer_ represents a single licensed user of your application. To create a customer: -1. In the [Vendor Portal](https://vendor.replicated.com), click **Customers > Create customer**. +1. In the [Vendor Portal](https://vendor.replicated.com), under the application drop down, select the SlackerNews application that you created. - The **Create a new customer** page opens: + App drop down - ![Customer a new customer page in the Vendor Portal](/images/create-customer.png) + [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. + ![Customer a new customer page in the Vendor Portal](/images/create-customer.png) -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. - ![Download license button on the customer page](/images/customer-download-license.png) +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: - - - -
Description
-

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.

-
YAML
- -
- -
Description
-

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.

-
YAML
- -
- -
Description
-

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.

-
YAML
- -
-
- -1. From the `manifests` directory, lint the YAML files to confirm that there are no errors: - - ``` - replicated release lint --yaml-dir . - ``` - `--yaml-dir` is the path to the directory that contains the Helm chart archive and the manifest files required by KOTS. - - **Example output**: - - ``` - RULE TYPE FILENAME LINE MESSAGE - config-spec warn Missing config spec - preflight-spec warn Missing preflight spec - troubleshoot-spec warn Missing troubleshoot spec - nonexistent-status-informer-object warn kots-app.yaml 8 Status informer points to a nonexistent kubernetes object. If this is a Helm resource, this warning can be ignored. - ``` - :::note - The output includes warning messages that list missing manifest files. These manifests control additional KOTS functionality and can be ignored for the purpose of this tutorial. The `nonexistent-status-informer-object` warning can also be ignored because the `gitea` Deployment resource that was added as a status informer in the KOTS Application custom resource is a Helm resource. - ::: +1. Go to the directory where you packaged the Helm chart. 1. Create a release: @@ -89,33 +26,9 @@ To create a release: • SEQUENCE: 1 ``` -1. Log in to the Vendor Portal and go to **Releases**. - - The release that you created is listed under **All releases**. - - ![Release page in the Vendor Portal with one release](/images/tutorial-kots-helm-release-seq-1.png) - - [View a larger version of this image](/images/tutorial-kots-helm-release-seq-1.png) - -1. Click **Edit release** to view the files in the release. - - In the release editor, you can see the manifest files that you created, the Helm chart `.tgz` archive, and the `Chart.yaml` and `values.yaml` files for the Gitea Helm chart. You can also see the same warning messages that were displayed in the CLI output. - - ![Edit Release page in the Vendor Portal](/images/tutorial-kots-helm-release-edit-seq-1.png) - - [View a larger version of this image](/images/tutorial-kots-helm-release-edit-seq-1.png) - -1. At the top of the page, click **Promote**. - -1. In the dialog, for **Which channels you would like to promote this release to?**, select **Unstable**. Unstable is a default channel that is intended for use with internal testing. Click **Promote**. - - Promote release dialog - - [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: - - Gitea application webpage - - [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. - - ![KOTS Install tab on the Unstable channel card](/images/helm-tutorial-unstable-kots-install-command.png) - - [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 - - ::: - -1. Complete the installation command prompts: - - 1. For `Enter the namespace to deploy to`, enter `gitea`. - - 1. For `Enter a new password to be used for the Admin Console`, provide a password to access the Admin Console. - - When the Admin Console is ready, the command prints the URL where you can access the Admin Console. At this point, the KOTS CLI is installed and the Admin Console is running, but the application is not yet deployed. - - **Example output:** - - ```bash - Enter the namespace to deploy to: gitea - • Deploying Admin Console - • Creating namespace ✓ - • Waiting for datastore to be ready ✓ - Enter a new password for the admin console (6+ characters): •••••••• - • Waiting for Admin Console to be ready ✓ - - • Press Ctrl+C to exit - • Go to http://localhost:8800 to access the Admin Console - ``` - -1. With the port forward running, in a browser, go to `http://localhost:8800` to access the Admin Console. - -1. On the login page, enter the password that you created. - -1. On the license page, select the license file that you downloaded previously and click **Upload license**. - - The Admin Console dashboard opens. The application status changes from Missing to Unavailable while the `gitea` Deployment is being created: - - ![Admin console dashboard](/images/tutorial-gitea-unavailable.png) - - [View a larger version of this image](/images/tutorial-gitea-unavailable.png) - -1. While waiting for the `gitea` Deployment to be created, do the following: - - 1. On the command line, press Ctrl+C to exit the port forward. - - 1. Watch for the `gitea` Deployment to become ready: - - ``` - kubectl get deploy gitea --namespace gitea --watch - ``` - - 1. After the `gitea` Deployment is ready, confirm that an external IP for the `gitea` LoadBalancer service is available: - - ``` - kubectl get svc gitea --namespace gitea - ``` - - 1. Start the port foward again to access the Admin Console: - - ``` - kubectl kots admin-console --namespace gitea - ``` - - 1. Go to `http://localhost:8800` to open the Admin Console. - -1. On the Admin Console dashboard, the application status is now displayed as Ready and you can click **Open App** to view the Gitea application in a browser: - - ![Admin console dashboard showing ready status](/images/tutorial-gitea-ready.png) - - [View a larger version of this image](/images/tutorial-gitea-ready.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: - - ![Customer reporting page](/images/tutorial-gitea-customer-reporting.png) - - [View a larger version of this image](/images/tutorial-gitea-customer-reporting.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 cluster where the application is installed, the version of KOTS running in the cluster, instance status and uptime, and more: - - ![Customer instance details page](/images/tutorial-gitea-instance-insights.png) - - [View a larger version of this image](/images/tutorial-gitea-instance-insights.png) - -1. Uninstall the Gitea application from your cluster so that you can install the same release again using the Helm CLI: - - ```bash - kubectl kots remove $REPLICATED_APP --namespace gitea --undeploy - ``` - **Example output**: - ``` - • Removing application gitea-boxer reference from Admin Console and deleting associated resources from the cluster ✓ - • Application gitea-boxer has been removed - ``` - -1. Remove the Admin Console from the cluster: - - 1. Delete the namespace where the Admin Console is installed: - - ``` - kubectl delete namespace gitea - ``` - 1. Delete the Admin Console ClusterRole and ClusterRoleBinding: - - ``` - kubectl delete clusterrole kotsadm-role - ``` - ``` - kubectl delete clusterrolebinding kotsadm-rolebinding - ``` - -## Next Step - -Install the same release with the Helm CLI. See [Step 7: Install the Release with the Helm CLI](tutorial-kots-helm-install-helm). - -## Related Topics - -* [kots install](/reference/kots-cli-install/) -* [Installing the KOTS CLI](/reference/kots-cli-getting-started/) -* [Delete the Admin Console and Remove Applications](/enterprise/delete-admin-console) -* [Customer Reporting](customer-reporting) -* [Instance Details](instance-insights-details) diff --git a/docs/vendor/tutorial-kots-helm-package-chart.md b/docs/vendor/tutorial-kots-helm-package-chart.md index 619e39df86..9794ca7f8a 100644 --- a/docs/vendor/tutorial-kots-helm-package-chart.md +++ b/docs/vendor/tutorial-kots-helm-package-chart.md @@ -1,33 +1,79 @@ import DependencyYaml from "../partials/replicated-sdk/_dependency-yaml.mdx" import UnauthorizedError from "../partials/replicated-sdk/_401-unauthorized.mdx" -# Step 3: Package the Helm Chart +# Step 2: Package the Helm Chart and Create a Release Next, add the Replicated SDK as a dependency of the Helm chart and 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: +Then, 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. -1. In your local file system, go to the `gitea` directory that was created as part of [Step 1: Get the Sample Chart and Test](tutorial-kots-helm-get-chart). +To get the sample SlackerNews chart, add the Replicated SDK, and package the chart: -1. In the `Chart.yaml` file, add the Replicated SDK as a dependency: +1. Run the following command to create a directory named `quick-start` and download version 0.4.14 of the `slackernews` Helm chart to this new directory: - + ``` + curl -O --create-dirs --output-dir quick-start https://docs.replicated.com/slackernews-0.4.14.tar.gz + ``` + +1. Untar the chart: + + ``` + tar -xzf quick-start/slackernews-0.4.14.tar.gz -C quick-start/ && rm slackernews-0.4.14.tar.gz + ``` + +1. Change to the `slackernews` chart directory: + + ```bash + cd quick-start/chart/slackernews + ``` + +1. List the files in the `slackernews` directory to view the contents of the Helm chart: + ```bash + ls + ``` + ```bash + Chart.lock Chart.yaml NOTES.txt README.md templates values.yaml + ``` + +1. In the SlackerNews Helm chart `Chart.yaml`, add the Replicated SDK as a dependency: + + + + The Replicated SDK is a Helm chart that provides access to Replicated features and can be installed as a small service alongside your application. For more information, see [About the Replicated SDK](/vendor/replicated-sdk-overview). 1. Update dependencies and package the Helm chart to a `.tgz` chart archive: - ```bash - helm package . --dependency-update + ```bash + helm package -u . + ``` + Where `-u` or `--dependency-update` is an option for the helm package command that updates chart dependencies before packaging. For more information, see [Helm Package](https://helm.sh/docs/helm/helm_package/) in the Helm documentation. + + + + The output of this command is a file named `slackernews-0.4.14.tgz`. + +1. From the directory where you packaged the chart, create a release: + + ``` + replicated release create --yaml-dir . + ``` + **Example output**: + ``` + • Reading manifests from . ✓ + • Creating Release ✓ + • SEQUENCE: 1 ``` - ## Next Step -Create a release using the Helm chart archive. See [Step 4: Add the Chart Archive to a Release](tutorial-kots-helm-create-release). +Create a customer. See [Step 5: Create a Helm-Enabled Customer](tutorial-kots-helm-create-customer). ## Related Topics +* [About Channels and Releases](/vendor/releases-about) +* [Configuring the HelmChart Custom Resource v2](/vendor/helm-native-v2-using) * [Packaging a Helm Chart for a Release](/vendor/helm-install-release.md) * [About the Replicated SDK](/vendor/replicated-sdk-overview) * [Helm Package](https://helm.sh/docs/helm/helm_package/) diff --git a/docs/vendor/tutorial-kots-helm-setup.md b/docs/vendor/tutorial-kots-helm-setup.md index 0e44ff392f..25da7841ca 100644 --- a/docs/vendor/tutorial-kots-helm-setup.md +++ b/docs/vendor/tutorial-kots-helm-setup.md @@ -4,27 +4,25 @@ This topic provides a summary of the goals and outcomes for the tutorial and als ## Summary -This tutorial introduces you to the Replicated Vendor Portal, the Replicated CLI, the Replicated SDK, and the Replicated KOTS installer. +This tutorial introduces you to the Replicated Vendor Portal, the Replicated CLI, the Replicated SDK, and how to install applications distributed with Replicated using the Helm CLI. In this tutorial, you use a sample Helm chart to learn how to: * Add the Replicated SDK to a Helm chart as a dependency * Create a release with the Helm chart using the Replicated CLI -* Add custom resources to the release so that it supports installation with both the Helm CLI and Replicated KOTS -* Install the release in a cluster using KOTS and the KOTS Admin Console -* Install the same release using the Helm CLI +* Install the application using the Helm CLI ## Set Up the Environment Before you begin, do the following to set up your environment: -* Ensure that you have kubectl access to a Kubernetes cluster. You can use any cloud provider or tool that you prefer to create a cluster, such as Google Kubernetes Engine (GKE), Amazon Web Services (AWS), or minikube. +* Ensure that you have kubectl access to a Kubernetes cluster. You can use any cloud provider or tool that you prefer to create a cluster, such as [Replicated Compatibility Matrix](/vendor/testing-how-to), Google Kubernetes Engine (GKE), Amazon Web Services (AWS), or minikube. For information about installing kubectl and configuring kubectl access to a cluster, see the following in the Kubernetes documentation: * [Install Tools](https://kubernetes.io/docs/tasks/tools/) * [Command line tool (kubectl)](https://kubernetes.io/docs/reference/kubectl/) -* Install the Helm CLI. To install the Helm CLI using Homebrew, run: +* Install the Helm CLI. To install the Helm CLI on Mac using Homebrew, run: ``` brew install helm @@ -34,10 +32,6 @@ Before you begin, do the following to set up your environment: * Create a vendor account to access the Vendor Portal. See [Creating a Vendor Portal](/vendor/vendor-portal-creating-account). - :::note - If you do not yet have a Vendor Portal team to join, you can sign up for a trial account. By default, trial accounts do not include access to Replicated KOTS. To get access to KOTS with your trial account so that you can complete this and other tutorials, contact Replicated at contact@replicated.com. - ::: - ## Next Step -Get the sample Bitnami Helm chart and test installation with the Helm CLI. See [Step 1: Get the Sample Chart and Test](/vendor/tutorial-kots-helm-get-chart) \ No newline at end of file +Get the sample SlackerNews Helm chart and test installation with the Helm CLI. See [Step 1: Get the Sample Chart and Test](/vendor/tutorial-kots-helm-get-chart) \ No newline at end of file diff --git a/sidebars.js b/sidebars.js index 0ca79fa580..4b8c7f1241 100644 --- a/sidebars.js +++ b/sidebars.js @@ -48,54 +48,6 @@ const sidebars = { // 'vendor/namespaces', // ], // }, - { - type: 'category', - label: 'Tutorials', - items: [ - { - type: 'category', - label: 'Install a Helm Chart on a VM with Embedded Cluster', - items: [ - 'vendor/tutorial-embedded-cluster-setup', - 'vendor/tutorial-embedded-cluster-create-app', - 'vendor/tutorial-embedded-cluster-package-chart', - 'vendor/tutorial-embedded-cluster-create-release', - 'vendor/tutorial-embedded-cluster-create-customer', - 'vendor/tutorial-embedded-cluster-install', - ], - }, - { - type: 'category', - label: 'Install a Helm Chart with KOTS and the Helm CLI', - items: [ - 'vendor/tutorial-kots-helm-setup', - 'vendor/tutorial-kots-helm-get-chart', - 'vendor/tutorial-kots-helm-create-app', - 'vendor/tutorial-kots-helm-package-chart', - 'vendor/tutorial-kots-helm-create-release', - 'vendor/tutorial-kots-helm-create-customer', - 'vendor/tutorial-kots-helm-install-kots', - 'vendor/tutorial-kots-helm-install-helm', - ], - }, - { - type: 'category', - label: 'Install with KOTS in an Existing Cluster', - items: [ - 'vendor/tutorial-cli-setup', - 'vendor/tutorial-cli-install-cli', - 'vendor/tutorial-cli-create-app', - 'vendor/tutorial-cli-manifests', - 'vendor/tutorial-cli-create-release', - 'vendor/tutorial-cli-create-customer', - 'vendor/tutorial-cli-install-app-manager', - 'vendor/tutorial-cli-deploy-app', - 'vendor/tutorial-cli-create-new-version', - 'vendor/tutorial-cli-update-app', - ], - }, - ], - }, { type: 'category', label: 'Labs', @@ -549,6 +501,20 @@ const sidebars = { 'vendor/helm-install-airgap', 'vendor/using-third-party-registry-proxy', 'vendor/helm-install-troubleshooting', + { + type: 'category', + label: 'Tutorial: Install with the Helm CLI', + items: [ + 'vendor/tutorial-kots-helm-setup', + // 'vendor/tutorial-kots-helm-get-chart', + 'vendor/tutorial-kots-helm-create-app', + 'vendor/tutorial-kots-helm-package-chart', + // 'vendor/tutorial-kots-helm-create-release', + 'vendor/tutorial-kots-helm-create-customer', + // 'vendor/tutorial-kots-helm-install-kots', + 'vendor/tutorial-kots-helm-install-helm', + ], + }, ], }, {