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

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
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
58 changes: 58 additions & 0 deletions docs/vendor/licenses-install-types.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 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 rep.
:::

## 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, Replicated Embedded Cluster, Replicated 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.

### About Available Install Types

The **Available install types** license field provides the following options:
* **Existing Cluster (Helm CLI):** Show instructions in the Download Portal for installing with Helm CLI. Requires that the latest release promoted to the channel where the customer is assigned contains a Helm chart.
* **Existing Cluster (KOTS install):** Allow the customer to install with Replicated KOTS in an existing cluster. This field has the following requirements:
* Your Vendor Portal team must have the KOTS entitlement
* The latest release promoted to the channel where the customer is assigned must contain KOTS custom resources
* **kURL Embedded Cluster (first generation product):** Allow the customer to install with Replicated kURL. This field has the following requirements:
* Your Vendor Portal team must have the KOTS/kURL entitlement
* A kURL installer spec must be promoted to the channel where the customer is assigned
* **Embedded Cluster (current generation product):** Allow the customer to install with Replicated Embedded Cluster. This field has the following requirements:
* Your Vendor Portal team must have the Embedded Cluster entitlement
* The latest release promoted to the channel where the customer is assigned must contain an Embedded Cluster Config custom resource

### About Additional 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:

* **Helm CLI Air Gap Instructions (Helm CLI only):** When enabled, a customer will see instructions on the Download Portal on how to pull Helm installable images into their local repository. **Helm CLI Air Gap Instructions** is enabled by default when you select the **Existing Cluster (Helm CLI)** install type.

* **Air Gap Installation Option (Replicated Installers only):** When enabled, new installations with this license will have an option to install from an air gap package or from a traditional online installation. Selecting this controls whether a customer sees this option in their Download Portal.

### How Install Types Determine the Download Portal Experience

Helm CLI Install + Helm Airgap = show the helm airgap install instructions
Existing Cluster (KOTS install) + Airgap = show existing cluster airgap instructions
kURL + Air Gap = show kURL air gap instructions
Embedded Cluster + Airgap=False = Show online install instructions only
Embedded Cluster + Airgap=True = Show instructions on air gap environment installation

## About Migrating Existing Licenses to Include Install Types

By default, when an existing license is migrated to include the **Install types** field, the Vendor Portal automatically enables installation types so that the customer does not experience any errors in their deployment...
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 license options that you want to support for the customer. For more information about the built-in options, see [Built-in License Fields](licenses-using-builtin-fields).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

^ Removes the table that was here that listed out the built-in options in favor of just pointing people to the main "Built-In License Field" topic. Probably should have been doing this anyway to avoid the info getting out of sync


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.