Skip to content

Commit fb5266a

Browse files
authored
Merge pull request #2630 from replicatedhq/sdk-license-updates
Clarify how licenses are updated with KOTS/SDK
2 parents 5d39743 + dc98f4d commit fb5266a

9 files changed

+110
-34
lines changed
Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,87 @@
11
# Updating Licenses
22

3-
You can check if there are any changes on your license using the License tab on the Replicated KOTS Admin Console.
3+
This topic describes how to update a license from the KOTS Admin Console.
44

55
## Update Online Licenses
66

7-
Click **Sync license** on the right side of the license pane to get the latest updates on your current license.
7+
To update licenses in online environments:
88

9-
![Online License](/images/online-license-tab.png)
9+
1. In the Admin Console, go to the **License** tab.
1010

11-
- A **License is already up to date** note appears if no changes are detected.
12-
- A **License synced successfully** note appears when the changes are successfully applied.
11+
1. Click **Sync license** to get the latest updates.
12+
13+
![Online License](/images/online-license-tab.png)
14+
15+
[View a larger version of this image](/images/online-license-tab.png)
16+
17+
:::note
18+
If no changes are detected, a **License is already up to date** message appears.
19+
:::
20+
21+
When the license is updated, KOTS makes a new version available that includes the license changes:
22+
23+
![License updated successfully](/images/kots-license-update-message.png)
24+
25+
[View a larger version of this image](/images/kots-license-update-message.png)
26+
27+
1. In the dialog, click **Go to new version** to navigate to the **Version history** page.
28+
29+
1. On the **Version history** page, next to the new version labeled **License Change**, click **Deploy** then **Yes, deploy**.
30+
31+
![Deploy license change](/images/kots-deploy-license-change.png)
32+
33+
[View a larger version of this image](/images/kots-deploy-license-change.png)
34+
35+
The version with the license change is then displayed as the currently deployed version, as shown below:
36+
37+
![Currently deployed version](/images/kots-license-change-currently-deployed.png)
38+
39+
[View a larger version of this image](/images/kots-license-change-currently-deployed.png)
1340

1441
## Update Air Gap Licenses
1542

16-
Click **Upload license** on the right side of the license pane and select the latest license from your machine.
43+
To update licenses in air gap environments:
44+
45+
1. Download the new license. Ensure that it is available on the machine where you can access a browser.
46+
47+
1. In the Admin Console, go to the **License** tab.
48+
49+
1. Click **Upload license** and select the new license.
50+
51+
![Airgap License](/images/airgap-license-tab.png)
52+
53+
[View a larger version of this image](/images/airgap-license-tab.png)
54+
55+
:::note
56+
If no changes are detected, a **License is already up to date** message appears.
57+
:::
58+
59+
When the license is updated, KOTS makes a new version available that includes the license changes:
60+
61+
![License updated successfully](/images/kots-airgap-license-update-message.png)
62+
63+
[View a larger version of this image](/images/kots-airgap-license-update-message.png)
64+
65+
1. In the dialog, click **Go to new version** to navigate to the **Version history** page.
66+
67+
1. On the **Version history** page, next to the new version labeled **License Change**, click **Deploy** then **Yes, deploy**.
68+
69+
![Deploy license change](/images/kots-deploy-license-change.png)
70+
71+
[View a larger version of this image](/images/kots-deploy-license-change.png)
72+
73+
The version with the license change is then displayed as the currently deployed version, as shown below:
1774

18-
![Airgap License](/images/airgap-license-tab.png)
75+
![Currently deployed version](/images/kots-license-change-currently-deployed.png)
1976

20-
- A **License is already up to date** note appears if no changes are detected.
21-
- A **License uploaded successfully** note appears when the changes are successfully applied.
77+
[View a larger version of this image](/images/kots-license-change-currently-deployed.png)
2278

2379
## Upgrade from a Community License
2480

2581
If you have a community license, you can change your license by uploading a new one. This allows you to upgrade from a community version of the software without having to reinstall the Admin Console and the application.
2682

2783
To change a community license to another license:
2884

29-
1. In the License tab of the Admin Console, click **Change license**.
30-
1. In the dialog, upload the new license file that you received from your vendor.
85+
1. Download the new license.
86+
1. In the **License** tab of the Admin Console, click **Change license**.
87+
1. In the dialog, upload the new license file.

docs/vendor/licenses-about.mdx

Lines changed: 41 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,51 @@ Built-in fields are reserved field names. You can specify the values for these f
4343

4444
You can also create custom license fields to define entitlements specific to the customer. For example, you can create a custom license field to limit the number of active users permitted. For more information about creating custom license fields, see [Managing Custom License Fields](licenses-adding-custom-fields).
4545

46-
## About License Handling
46+
## About Updating Licenses
4747

48-
This section describes the default behavior for handling license updates and expiration.
48+
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.
4949

50-
### Updating and Replacing Licenses
50+
### Editing License Details and Entitlements
5151

52-
You can make changes to a customer in the Vendor Portal to edit their license details, including the license type or the customer name, at any time. The license ID, which is the unique identifier for the customer, never changes. For more information about how to edit customers, see [Edit a Customer](releases-creating-customer#edit-a-customer) in _Creating and Managing Customers_.
52+
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.
5353

54-
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. When you update the license in the Vendor Portal, the customer does not need to reinstall to get the updates.
54+
For more information about how to edit licenses, see [Edit a Customer](releases-creating-customer#edit-a-customer) in _Creating and Managing Customers_.
55+
56+
### License Updates with KOTS
57+
58+
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.
59+
60+
For online instances, KOTS pulls license details from the Vendor Portal when:
61+
* A customer clicks **Sync license** in the Admin Console.
62+
* An automatic or manual update check is performed by KOTS.
63+
* An update is performed with Replicated Embedded Cluster. See [Performing Updates with Embedded Cluster](/enterprise/updating-embedded).
64+
* An application status changes. See [Current State](instance-insights-details#current-state) in _Instance Details_.
65+
66+
For more information, see [Updating Licenses](/enterprise/updating-licenses).
67+
68+
### Air Gap License Updates with KOTS
69+
70+
To update licenses in air gap installations, customers need to upload the updated license file to the Admin Console.
71+
72+
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.
73+
74+
For more information, see [Updating Licenses](/enterprise/updating-licenses).
75+
76+
### Retrieving License Details with the SDK API
77+
78+
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.
79+
80+
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.
81+
82+
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).
83+
84+
### Replacing Licenses
5585

5686
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).
5787

58-
### License Expiration Handling {#expiration}
88+
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.
89+
90+
## About License Expiration Handling {#expiration}
5991

6092
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.
6193

@@ -66,19 +98,6 @@ Replicated enforces the following logic when a license expires:
6698
* Expired licenses cannot pull application images through the proxy service or from the Replicated registry.
6799
* (KOTS Only) KOTS prevents instances with expired licenses from receiving updates.
68100

69-
### Synchronizing Licenses with KOTS
70-
71-
When you edit customer licenses for an application installed with KOTS, your customers can use the admin console to update their license.
72-
73-
For online instances, license updates are pulled from the Vendor Portal when:
74-
* An automatic or manual update check is performed by KOTS.
75-
* A customer selects **Sync license** in the admin console.
76-
* An application status changes. See [Current State](instance-insights-details#current-state) in _Instance Details_.
77-
78-
For air gap instances, because air gap licenses are signed with the updated fields, customers must upload a regenerated license file to the admin console every time you modify license fields. 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 retrieve the updated license. Then, they can click **Upload license** on the **License** tab of the admin console to upload the new license file.
79-
80-
For more information, see [Updating Licenses](/enterprise/updating-licenses).
81-
82101
## About Customer Channel Assignment {#channel-assignment}
83102

84103
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_.
@@ -87,9 +106,9 @@ This section provides information about managing the channel a customer is assig
87106

88107
<ChangeChannel/>
89108

90-
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 Replicated 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.
109+
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.
91110

92-
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](/enterprise/updating-licenses).
111+
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](/enterprise/updating-licenses).
93112

94113
### Assigning KOTS and Helm-Only Customers
95114

@@ -165,7 +184,7 @@ From the **Manage customer** page, you can view and edit the customer's license
165184

166185
### Support Bundles Page
167186

168-
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 Replicated 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).
187+
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).
169188

170189
The following shows an example of the **Support bundles** page:
171190

docs/vendor/licenses-reference-sdk.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This topic describes how to query license entitlements at runtime using the Repl
66

77
The Replicated SDK retrieves up-to-date customer license information from the Vendor Portal during runtime. This means that any changes to customer licenses are reflected in real time in the customer environment. For example, you can revoke access to your application when a license expires, expose additional product functionality dynamically based on entitlements, and more. For more information about distributing the SDK with your application, see [About the Replicated SDK](replicated-sdk-overview).
88

9-
After the Replicated SDK is initialized and running in a customer environment, you can use the following SDK API endpoints to get information about the license that was used to install:
9+
After the Replicated SDK is initialized and running in a customer environment, you can use the following SDK API endpoints to get information about the license:
1010
* `/api/v1/license/info`: List license details, including the license ID, the channel the customer is assigned, and the license type.
1111
* `/api/v1/license/fields`: List all the fields in the license.
1212
* `/api/v1/license/fields/{field_name}`: List details about a specific license field, including the field name, description, type, and the value.
-615 KB
Loading
177 KB
Loading
340 KB
Loading
62.8 KB
Loading
186 KB
Loading
-590 KB
Loading

0 commit comments

Comments
 (0)