Skip to content

Helm

The Helm plugin can be used to manage Helm releases within kobs.

Dashboard

Details

Configuration

To use the Helm plugin the following configuration is needed in the satellites configuration file:

Field Type Description Required
name string The name of the Helm plugin instance. Yes
type helm The type for the Helm plugin. Yes
options.permissionsEnabled string Enable the permission handling. An example of the permission format can be found in the usage section of this page. No
plugins:
  - name: helm
    type: helm
    options:
      permissionsEnabled: true

Insight Options

Note

The Helm plugin can not be used within the insights section of an application.

Variable Options

Note

The Helm plugin can not be used to get a list of variable values.

Panel Options

The following options can be used for a panel with the Helm plugin:

Field Type Description Required
type string The panel type. This could be releases or releasehistory. Yes
clusters []string A list of cluster for which the Helm releases should be shown. Yes
namespaces []string A list of namespaces for which the Helm releases should be shown. Yes
name string The name of the Helm release for whih the history should be shown, when the type is releasehistory. No

Notification Options

Note

The Helm plugin can not be used to get a list of notifications.

Usage

Permissions

You can define fine grained permissions to access your Helm releases via kobs. The permissions are defined via the permissions.plugins[].permissions field of a User or Team. The team membership of an user is defined via the values of the X-Auth-Request-Groups header.

In the following example each member of team1@kobs.io will get access to all Helm releases, while members of team2@kobs.io can only view the kobs Helm release in the kobs namespace and the prometheus release in the monitoring namespace:

team1
---
apiVersion: kobs.io/v1
kind: Team
metadata:
  name: team1
spec:
  group: team1@kobs.io
  permissions:
    plugins:
      - satellite: "*"
        name: "*"
        type: "*"
      - satellite: "*"
        name: helm
        type: helm
        permissions:
          - clusters:
              - "*"
            namespaces:
              - "*"
            names:
              - "*"
team2
---
apiVersion: kobs.io/v1
kind: Team
metadata:
  name: team2
spec:
  group: team2@kobs.io
  permissions:
    plugins:
      - satellite: "*"
        name: "*"
        type: "*"
      - satellite: "*"
        name: helm
        type: helm
        permissions:
          - clusters:
              - "kobs-demo"
            namespaces:
              - "kobs"
            names:
              - "kobs"
          - clusters:
              - "kobs-demo"
            namespaces:
              - "monitoring"
            names:
              - "prometheus"

Example Dashboard

The following dashboards shows all Helm releases from the kobs and monitoring namespace and the history of the kobs and prometheus-operator releases.

---
apiVersion: kobs.io/v1
kind: Dashboard
spec:
  rows:
    - panels:
        - title: Helm Releases
          plugin:
            name: helm
            type: helm
            options:
              type: releases
              clusters:
                - "<% .cluster %>"
              namespaces:
                - kobs
                - cert-manager
                - monitoring
    - size: 3
      panels:
        - title: History of kobs
          colSpan: 4
          plugin:
            name: helm
            type: helm
            options:
              type: releasehistory
              clusters:
                - "<% .cluster %>"
              namespaces:
                - kobs
              name: kobs
        - title: History of cert-manager
          colSpan: 4
          plugin:
            name: helm
            type: helm
            options:
              type: releasehistory
              clusters:
                - "<% .cluster %>"
              namespaces:
                - cert-manager
              name: cert-manager
        - title: History of prometheus-operator
          colSpan: 4
          plugin:
            name: helm
            type: helm
            options:
              type: releasehistory
              clusters:
                - "<% .cluster %>"
              namespaces:
                - monitoring
              name: prometheus-operator