Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update license docs to reflect install type options #2801

Merged
merged 6 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 123 additions & 0 deletions docs/vendor/licenses-install-types.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Managing Install Types for a License (Beta)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ Adds a separate topic about install types


This topic describes how to manage which installation types and options are enabled for a license.

:::note
The "Install Types" licensing feature described in this topic is in Beta. To get access to this feature, reach out to your Replicated account representative.
:::

## Overview

You can control which installation methods are available to each of your customers by enabling or disabling **Install types** fields in the customer's license.

The following shows an example of the **Install types** field in a license:

![Install types license fields](/images/license-install-types.png)

[View a larger version of this image](/images/license-install-types.png)

The installation types that are enabled or disabled for a license determine the following:
* The Replicated installers ([Replicated KOTS](../intro-kots), [Replicated Embedded Cluster](/vendor/embedded-cluster-overview), [Replicated kURL](/vendor/intro-kurl)) that the customer's license entitles them to use
* The installation assets and/or instructions provided in the Replicated Download Portal for the customer
* The customer's KOTS Admin Console experience

Setting the supported installation types on a per-customer basis gives you greater control over the installation method used by each customer. It also allows you to provide a more curated Download Portal experience, in that customers will only see the installation assets and instructions that are relevant to them.

## Understanding Install Types {#install-types}

In the customer license, under **Install types**, the **Available install types** field allows you to enable and disable different installation methods for the customer.

You can enable one or more installation types for a license.

The following describes each installation type available, as well as the requirements for enabling each type:

<table>
<tr>
<th width="30%">Install Type</th>
<th>Description</th>
<th>Requirements</th>
</tr>
<tr>
<th>Existing Cluster (Helm CLI)</th>
<td><p>The customer does not have access to the Replicated installers.</p><p>When the <strong>Helm CLI Air Gap Instructions (Helm CLI only)</strong> install option is also enabled, the Download Portal displays instructions on how to pull Helm installable images into a local repository. See <a href="#install-options">Understanding Additional Install Options</a> below.</p></td>
<td>The latest release promoted to the channel where the customer is assigned must contain at least one Helm chart.</td>
</tr>
<tr>
<th>Existing Cluster (KOTS install)</th>
<td>Allows the customer to install with Replicated KOTS in an existing cluster.</td>
<td>
<ul>
<li>Your Vendor Portal team must have the KOTS entitlement</li>
<li>The latest release promoted to the channel where the customer is assigned must contain KOTS custom resources</li>
</ul>
</td>
</tr>
<tr>
<th>kURL Embedded Cluster (first generation product)</th>
<td>
<p>Allows the customer to install with Replicated kURL on a VM or bare metal server.</p>
<p><strong>Note:</strong> For new installations, enable Replicated Embedded Cluster (current generation product) instead of Replicated kURL (first generation product).</p>
</td>
<td>
<ul>
<li>Your Vendor Portal team must have the kURL entitlement</li>
<li>A kURL installer spec must be promoted to the channel where the customer is assigned. For more information, see <a href="/vendor/packaging-embedded-kubernetes">Creating a kURL Installer</a>.</li>
</ul>
</td>
</tr>
<tr>
<th>Embedded Cluster (current generation product)</th>
<td>Allows the customer to install with Replicated Embedded Cluster on a VM or bare metal server.</td>
<td>
<ul>
<li>Your Vendor Portal team must have the Embedded Cluster entitlement</li>
<li>The latest release promoted to the channel where the customer is assigned must contain an Embedded Cluster Config custom resource. For more information, see <a href="/reference/embedded-config">Embedded Cluster Config</a>.</li>
</ul>
</td>
</tr>
</table>

## Understanding Additional Install Options {#install-options}

After enabling installation types in the **Available install types** field, you can also enable the following options in the **Additional install options** field:

<table>
<tr>
<th width="30%">Install Type</th>
<th>Description</th>
<th>Requirements</th>
</tr>
<tr>
<th>Helm CLI Air Gap Instructions (Helm CLI only)</th>
<td><p>When enabled, a customer will see instructions on the Download Portal on how to pull Helm installable images into their local repository.</p><p><strong>Helm CLI Air Gap Instructions</strong> is enabled by default when you select the <strong>Existing Cluster (Helm CLI)</strong> install type.</p></td>
<td>The <strong>Existing Cluster (Helm CLI)</strong> install type must be enabled</td>
</tr>
<tr>
<th>Air Gap Installation Option (Replicated Installers only)</th>
<td><p>When enabled, new installations with this license have an option in their Download Portal to install from an air gap package or do a traditional online installation.</p></td>
<td>
<p>At least one of the following Replicated install types must be enabled:</p>
<ul>
<li>Existing Cluster (KOTS install)</li>
<li>kURL Embedded Cluster (first generation product)</li>
<li>Embedded Cluster (current generation product)</li>
</ul>
</td>
</tr>
</table>

## About Migrating Existing Licenses to Use Install Types

By default, when an existing customer license is migrated to include the Beta **Install types** field, the Vendor Portal automatically enables certain install types so that the customer does not experience any interruptions or errors in their deployment.

The Vendor Portal uses the following logic to enable install types for migrated licenses:

If the existing license has the **KOTS Install Enabled** field enabled, then the Vendor Portal enables the following install types in the migrated license by default:
* Existing Cluster (Helm CLI)
* Existing Cluster (KOTS install)
* kURL Embedded Cluster (first generation product)
* Embedded Cluster (current generation product)

Additionally, if the existing **KOTS Install Enabled** license also has the **Airgap Download Enabled** option enabled, then the Vendor Portal enables both of the air gap install options in the migrated license (**Helm CLI Air Gap Instructions (Helm CLI only)** and **Air Gap Installation Option (Replicated Installers only)**).

Otherwise, if the **KOTS Install Enabled** field is disabled for the existing license, then the Vendor Portal enables only the **Existing Cluster (Helm CLI)** install type by default. All other install types will be disabled by default.
55 changes: 16 additions & 39 deletions docs/vendor/releases-creating-customer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This topic describes how to create and manage customers in the Replicated Vendor

## Create a Customer

This procedure describes how to create a new customer in the Vendor Portal. You can edit customer details at any time in the Vendor Portal.
This procedure describes how to create a new customer in the Vendor Portal. You can edit customer details at any time.

For information about creating a customer with the Replicated CLI, see [customer create](/reference/replicated-cli-customer-create).

Expand All @@ -22,58 +22,35 @@ To create a customer:

![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.

1. For **Customer email**, enter the email address for the customer. The customer email address is required for Helm installations. This email address is never used send emails to customers.
1. For **Customer email**, enter the email address for the customer.

:::note
A customer email address is required for Helm installations. This email address is never used to send emails to customers.
:::

1. For **Assigned channel**, assign the customer to one of your channels. You can select any channel that has at least one release. The channel a customer is assigned to determines the application releases that they can install. For more information, see [Channel Assignment](licenses-about#channel-assignment) in _About Customers_.

:::note
<ChangeChannel/>
:::

1. For **Custom ID**, you can enter a custom ID for the customer. Setting a custom ID allows you to easily tie this Replicated customer record to your own internal customer data systems during data exports. We suggest setting an alphanumeric value such as your Salesforce ID, Hubspot ID, etc for that customer. Replicated does not require the custom ID to be unique. The custom ID is for vendor data reconciliation purposes, and is not used by Replicated for any functionality purposes.
1. For **Custom ID**, you can enter a custom ID for the customer. Setting a custom ID allows you to easily associate this Replicated customer record to your own internal customer data systems during data exports. Replicated recommends using an alphanumeric value such as your Salesforce ID or Hubspot ID.

:::note
Replicated does _not_ require that the custom ID is unique. The custom ID is for vendor data reconciliation purposes, and is not used by Replicated for any functionality purposes.
:::

1. For **Expiration policy**, by default, **Customer's license does not expire** is enabled. To set an expiration date for the license, enable **Customer's license has an expiration date** and specify an expiration date in the **When does this customer expire?** calendar.

1. For **Customer type**, set the customer type. Customer type is used only for reporting purposes. Customer access to your application is not affected by the type you assign to them. By default, **Trial** is selected. For more information, see [About Customer License Types](licenses-about-types).

1. In the **License options** pane, configure any of the built-in KOTS entitlements that you support in your application. For more information, see [Built-in License Fields](licenses-using-builtin-fields).

The available license options are:

<table>
<tr>
<th width="30%">Name</th>
<th width="70%">Description</th>
</tr>
<tr>
<td>KOTS Install Enabled</td>
<td>Enables customers to install with Replicated KOTS.</td>
</tr>
<tr>
<td>Airgap Download Enabled</td>
<td>Enables new installations with this license to install from an air gap package or from an online installation.</td>
</tr>
<tr>
<td>Gitops Enabled</td>
<td> <GitOpsNotRecommended/> Enables customers with a KOTS-managed installation to transition from click-to-deploy to the KOTS Auto-GitOps workflow for deployment. See <a href="/enterprise/gitops-workflow">KOTS Auto-GitOps Workflow</a>. </td>
</tr>
<tr>
<td>Identity Service Enabled</td>
<td>Enables customers to integrate with third-party identity service providers to provision RBAC for authenticating to the admin console.</td>
</tr>
<tr>
<td>Support Bundle Upload Enabled</td>
<td>Enables installations to upload support bundles directly from the admin console.</td>
</tr>
<tr>
<td>Allow Snapshot</td>
<td>Enables customers to create snapshots for backup and restore. Vendors must also add a Backup custom resource. See <a href="/reference/custom-resource-backup">Velero Backup Custom Resource</a>.</td>
</tr>
</table>

1. (Optional) For **Custom fields**, configure any custom fields that are available for your Replicated application. For more information about how to create custom fields for your application, see [Managing Custom License Fields](licenses-adding-custom-fields).
1. Enable any of the available options for the customer. For more information about the license options, see [Built-in License Fields](/vendor/licenses-using-builtin-fields). For more information about enabling install types, see [Managing Install Types for a License (Beta)](/vendor/licenses-install-types).
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^ updated this step to be more generic and just added xrefs so people can get more info about their specific options


1. For **Custom fields**, configure any custom fields that you have added for your application. For more information about how to create custom fields for your application, see [Managing Custom License Fields](licenses-adding-custom-fields).

1. Click **Save Changes**.

Expand Down
1 change: 1 addition & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ const sidebars = {
'vendor/releases-creating-customer',
'vendor/licenses-adding-custom-fields',
'vendor/licenses-using-builtin-fields',
'vendor/licenses-install-types',
'vendor/licenses-about-types',
'vendor/licenses-download',
{
Expand Down
Binary file modified static/images/create-customer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added static/images/license-install-types.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.