Skip to main content
Version: v1.5

Add-on Development Guide

Harvester add-ons allow you to enable and disable specific Harvester and third-party components based on your requirements. Add-ons function as a wrapper for the RKE2 HelmChart resource definition (CRD).

Prerequisites​

  • An existing Harvester cluster

Add-on Specifications​

The Addon CRD supports the following fields:

apiVersion: harvesterhci.io/v1beta1
kind: Addon
metadata:
name: example-add-on # Name of add-on
namespace: example-namespace # Namespace where the add-on CRD is deployed and where the associated Kubernetes components will be deployed
labels: # Optional add-on labels
Add-on.harvesterhci.io/experimental: "true" # Predefined label used on the Harvester UI to identify add-ons with the "experimental" maturity level
spec:
enabled: false # Boolean indicating if an add-on should be enabled or disabled on definition
repo: https://chartsrepo.com # Helm chart repository containing the Helm chart managed by the add-on
version: "v0.19.0" # Version of the Helm chart to be installed
chart: mychart # Name of the Helm chart in the Helm chart repository
valuesContent: |- # File (values.yaml) that must be passed to the Helm chart
contents of values.yaml
that need to be passed
to the chart
note

Experimental add-ons are not directly packaged in Harvester. An example is the rancher-vcluster add-on.

Installation​

kubectl apply -f /path/to/add-on.yaml

Usage​

After creating an Addon CRD, you can can toggle the enabled field to enable and disable the associated Helm chart.

Upgrade​

Changes to the repo, version, chart or valueContent fields will trigger a helm upgrade, which forces an upgrade of the existing Helm chart.

Uninstallation​

kubectl delete -f /path/to/Add-on.yaml