Install with FluxΒΆ

This tutorial installs Robusta with Flux using Flux HelmRelease.

PrerequisitesΒΆ

  • A Kubernetes cluster with Flux installed.

  • A generated_values.yaml file. Follow the Generate a Config tutorial to generate this.

Have questions?

Ask on Slack or open a GitHub issue

Preparing Robusta's configΒΆ

Prepare your generated_values.yaml file for Flux:

  • If it's not already present, add clusterName: <YOUR-CLUSTER-NAME>

  • If installing on a test cluster like KIND, add isSmallCluster: true

Example generated_values.yaml:

clusterName: my_cluster_name # <- This is the line to be added
isSmallCluster: false        # <- Optional. Set this on test clusters to lower Robusta's resource usage.
globalConfig:
  signing_key: xxxxxx
  account_id: xxxxxx
sinksConfig:
- slack_sink:
    name: main_slack_sink
    slack_channel: robusta-staging-alerts
    api_key: xxxxxx
- robusta_sink:
    name: robusta_ui_sink
    token: xxxxxx
enablePrometheusStack: true
enablePlatformPlaybooks: true
runner:
  sendAdditionalTelemetry: true

Secrets handling

Read this guide about Managing Secrets.

Creating a HelmRepositoryΒΆ

Run the following command to add Robusta Helm chart as a Flux HelmRepository.

flux create source helm robusta \
    --url https://robusta-charts.storage.googleapis.com \
    --namespace robusta \
    --export > robusta-helm.yaml
  • --namespace: Specified namespace should be present in the cluster.

Creating a HelmReleaseΒΆ

Now lets use the HelmRepository to create a HelmRelease of Robusta.

flux create helmrelease robusta \
    --namespace robusta \
    --chart=robusta \
    --source=HelmRepository/robusta \
    --chart-version="VERSION" \
    --values=./path/to/generated_values.yaml \
    --export > robusta-release.yaml

Automatic updates

To automatically upgrade upon a new helm release use ">=VERSION".

Finish installingΒΆ

Move robusta-helm.yaml and robusta-release.yaml to the Flux bootstrap path.

Commit and push the changes. Wait for the repository to reconcile.