Apps are Helm charts from Helm repositories which you can manage via Loft. Apps can be managed in the loft UI from within a space (Spaces > Apps) or from within a cluster (Clusters > Apps).
Loft will install apps by impersonating the user that wants to install the app, which means that if the user is not allowed to install certain resources (e.g. ClusterRoles), the user also won't be able to install an App that contains such resources.
By default, all users that have admin access to a space are able to install apps into that space limited by their RBAC rights. To disable this, remove the RBAC rights for
helmreleases in the cluster role
Types of Apps
System apps are Helm charts which are installed into the cluster by Loft during the cluster initialization process, i.e. right after connecting the cluster. These apps are managed and upgraded by Loft. You cannot delete or upgrade them manually because this would impact Loft's ability to manage the cluster. Currently, only kiosk is a system app.
Loft has the most commonly used Helm Charts already predefined which makes it easy to install over 1,200 Helm charts with just a few clicks.
Recommended Apps: After connecting a cluster, Loft suggests a few specific popular apps which you can see in the "Clusters > Cluster" tab. Click on one to configure and install it. Other Apps: To install other apps, click on "Explore other apps" and use the searchable select to find charts.
To customize what Apps should be available, take a look at the customization section below.
Convert an existing Helm Release
In Helm v3, Helm creates a Kubernetes secret for each Helm release that contains details about the release. To view such secrets you can execute in the cluster:
In order for Loft to display the Helm releases as apps in the Loft UI, the secret needs a label called
To query the Helm releases Loft will display in the UI, you can run:
Additionally, there is the label
loft.sh/system-app: true and the annotation
loft.sh/url: REPO_URL to provide additional loft specific details about the app.
Sometimes, it can be useful to "import" an already existing Helm chart by adding the missing labels and annotations. This has the advantage that you can view and manage the Helm release using the Loft UI. With the helper script
import-helm-release, you can import Helm releases into Loft.
If you connected the management cluster (that Loft is running in), you can:
loft and label it as system app:
Installing apps essentially runs
You can upgrade (or downgrade) your apps in the UI which essentially performs a
helm upgrade. Upgrading apps is also useful to change the configuration of an app (helm values).
Uninstalling an app essentially performs
Change App Repositories
You can customize which Helm repositories should be crawled by Loft. This can be done in the "Admin > Config" tab. In the textbox you can change the
apps settings. You have several options to customize how Loft will crawl the Helm repositories:
For example, if you want to add your own helm chart repository you can specify it via:
Apps crawled from the repository will then be shown as
my-custom-repo/chart within the Apps views.
Change Predefined Space Apps
You can also specify custom predefined apps that will be displayed in the "Spaces > Apps" tab. This can be done in the "Admin > Config" tab under the
apps section in the textbox. The following options are available:
For example, if you want to specify a mysql example app, enter the following into the textbox and press apply:
After a short waiting period, Loft will display the app in the "Spaces > Apps" tab: