diff --git a/docs/intro.md b/docs/intro.md index 4faad5eef1..316bc2acbb 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -46,13 +46,13 @@ pagination_next: null Introduction to Replicated
Vendor Platform
+Replicated KOTS
Create and manage your account and team.
+A kubectl plugin and in-cluster Admin Console that installs applications in customer-controlled environments.
Compatibility Matrix
-Rapidly create Kubernetes clusters, including OpenShift.
-Embedded Cluster
Embed Kubernetes with your application to support installations on VMs or bare metal servers.
Replicated KOTS
-A kubectl plugin and in-cluster Admin Console that installs applications in customer-controlled environments.
+Vendor Platform
Create and manage your account and team.
Embedded Kubernetes
+Compatibility Matrix
Embed Kubernetes with your application to support installations on VMs or bare metal servers.
+Rapidly create Kubernetes clusters.
| Custom Resource | -Description | -How To | -
|---|---|---|
| KOTS Application | -Control the KOTS Admin Console experience for your application. |
- - Application - | -
| Kubernetes SIG Application | -Add links to the Admin Console dashboard. A common use case for the Kubernetes Application custom resource is adding a button to the dashboard that users can click to navigate to port forwarded services for your application. |
- Adding Application Links to the Dashboard | -
| Config | -
- Create a configuration screen in the Admin Console to collect required and optional configuration values from your users. -Note: This feature does not apply to Kubernetes Operators. - |
- Creating and Editing Configuration Fields | -
| Preflight | -Define preflight checks to test for system compliance during installation and upgrade to reduce the number of support escalations. |
- Defining Preflight Checks | -
| SupportBundle | -Enable customers to quickly collect and analyze troubleshooting data from their clusters to help you diagnose problems with application deployments. |
- Adding and Customizing Support Bundles | -
| Backup | -Enable snapshots with Velero so that end users can back up and restore their application data. | -Configuring Backup and Restore | -
| Custom Resource | -Description | -How To | -
|---|---|---|
| HelmChart | -Provides instructions for KOTS about how to deploy a given Helm chart. |
- Configuring the HelmChart Custom Resource | -
| Custom Resource | -Description | -How To | -
|---|---|---|
| Embedded Cluster Config (Beta) | -Create an embedded cluster config to support installations in VMs or bare metal servers with Replicated Embedded Cluster. | -Using Embedded Cluster (Beta) | -
| Installer | -Create an Installer spec to support installations in VMs or bare metal servers with Replicated kURL. | -Creating a kURL Installer | -
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 for the purpose of this quick start.
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/embedded-cluster-install-dialog.png)
+
+ 1. When prompted, enter a password for accessing the KOTS Admin Console.
+
+ The installation command takes a few minutes to complete.
+
+ **Example output:**
+
+ ```bash
+ ? Enter an Admin Console password: ********
+ ? Confirm password: ********
+ ✔ Host files materialized!
+ ✔ Running host preflights
+ ✔ Node installation finished!
+ ✔ Storage is ready!
+ ✔ Embedded Cluster Operator is ready!
+ ✔ Admin Console is ready!
+ ✔ Additional components are ready!
+ 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. Go to the URL provided in the output to access to the Admin Console.
+
+ 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. Return to the Vendor Portal and go to **Customers**. Under the name of the customer, confirm that you can see an active instance.
+
+ This instance telemetry is automatically collected and sent back to the Vendor Portal by both KOTS and the Replicated SDK. For more information, see [About Instance and Event Data](/vendor/instance-insights-event-data).
+
+ 1. Under **Instance ID**, click on the ID to view additional insights including the versions of Kubernetes and the Replicated SDK running in the cluster where you installed the application. For more information, see [Instance Details](/vendor/instance-insights-details).
+
+1.
- [View a larger version of this image](/images/do-you-have-a-helm-chart-modal.png)
-
- 1. Follow the steps in the dialog to add the Replicated SDK, package the chart to a `.tgz`, and then upload the `.tgz`:
-
-
- [View a larger version of this image](/images/upload-helm-chart-modal.png)
-
- The following describes the steps in the dialog:
-
- 1. In the Helm chart `Chart.yaml`, add the Replicated SDK as a dependency:
-
-
-
- [View a larger image](/images/release-promote.png)
-
- 1. Click **Promote**.
-
- :::note
- You can ignore any error messages in the **Promote Release** dialog.
- :::
-
-1. Create a customer so that you can install the release in your cluster:
-
- 1. Click **Customer > Create customer**.
-
- 1. For **Customer name**, add a name.
-
- 1. For **Channel**, select **Unstable**. This allows the customer to install releases promoted to the Unstable channel.
-
- 1. For **Customer email**, enter an email address. An email address is required for Helm installations to authenticate with the Replicated registry. This email address is never used to send emails to customers.
-
- 1. Click **Save Changes**.
-
- For more information, see [Creating and Managing Customers](/vendor/releases-creating-customer).
-
-1. Install the application:
- 1. On the **Customers** page for the customer that you created, click **Helm install instructions**.
-
- 
-
- [View a larger image](/images/helm-install-button.png)
-
- 1. Run the commands in the **Helm install instructions** dialog to log in to the registry and install the Helm chart. Skip the step to run preflight checks.
-
-
-
- [View a larger image](/images/helm-install-instructions-no-preflights.png)
-
- :::note
- Ignore the **No preflight checks found** warning, if one is displayed in the dialog. This warning appears because there are no specifications for preflight checks in the Helm chart archive. You will add preflight checks later in the onboarding process.
- :::
-
- 1. After you install, in the Vendor Portal, go to **Customers**. Under the name of the customer, confirm that you can see an active instance.
-
- **Example**:
-
- 
-
- [View a larger image](/images/onboarding-view-telemetry.png)
-
- This instance telemetry is automatically collected and sent back to the Vendor Portal when the Replicated SDK is installed alongside the application. For more information, see [About Instance and Event Data](/vendor/instance-insights-event-data).
-
- 1. Under **Instance ID**, click on the ID to view additional insights including the versions of Kubernetes and the Replicated SDK running in the cluster where you installed the application. For more information, see [Instance Details](/vendor/instance-insights-details).
-
-1. Create a new release in the Vendor Portal and then upgrade the instance in the cluster:
-
- 1. Make a small change in the chart, such as incrementing the semantic version in the `Chart.yaml` to a new version. Then, package the chart again.
-
- 1. In the Vendor Portal, create a new release (**Releases > Create release**). Drag and drop the new chart `.tgz` and then promote the new release to the Unstable channel.
-
- 1. In your cluster, run `helm upgrade` to upgrade the instance to the new release that you just promoted. The `helm upgrade` command is the same as the command you used for `helm install` in a previous step, replacing `install` with `upgrade`.
-
- **Example**:
-
- ```
- helm upgrade wordpress oci://registry.replicated.com/my-app/unstable/wordpress
- ```
-
- See [Helm Upgrade](https://helm.sh/docs/helm/helm_upgrade/) in the Helm documentation.
-
- 1. After the upgrade completes, return to the **Instance details** page in the Vendor Portal and confirm that you can see the new application version.
-
- **Example**:
-
- 
-
- [View a larger version](/images/onboarding-instance-details-new-version.png)
-
-1. Now that you are familiar with the workflow of creating and installing releases, repeat step 8 to integrate and test new Replicated features with the application. Integrate one feature at a time by creating a release and then upgrading in a development environment to test. For the list of recommended features to integrate, see [Features Checklist](#features-checklist) below.
-
-1. (Recommended) Finish setting up your Vendor Portal account and team:
-
- 1. If you are an admin, invite and manage team members. See [Invite Members](/vendor/team-management#invite-members) in _Managing Team Members_.
-
- 1. Set up Slack or email notifications to be notified when there are changes in the installed instances of your application. Notifications can help catch problems before they happen and let you proactively contact customers to prevent support cases. See [Configuring Instance Notifications](/vendor/instance-notifications-config).
-
-## Features Checklist
-
-This section provides a checklist of key Replicated features to integrate with your application to fully onboard onto the Replicated Platform. These features are provided in a suggested order, though you can configure and test the features in any order.
-
-| Feature | -Description | -How to | -
|---|---|---|
| Proxy registry | -
- Allow customer licenses to grant proxy access to your application's private images. Configuring the proxy registry allows you to pull your images so that you can test your deployment. -Estimated time: 1 to 2 hours to connect your external registry and update your Helm chart to deliver image pull secrets for the proxy registry - |
- - Proxying Images for Helm Installations - | -
| Preflight checks | -
- Define preflight checks to test for system compliance during the installation process and reduce the number of support escalations. -Estimated time: 30 minutes to define and test one or more collectors and analyzers for your application - |
- - - | -
| Support bundles | -
- Add a support bundle spec to enable customers to quickly collect and analyze troubleshooting data from their clusters to help you diagnose problems with application deployments. -Estimated time: 30 minutes to define and test one or more collectors and analyzers for your application - |
- - - | -
| Custom license entitlements | -
- Configure custom license fields that are specific to a customer, such as limiting the number of active users permitted. -Estimated time: 30 minutes to create and test each entitlement - |
- - Managing Custom License Fields - | -
| Pre-installation license entitlement checks | -
- Add checks for customer license entitlements before installation. -Estimated time: 1 hour to integrate pre-installation license checks into your application, plus more time to test and iterate - |
- Checking Entitlements in Helm Charts Before Deployment | -
| Runtime license entitlement checks with the SDK API | -
- Use the SDK API to add checks for customer license entitlements during runtime. -To get started, use the SDK in integration mode to develop locally without needing to make real changes in the Vendor Portal or in your environment. -Estimated time: 1 hour to integrate pre-installation license checks into your application, plus more time to test and iterate - |
- - - | -
| License field signature validation | -Verify the signatures of license fields when you check customer entitlements in your application. -Estimated time: 2 hours, including time to add entitlement checks in your application if you have not already |
- Verifying License Field Signatures with the Replicated SDK API | -
| Custom metrics with the SDK API | -
- Use the SDK API to send custom metrics that measure instances of your application running in online or air gap environments. -To get started, use the SDK in integration mode to develop locally without needing to make real changes in the Vendor Portal or in your environment. -Estimated time: 30 minutes to create mock data and test the endpoints locally with integration mode, plus more time to integrate with your application - |
- - Configuring Custom Metrics - | -
| Custom domains | -
- Configure custom domains to alias the Replicated endpoints that are used for customer-facing URLs, such as Estimated time: 30 minutes, plus up to 24 hours to create and verify the CNAME record in your DNS account. - |
- Using Custom Domains | -
| Integrate with CI/CD | -
- Update your existing development and release CI/CD pipelines to automatically complete tasks such as creating and promoting releases, provisioning clusters to test installation with the Replicated Compatibility Matrix, installing releases in test environments, and more. -Estimated time: 1 to 2 hours to configure your CI pipeline using Replicated CLI commands or Replicated GitHub Actions. - |
- - - | -
| Application update checks with the SDK API | -
- Use the SDK API to allow your users to easily check for available updates from your application.. -To get started, use the SDK in integration mode to develop locally without needing to make real changes in the Vendor Portal or in your environment. -Estimated time: 1 hour to mock endpoints locally with integration mode, plus more time to optionally integrate with your application - |
- - - | -
| Replicated KOTS | -
- For vendors with access to the KOTS installer, add custom resources to your release to support KOTS installations. -Estimated time: 1 to 2 hours to configure and test each custom resource. - |
- - - | -