Skip to content

fix: reorder sidebar for platform #644

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

Merged
merged 15 commits into from
Apr 30, 2025
6 changes: 3 additions & 3 deletions configsrc/vcluster/main/vcluster.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@
},
"coredns": {
"$ref": "#/$defs/CoreDNS",
"description": "CoreDNS defines everything related to the coredns that is deployed and used within the vCluster."
"description": "CoreDNS defines everything related to the coreDNS that is deployed and used within the vCluster."
},
"proxy": {
"$ref": "#/$defs/ControlPlaneProxy",
Expand Down Expand Up @@ -703,7 +703,7 @@
},
"embedded": {
"type": "boolean",
"description": "Embedded defines if vCluster will start the embedded coredns service within the control-plane and not as a separate deployment. This is a PRO feature."
"description": "Embedded defines if vCluster will start the embedded coredns service within the control-plane and not as a separate deployment. This is an Enterprise feature."
},
"service": {
"$ref": "#/$defs/CoreDNSService",
Expand Down Expand Up @@ -2595,7 +2595,7 @@
"secret": {
"type": "boolean"
},
"configmap": {
"configMap": {
"type": "boolean"
}
},
Expand Down
2 changes: 1 addition & 1 deletion platform/_partials/install/upgrade.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Upgrade the platform via:
defaultValue="cli"
values={[
{ label: 'CLI', value: 'cli', },
{ label: 'helm', value: 'helm', },
{ label: 'Helm', value: 'helm', },
]
}>
<TabItem value="cli">
Expand Down
2 changes: 1 addition & 1 deletion platform/administer/projects/quotas.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Button from "@site/src/components/Button";
import Label from "@site/src/components/Label";
import Link from "@docusaurus/Link";

Quotas allow you to set resource usage and count limits for the project. This works similiarly to Kubernetes `ResourcesQuotas`, but applies across multiple clusters. Quotas can be
Quotas allow you to set resource usage and count limits for the project. This works similarly to Kubernetes `ResourcesQuotas`, but applies across multiple clusters. Quotas can be
defined across the whole project or on a per-user/per-team basis.

:::info Project quotas with multiple virtual clusters
Expand Down
18 changes: 0 additions & 18 deletions platform/administer/upgrade-migrate/upgrade.mdx

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"label": "Upgrade and Migrate",
"position": 10,
"position": 5,
"collapsible": true,
"collapsed": true
"collapsed": false
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
title: Lifecycle Policy
sidebar_label: Releases and Maintenance
sidebar_position: 5
title: Lifecycle policy
sidebar_label: Lifecycle Policy
sidebar_position: 1
keywords: [support matrix, supported versions, lifecycle]
---

import SupportTerminology from '@site/docs/_partials/support_terminology.mdx';


Expand All @@ -26,6 +27,6 @@ Any previous versions which are not on this list are no longer in any support wi
| v4.0 | October 15, 2024 | January 15, 2025 | April 15, 2025 |
| v3.4| February 29, 2024 | April 1, 2025* | July 1, 2025 |

\* Due to the number of breaking changes from vCluster v0.19 to v0.20 and Platform v3.4 to v4.0, v3.4 has an extended active support end date. Review the [migration guide](../reference/migrations/4-0-migration.mdx) to upgrade your v3.4 to v4.0 Platform.
\* Due to the number of breaking changes from vCluster v0.19 to v0.20 and Platform v3.4 to v4.0, v3.4 has an extended active support end date. Review the [migration guide](../../reference/migrations/4-0-migration.mdx) to upgrade your v3.4 to v4.0 Platform.

<SupportTerminology />
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: Migrate the platform to a different cluster
sidebar_label: Migrate Clusters
sidebar_position: 1
sidebar_label: Migrate vCluster Platform
sidebar_position: 3
description: Learn how to migrate vCluster platform from one Kubernetes cluster to another.
---

import Flow, { Step } from '@site/src/components/Flow'
import BasePrerequisites from '../../_partials/install/base-prerequisites.mdx';
import BasePrerequisites from '@site/platform/_partials/install/base-prerequisites.mdx';

This guide explains how to migrate the platform to a different Kubernetes cluster, which might be necessary during cluster decommissioning or cloud platform migration.

Expand Down
17 changes: 17 additions & 0 deletions platform/install/upgrade-migrate/upgrade.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Upgrade vCluster Platform
sidebar_label: Upgrade vCluster Platform
sidebar_position: 2
---

import PartialAdminUpgrade from "@site/platform/_partials/install/upgrade.mdx";

You can upgrade vCluster Platform using either the vCluster CLI or Helm.

<PartialAdminUpgrade />

:::info Versions and Values
The `$PLATFORM_VERSION` environment variable specifies the vCluster Platform version to deploy.
The `vcluster-platform.yaml` file is optional and defines Helm values to use when upgrading the vCluster Platform deployment.
:::

55 changes: 28 additions & 27 deletions platform/reference/migrations/4-0-migration.mdx
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
---
title: Upgrade Guide from pre-v4.0 to v4.0+
title: Upgrade guide for pre-v4.0 to v4.0+
sidebar_label: Upgrade Guide for pre-v4.0 to v4.0+
description: How to upgrade from pre-v4.0 to v4.0 release
sidebar_position: 1
---

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

These docs cover upgrading from pre v4.0 to v4.0. Once you upgrade to v4.0+, you need to follow the regular [upgrade docs](../../administer/upgrade-migrate/upgrade).
These docs cover upgrading from pre v4.0 to v4.0. After you upgrade to v4.0+, you must follow the upgrade docs.

## Upgrade to the latest Loft v3.x version
## Upgrade to the latest Loft version

Before attempting to perform this major upgrade, upgrade to the latest v3.x version.
Review the [older upgrade docs](https://loft.sh/docs/admin/upgrade-loft) on how to upgrade. It is recommended to upgrade using the CLI and not the UI as there are known issues to upgrade versions through the UI.

## Pre-Upgrade Recommendations
## Pre-upgrade recommendations

### Read through the v4.0 Release Notes

Expand All @@ -26,15 +27,15 @@ One of the breaking changes in v4.0 is the requirement of a vCluster version def
the vCluster would automatically upgrade these virtual clusters to the latest default vCluster version. Due to the [breaking changes introduced in v0.20](https://roadmap.vcluster.com/changelog/vcluster-v020-ga),
automatic upgrades of vCluster version are no longer supported and a vCluster version must be set in the spec of a virtual cluster or virtual cluster template.

We recommend confirming that the versions of your virtual clusters and virtual cluster templates are in the resource yaml before upgrading. Otherwise,
your virtual clusters will have errors requiring you to define these versions post upgrade and since it will not know what version you upgraded from, it will not know what
version to set and manual steps will need to happen to determine the correct version and set it.
Confirm that the resource YAML includes the versions of your virtual clusters and virtual cluster templates before upgrading.
Otherwise, your virtual clusters might encounter errors that require you to define these versions after the upgrade.
Because it is not known which version you upgraded from, it cannot set the correct version automatically, and you must manually determine and set it.

#### How to define the vCluster version on Existing Virtual Clusters
#### Define the vCluster version on Existing Virtual Clusters

In the UI, for each virtual cluster, edit the configuration and type the version of the virtual cluster or virtual cluster template in the textbox and the resource yaml will automatically update the spec to include the version.
In the UI, for each virtual cluster, edit the configuration and type the version of the virtual cluster or virtual cluster template in the textbox and the resource YAML automatically updates the spec to include the version.

If the resource yaml of your virtual cluster or virtual cluster template has `spec.template.helmRelease.chart.version` set, then the virtual cluster version is defined.
If the resource YAML of your virtual cluster or virtual cluster template has `spec.template.helmRelease.chart.version` set, then the virtual cluster version is defined.

`spec` Example:

Expand All @@ -46,23 +47,23 @@ spec:
version: 0.19.7
```

## Download the latest vCluster CLI (v0.20.0+)
## Download the latest vCluster CLI

With the deprecation of the Loft CLI, review the [Loft CLI to vCluster CLI Migration docs](https://vcluster.com/docs/vcluster/reference/migrations/loft-cli-vcluster-cli-migration).

## Required Changes in your Platform Configuration before Upgrading
## Required changes in your platform configuration before upgrading

A new feature has been added to support the ability to change the prefix of the namespace created for projects. In previous versions, the
prefix was `loft-p`, but in v4.0.0, the new default is `p-`. Due to the change in defaults, the previous prefix needs to be set in the Platform configuration as
part of the upgrade command. Since future upgrades reuse the values of the configuration, you only need to apply it once.

### Appending the project prefix to upgrade commands
### Append the project prefix to upgrade commands

<Tabs
defaultValue="cli"
values={[
{ label: 'CLI', value: 'cli', },
{ label: 'helm', value: 'helm', },
{ label: 'Helm', value: 'helm', },
]
}>
<TabItem value="cli">
Expand All @@ -74,8 +75,8 @@ The following steps assume the existing installation is in the default namespace
:::

```bash
PLATFORM_NAMESPACE="loft" # update if the platform is installed to a different namespace
PLATFORM_VERSION="" # specify a version or it will upgrade to latest stable
PLATFORM_NAMESPACE="loft" # Update if the platform is installed to a different namespace
PLATFORM_VERSION="" # Specify a version or it upgrades to latest stable version

vcluster platform start --upgrade --namespace $PLATFORM_NAMESPACE --version=$PLATFORM_VERSION --values=<(cat <<EOF
config:
Expand All @@ -90,9 +91,9 @@ EOF
To upgrade vCluster Platform from v3 to v4 via `helm`, run. Update `$PLATFORM_VERSION` with a valid vCluster Platform version.

```bash
PLATFORM_RELEASE_NAME="loft" # update if the Helm release has a different name
PLATFORM_NAMESPACE="loft" # update if the platform is installed to a different namespace
PLATFORM_VERSION="" # specify a version or it will upgrade to latest stable
PLATFORM_RELEASE_NAME="loft" # Update if the Helm release has a different name
PLATFORM_NAMESPACE="loft" # Update if the platform is installed to a different namespace
PLATFORM_VERSION="" # Specify a version or it upgrades to latest stable version

helm upgrade $PLATFORM_RELEASE_NAME vcluster-platform -n $PLATFORM_NAMESPACE --repository-config '' --repo https://charts.loft.sh \
--version $PLATFORM_VERSION \
Expand All @@ -116,18 +117,18 @@ config:
projectNamespacePrefix: loft-p-
```

## Post-Upgrade Recommendations
## Post-upgrade recommendations

### Migrating vCluster Platform OIDC Provider Clients
### Migrate vCluster Platform OIDC provider clients

vCluster Platform can be used as an OIDC provider. Formerly, to add clients to the vCluster Platform OIDC provider a user woulld add them to the `oidc.clients` array field
in the vCluster Platform config. This could be done either through the `Admin > Config` UI or through editing the `loft-manager-config` secret found in the namespace vCluster Platform
is installed in. Editing this config causes loft to restart which should be unnecessary for adding OIDC platform clients. Therefore, managing vCluster Platform OIDC clients has
been moved to its own UI and the clients their own objects. These new OIDC clients can be managed either through the OIDC Provider tab of the admin page or through Kubernetes Secrets,
see [Adding OIDC Clients to vCluster Platform OIDC Using Secrets](/platform/how-to/oidc-provider#adding-oidc-clients-to-vcluster-platform-oidc-using-secrets). The `oidc.clients` field
is deprecated in vCluster Platform version 4.0 and will be removed in version 5.0.
is deprecated in vCluster Platform version 4.0 and is removed in version 5.0.

#### Migrating OIDC Clients from Admin Config to New OIDC Clients
#### Migrate OIDC clients from admin config to new OIDC clients

1. Navigate to `Admin > OIDC Provider`.
2. Select `Add Client`.
Expand All @@ -137,14 +138,14 @@ is deprecated in vCluster Platform version 4.0 and will be removed in version 5.
6. Select "Save".
7. Repeat steps 1-6 for all clients.
8. Copy the `oidc.clients` to a safe location. These can be discard once all steps have been succesful.
9. Delete the `oidc.clients` field. This will cause vCluster Platform to restart.
9. Delete the `oidc.clients` field. This causes vCluster Platform to restart.
10. Validate OIDC clients function normally.

## Troubleshooting Tips
## Troubleshooting tips

### Forgot the Project Prefix
### Forgot the project prefix

If you accidentially performed the upgrade without setting the `projectNamespacePrefix`, then the pod of the platform will be in a `CrashLoopBackoff` with a log similiar to:
If you accidentially performed the upgrade without setting the `projectNamespacePrefix`, then the pod of the platform is in a `CrashLoopBackoff` with a log similar to:

```bash
cmd/main.go:107 error executing root command {"component": "loft", "error": "init (4): set default project namespace prefix: seems like you have upgraded the platform from an earlier version that uses 'loft-p-' as a project namespace prefix. This has been changed to be 'p-' in the current version. Please set 'projectNamespacePrefix: loft-p-' in the platform config to get rid of this error"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Button from "@site/src/components/Button";
import Label from "@site/src/components/Label";
import Link from "@docusaurus/Link";

Quotas allow you to set resource usage and count limits for the project. This works similiarly to Kubernetes `ResourcesQuotas`, but applies across multiple clusters. Quotas can be
Quotas allow you to set resource usage and count limits for the project. This works similarly to Kubernetes `ResourcesQuotas`, but applies across multiple clusters. Quotas can be
defined across the whole project or on a per-user/per-team basis.

:::info Project quotas with multiple virtual clusters
Expand Down
Loading
Loading