Helm
The Helm plugin can be used to manage Helm releases within kobs.
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