Skip to content

Commit

Permalink
Merge pull request #1395 from replicatedhq/85806
Browse files Browse the repository at this point in the history
Add info about kots and helm only releases and customers
  • Loading branch information
paigecalvert authored Aug 25, 2023
2 parents 6121283 + 64f650c commit 7a986ed
Show file tree
Hide file tree
Showing 12 changed files with 69 additions and 1 deletion.
3 changes: 3 additions & 0 deletions docs/partials/customers/_kots-entitlement-overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Vendors that support both KOTS and Helm CLI installations define which customers can install with KOTS by enabling or disabling the **KOTS Install Enabled** entitlement. Customers that do not have the **KOTS Install Enabled** entitlement can install with the Helm CLI only. For more information, see [Creating and Managing Customers](releases-creating-customer).

KOTS-enabled customers cannot install with KOTS unless a release contains the Kubernetes manifests required for KOTS installations. For more information about the required Kubernetes manifests, see [Custom Resource Checklist](/vendor/distributing-workflow#custom-resources-checklist) in _Onboarding with KOTS_. Helm CLI-only customers cannot install a release unless the release contains a Helm chart.
3 changes: 3 additions & 0 deletions docs/partials/releases/_kots-helm-release-promotion-xref.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
:::note
For vendors that support both KOTS and Helm CLI installations, Replicated prevents releases from being promoted to a channel if the customers assigned to the channel cannot install the release. For more information, see [Promoting KOTS-Only and Helm CLI-Only Releases](/vendor/releases-about#kots-helm-releases) in _About Channels and Releases_.
:::
17 changes: 17 additions & 0 deletions docs/partials/releases/_kots-helm-release-promotion.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
* A release that does not contain the required Kubernetes manifests for KOTS installations cannot be promoted to a channel where KOTS-enabled customers are assigned.

<img width="400px" alt="Release without the required manifests blocked from promotion" src="/images/release-promotion-kots-customers.png"/>

[View a larger version of this image](/images/release-promotion-kots-customers.png)

* A release with no Helm charts cannot be promoted to a channel where one or more Helm CLI-only customers are assigned.

<img width="400px" src="/images/release-promotion-helm-customers.png" alt="Release with no helm charts blocked from being promoted"/>

[View a larger version of this image](/images/release-promotion-helm-customers.png)

* KOTS-only or Helm-only releases cannot be promoted to a channel where both KOTS-enabled and Helm CLI-only customers are assigned.

<img width="400px" alt="KOTS only and helm only releases blocked from being promoted" src="/images/release-promotion-kots-and-helm-customers.png"/>

[View a larger version of this image](/images/release-promotion-kots-and-helm-customers.png)
31 changes: 31 additions & 0 deletions docs/vendor/licenses-about.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import ChangeChannel from "../partials/customers/_change-channel.mdx"
import KotsHelmChannels from "../partials/releases/_kots-helm-release-promotion.mdx"
import KotsEntitlement from "../partials/customers/_kots-entitlement-overview.mdx"

# About Customers

Expand All @@ -16,12 +18,41 @@ For more information about how to create and manage customers, see [Creating and

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. 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_.

#### Changing Channel Assignment

<ChangeChannel/>

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.

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

#### Assigning KOTS-Enabled and Helm-Only Customers

<KotsEntitlement/>

Customers can only be assigned to channels where they can install the head release. As shown in the diagram below, both KOTS-enabled and Helm CLI-only customers can be installed to a channel where the head release contains the required Kubernetes manifests for KOTS releases and contains one or more Helm charts:

<img width="400px" alt="KOTS and Helm customers successfully assigned to a channel" src="/images/channel-assignment-kots-and-helm.png"/>

[View a larger version of this image](/images/channel-assignment-kots-and-helm.png)

To prevent KOTS-enabled or Helm CLI-only customers from accessing a release that they cannot install, Replicated prevents the following channel assignments:
* A KOTS-enabled customer cannot be assigned to a channel where the head release does _not_ contain the Kubernetes manifests required by KOTS.

<img width="400px" alt="KOTS customer blocked from channel assignment" src="/images/channel-assignment-helm-only.png"/>

[View a larger version of this image](/images/channel-assignment-helm-only.png)

* A Helm CLI-only customer cannot be assigned to a channel where the head release does _not_ contain any Helm charts.

<img width="400px" alt="Helm customer blocked from channel assignment" src="/images/channel-assignment-kots-only.png"/>

[View a larger version of this image](/images/channel-assignment-kots-only.png)

Additionally, Replicated prevents releases from being promoted to a channel if the customers assigned to the channel cannot install the release:

<KotsHelmChannels/>

### Built-in and Custom License Fields

Customer licenses have built-in fields and also support custom fields.
Expand Down
10 changes: 10 additions & 0 deletions docs/vendor/releases-about.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import ChangeChannel from "../partials/customers/_change-channel.mdx"
import RequiredReleasesLimitations from "../partials/releases/_required-releases-limitations.mdx"
import RequiredReleasesDescription from "../partials/releases/_required-releases-description.mdx"
import VersionLabelReqsHelm from "../partials/releases/_version-label-reqs-helm.mdx"
import KotsHelmChannels from "../partials/releases/_kots-helm-release-promotion.mdx"
import KotsEntitlement from "../partials/customers/_kots-entitlement-overview.mdx"

# About Channels and Releases

Expand Down Expand Up @@ -73,6 +75,14 @@ After being promoted to a channel, a release is immutable. This means that you c

Every customer license file that you create is assigned to a channel. Each time a new release is promoted to a channel, customers assigned to that channel can update their installed application instance to the new release version. For more information about customer licenses, see [About Customers](licenses-about).

#### Promoting KOTS-Only and Helm CLI-Only Releases {#kots-helm-releases}

<KotsEntitlement/>

Replicated prevents releases from being promoted to a channel if the customers assigned to the channel cannot install the release:

<KotsHelmChannels/>

### Properties

Each release has properties. You define release properties when you promote a release to a channel. You can edit release properties at any time from the channel **Release History** page in the vendor portal. For more information, see [Edit Release Properties](releases-creating-releases#edit-release-properties) in _Managing Releases with the Vendor Portal_.
Expand Down
6 changes: 5 additions & 1 deletion docs/vendor/releases-creating-releases.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import RequiredReleasesLimitations from "../partials/releases/_required-releases-limitations.mdx"
import RequiredReleasesDescription from "../partials/releases/_required-releases-description.mdx"
import ReleasePromotionXref from "../partials/releases/_kots-helm-release-promotion-xref.mdx"

# Managing Releases with the Vendor Portal

Expand Down Expand Up @@ -57,7 +58,10 @@ To create and promote a release in the vendor portal:
</tr>
<tr>
<td>Channel</td>
<td>Select the channel where you want to promote the release. If you are not sure which channel to use, use the default Unstable channel.</td>
<td>
<p>Select the channel where you want to promote the release. If you are not sure which channel to use, use the default Unstable channel.</p>
<p><ReleasePromotionXref/></p>
</td>
</tr>
<tr>
<td>Version label</td>
Expand Down
Binary file added static/images/channel-assignment-helm-only.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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/channel-assignment-kots-only.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 7a986ed

Please sign in to comment.