Skip to content

Commit 56816b1

Browse files
authored
Merge pull request #2969 from replicatedhq/118835
Add licensing overview diagram
2 parents a7410fd + e7e08d3 commit 56816b1

File tree

2 files changed

+88
-81
lines changed

2 files changed

+88
-81
lines changed

docs/vendor/licenses-about.mdx

Lines changed: 88 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,33 @@
11
import ChangeChannel from "../partials/customers/_change-channel.mdx"
22

3-
# About Customers
3+
# About Customers and Licensing
44

5-
This topic provides an overview of customer licenses, including information about license types, the **Customers** page in the Replicated Vendor Portal, and how Replicated uses the customer entitlement information that you provide in licenses.
5+
This topic provides an overview of customers and licenses in the Replicated Platform.
66

77
## Overview
88

9+
The licensing features of the Replicated Platform allow vendors to securely grant access to software, making license agreements available to the application in end customer environments at startup and runtime.
10+
11+
The Replicated Vendor Portal also allows vendors to create and manage customer records. Each customer record includes several fields that uniquely identify the customer and the application, specify the customer's assigned release channel, and define the customer's entitlements.
12+
13+
Vendors can use these licensing features to enforce entitlements such as license expiration dates, and to track and report on software usage for the purpose of surfacing insights to both internal teams and customers.
14+
15+
The following diagram provides an overview of licensing with the Replicated Platform:
16+
17+
![App instance communicates with the Replicated licensing server](/images/licensing-overview.png)
18+
19+
[View a larger version of this image](/images/licensing-overview.png)
20+
21+
As shown in the diagram above, the Replicated license and update server manages and distributes customer license information. The license server retrieves this license information from customer records managed by vendors in the Vendor Portal.
22+
23+
During installation or upgrade, the customer's license ID is used to authenticate with the license server. The license ID also provides authentication for the Replicated proxy registry, securely granting proxy access to images in the vendor's external registry.
24+
25+
The license server is identified with a CNAME record where it can be accessed from end customer environments. When running alongside an application in a customer environment, the Replicated SDK retrieves up-to-date customer license information from the license server during runtime. The in-cluster SDK API `/license/` endpoints can be used to get customer license information on-demand, allowing vendors to programmatically enforce and report on license agreements.
26+
27+
Vendors can also integrate internal Customer Relationship Management (CRM) tools such as Salesforce with the Replicated Platform so that any changes to a customer's entitlements are automatically reflected in the Vendor Portal. This ensures that updates to license agreements are reflected in the customer environment in real time.
28+
29+
## About Customers
30+
931
Each customer that you create in the Replicated Vendor Portal has a unique license ID. Your customers use their license when they install or update your application.
1032

1133
You assign customers to channels in the Vendor Portal to control their access to your application releases. Customers can install or upgrade to releases that are promoted to the channel they are assigned. For example, assigning a customer to your Beta channel allows that customer to install or upgrade to only releases promoted to the Beta channel.
@@ -14,13 +36,17 @@ Each customer license includes several fields that uniquely identify the custome
1436

1537
For more information about how to create and manage customers, see [Creating and Managing Customers](releases-creating-customer).
1638

17-
## About License Types and Fields
39+
### Customer Channel Assignment {#channel-assignment}
40+
41+
<ChangeChannel/>
42+
43+
For example, if the latest release promoted to the Beta channel is version 1.25.0 and version 1.10.0 is marked as required, when you edit an existing customer to assign them to the Beta channel, then the KOTS Admin Console always fetches 1.25.0, even though 1.10.0 is marked as required. The required release 1.10.0 is ignored and is not available to the customer for upgrade.
1844

19-
This section describes license properties, including license types, built-in fields, and custom fields.
45+
For more information about how to mark a release as required, see [Properties](releases-about#properties) in _About Channels and Releases_. For more information about how to synchronize licenses in the Admin Console, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
2046

21-
### License Types
47+
### Customer Types
2248

23-
Each customer license is assigned one of the following types:
49+
Each customer is assigned one of the following types:
2450

2551
* **Development**: The Development type can be used internally by the development
2652
team for testing and integration.
@@ -31,87 +57,21 @@ additional information can be provided.
3157
* **Community**: The Community type is designed for a free or low cost version of your application. For more details about this type, see [Community Licenses](licenses-about-types).
3258
* (Beta) **Single Tenant Vendor Managed**: The Single Tenant Vendor Managed type is for customers for whom your team is operating the application in infrastructure you fully control and operate. Single Tenant Vendor Managed licenses are free to use, but come with limited support. The Single Tenant Vendor Managed type is a Beta feature. Reach out to your Replicated account representative to get access.
3359

34-
3560
Except Community licenses, the license type is used solely for reporting purposes and a customer's access to your application is not affected by the type that you assign.
3661

3762
You can change the type of a license at any time in the Vendor Portal. For example, if a customer upgraded from a trial to a paid account, then you could change their license type from Trial to Paid for reporting purposes.
3863

39-
### Built-In and Custom License Fields
40-
41-
Each customer record in the Vendor Portal has built-in fields and also supports custom fields.
64+
### About Managing Customers
4265

43-
The built-in fields include values such as the customer name, customer email, and the license expiration date. You can optionally set initial values for the built-in fields so that each new customer created in the Vendor Portal starts with the same set of values. You can also create custom fields to define entitlements for your application. For example, you can create a custom field to set the number of active users permitted.
66+
Each customer record in the Vendor Portal has built-in fields and also supports custom fields:
67+
* The built-in fields include values such as the customer name, customer email, and the license expiration date. You can optionally set initial values for the built-in fields so that each new customer created in the Vendor Portal starts with the same set of values.
68+
* You can also create custom fields to define entitlements for your application. For example, you can create a custom field to set the number of active users permitted.
4469

4570
For more information, see [Managing Customer License Fields](/vendor/licenses-adding-custom-fields).
4671

47-
## About Updating Licenses
48-
49-
This section includes information about making changes to customer licenses, including editing license details in the Vendor Portal as well as how customers can update or replace licenses.
50-
51-
### Editing License Details and Entitlements
52-
53-
You can make changes to a customer in the Vendor Portal to edit their license details, such as the license type or customer name, at any time. You can also add, remove, and edit license options and custom fields. The license ID, which is the unique identifier for the customer, never changes.
54-
55-
For more information about how to edit licenses, see [Edit a Customer](releases-creating-customer#edit-a-customer) in _Creating and Managing Customers_.
56-
57-
### License Updates with KOTS
58-
59-
When you edit customer licenses for an application installed with KOTS, your customers can use the KOTS Admin Console to get the latest license details from the Vendor Portal, then deploy a new version that includes the license changes. Deploying a new version with the license changes ensures that any license fields that you have templated in your release using [KOTS template functions](/reference/template-functions-about) are rendered with the latest license details.
60-
61-
For online instances, KOTS pulls license details from the Vendor Portal when:
62-
* A customer clicks **Sync license** in the Admin Console.
63-
* An automatic or manual update check is performed by KOTS.
64-
* An update is performed with Replicated Embedded Cluster. See [Performing Updates with Embedded Cluster](/enterprise/updating-embedded).
65-
* An application status changes. See [Current State](instance-insights-details#current-state) in _Instance Details_.
66-
67-
For more information, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
68-
69-
### Air Gap License Updates with KOTS
70-
71-
To update licenses in air gap installations, customers need to upload the updated license file to the Admin Console.
72-
73-
After you update the license fields in the Vendor Portal, you can notify customers by either sending them a new license file or instructing them to log into their Download Portal to downlaod the new license.
74-
75-
For more information, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
76-
77-
### Retrieving License Details with the SDK API
78-
79-
The [Replicated SDK](replicated-sdk-overview) includes an in-cluster API that can be used to retrieve up-to-date customer license information from the Vendor Portal during runtime through the [`license`](/reference/replicated-sdk-apis#license) endpoints. This means that you can add logic to your application to get the latest license information without the customer needing to perform a license update. The SDK API polls the Vendor Portal for updated data every four hours.
80-
81-
In KOTS installations that include the SDK, users need to update their licenses from the Admin Console as described in [License Updates with KOTS](#license-updates-with-kots) above. However, any logic in your application that uses the SDK API will update the user's license information without the customer needing to deploy a license update in the Admin Console.
82-
83-
For information about how to use the SDK API to query license entitlements at runtime, see [Querying Entitlements with the Replicated SDK API](/vendor/licenses-reference-sdk).
84-
85-
### Replacing Licenses
86-
87-
Community licenses are the only license type that can be replaced with a new license without needing to reinstall the application. For more information, see [Community Licenses](licenses-about-types).
88-
89-
Unless the existing customer is using a community license, it is not possible to replace one license with another license without reinstalling the application. When you need to make changes to a customer's entitlements, Replicated recommends that you edit the customer's license details in the Vendor Portal, rather than issuing a new license.
90-
91-
## About License Expiration Handling {#expiration}
92-
93-
The built-in `expires_at` license field defines the expiration date for a customer license. When you set an expiration date in the Vendor Portal, the `expires_at` field is set to midnight UTC on the date selected.
94-
95-
Replicated enforces the following logic when a license expires:
96-
* By default, instances with expired licenses continue to run.
97-
To change the behavior of your application when a license expires, you can can add custom logic in your application that queries the `expires_at` field using the Replicated SDK in-cluster API. For more information, see [Querying Entitlements with the Replicated SDK API](/vendor/licenses-reference-sdk).
98-
* Expired licenses cannot log in to the Replicated registry to pull a Helm chart for installation or upgrade.
99-
* Expired licenses cannot pull application images through the Replicated proxy registry or from the Replicated registry.
100-
* In Replicated KOTS installations, KOTS prevents instances with expired licenses from receiving updates.
101-
102-
## About Customer Channel Assignment {#channel-assignment}
103-
104-
This section provides information about managing the channel a customer is assigned, including changing the assigned channel and manaing channel assignments for customers with or without the KOTS entitlement. For information about how to assign a customer to a channel, see [Create a Customer](releases-creating-customer#create-a-customer) in _Creating and Managing Customers_.
105-
106-
### Changing Channel Assignment
107-
108-
<ChangeChannel/>
109-
110-
For example, if the latest release promoted to the Beta channel is version 1.25.0 and version 1.10.0 is marked as required, when you edit an existing customer to assign them to the Beta channel, then the KOTS Admin Console always fetches 1.25.0, even though 1.10.0 is marked as required. The required release 1.10.0 is ignored and is not available to the customer for upgrade.
111-
112-
For more information about how to mark a release as required, see [Properties](releases-about#properties) in _About Channels and Releases_. For more information about how to synchronize licenses in the Admin Console, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
72+
You can make changes to a customer record in the Vendor Portal at any time. The license ID, which is the unique identifier for the customer, never changes. For more information about managing customers in the Vendor Portal, see [Creating and Managing Customers](releases-creating-customer).
11373

114-
## About the Customers Page
74+
### About the Customers Page
11575

11676
The following shows an example of the **Customers** page:
11777

@@ -146,7 +106,7 @@ From the **Customers** page, you can do the following:
146106
* [Manage customer](#manage-customer-page)
147107
* [Support bundles](#support-bundles-page)
148108

149-
### Reporting Page
109+
### About the Customer Reporting Page
150110

151111
The **Reporting** page for a customer displays data about the active application instances associated with each customer. The following shows an example of the **Reporting** page for a customer that has two active application instances:
152112

@@ -155,7 +115,7 @@ The **Reporting** page for a customer displays data about the active application
155115

156116
For more information about interpreting the data on the **Reporting** page, see [Customer Reporting](customer-reporting).
157117

158-
### Manage Customer Page
118+
### About the Manage Customer Page
159119

160120
The **Manage customer** page for a customer displays details about the customer license, including the customer name and email, the license expiration policy, custom license fields, and more.
161121

@@ -166,7 +126,7 @@ The following shows an example of the **Manage customer** page:
166126

167127
From the **Manage customer** page, you can view and edit the customer's license fields or archive the customer. For more information, see [Creating and Managing Customers](releases-creating-customer).
168128

169-
### Support Bundles Page
129+
### About the Customer Support Bundles Page
170130

171131
The **Support bundles** page for a customer displays details about the support bundles collected from the customer. Customers with the **Support Bundle Upload Enabled** entitlement can provide support bundles through the KOTS Admin Console, or you can upload support bundles manually in the Vendor Portal by going to **Troubleshoot > Upload a support bundle**. For more information about uploading and analyzing support bundles, see [Inspecting Support Bundles](support-inspecting-support-bundles).
172132

@@ -176,3 +136,50 @@ The following shows an example of the **Support bundles** page:
176136
[View a larger version of this image](/images/customer-support-bundles.png)
177137

178138
As shown in the screenshot above, the **Support bundles** page lists details about the collected support bundles, such as the date the support bundle was collected and the debugging insights found. You can click on a support bundle to view it in the **Support bundle analysis** page. You can also click **Delete** to delete the support bundle, or click **Customer Reporting** to view the **Reporting** page for the customer.
139+
140+
## About Licensing with Replicated
141+
142+
### About Syncing Licenses
143+
144+
When you edit customer licenses for an application installed with a Replicated installer (Embedded Cluster, KOTS, kURL), your customers can use the KOTS Admin Console to get the latest license details from the Vendor Portal, then deploy a new version that includes the license changes. Deploying a new version with the license changes ensures that any license fields that you have templated in your release using [KOTS template functions](/reference/template-functions-about) are rendered with the latest license details.
145+
146+
For online instances, KOTS pulls license details from the Vendor Portal when:
147+
* A customer clicks **Sync license** in the Admin Console.
148+
* An automatic or manual update check is performed by KOTS.
149+
* An update is performed with Replicated Embedded Cluster. See [Performing Updates with Embedded Cluster](/enterprise/updating-embedded).
150+
* An application status changes. See [Current State](instance-insights-details#current-state) in _Instance Details_.
151+
152+
For more information, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
153+
154+
### About Syncing Licenses in Air-Gapped Environments
155+
156+
To update licenses in air gap installations, customers need to upload the updated license file to the Admin Console.
157+
158+
After you update the license fields in the Vendor Portal, you can notify customers by either sending them a new license file or instructing them to log into their Download Portal to downlaod the new license.
159+
160+
For more information, see [Updating Licenses in the Admin Console](/enterprise/updating-licenses).
161+
162+
### Retrieving License Details with the SDK API
163+
164+
The [Replicated SDK](replicated-sdk-overview) includes an in-cluster API that can be used to retrieve up-to-date customer license information from the Vendor Portal during runtime through the [`license`](/reference/replicated-sdk-apis#license) endpoints. This means that you can add logic to your application to get the latest license information without the customer needing to perform a license update. The SDK API polls the Vendor Portal for updated data every four hours.
165+
166+
In KOTS installations that include the SDK, users need to update their licenses from the Admin Console as described in [License Updates with KOTS](#license-updates-with-kots) above. However, any logic in your application that uses the SDK API will update the user's license information without the customer needing to deploy a license update in the Admin Console.
167+
168+
For information about how to use the SDK API to query license entitlements at runtime, see [Querying Entitlements with the Replicated SDK API](/vendor/licenses-reference-sdk).
169+
170+
### License Expiration Handling {#expiration}
171+
172+
The built-in `expires_at` license field defines the expiration date for a customer license. When you set an expiration date in the Vendor Portal, the `expires_at` field is set to midnight UTC on the date selected.
173+
174+
Replicated enforces the following logic when a license expires:
175+
* By default, instances with expired licenses continue to run.
176+
To change the behavior of your application when a license expires, you can can add custom logic in your application that queries the `expires_at` field using the Replicated SDK in-cluster API. For more information, see [Querying Entitlements with the Replicated SDK API](/vendor/licenses-reference-sdk).
177+
* Expired licenses cannot log in to the Replicated registry to pull a Helm chart for installation or upgrade.
178+
* Expired licenses cannot pull application images through the Replicated proxy registry or from the Replicated registry.
179+
* In Replicated KOTS installations, KOTS prevents instances with expired licenses from receiving updates.
180+
181+
### Replacing Licenses for Existing Installations
182+
183+
Community licenses are the only license type that can be replaced with a new license without needing to reinstall the application. For more information, see [Community Licenses](licenses-about-types).
184+
185+
Unless the existing customer is using a community license, it is not possible to replace one license with another license without reinstalling the application. When you need to make changes to a customer's entitlements, Replicated recommends that you edit the customer's license details in the Vendor Portal, rather than issuing a new license.
51.6 KB
Loading

0 commit comments

Comments
 (0)