Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ All notable changes to RustFS Operator are documented in this file. The format i
- Declarative Tenant bucket lifecycle rules with drift-aware ownership and explicit removal.
- Helm chart `cosiDriver.enabled` to deploy the RustFS COSI (`rustfs.objectstorage.k8s.io`)
driver alongside the upstream provisioner sidecar, with dedicated ServiceAccount/RBAC.
- Seven built-in RustFS Grafana dashboards, published by default as sidecar-discoverable
ConfigMaps with configurable labels and namespace.

### Fixed

Expand Down
26 changes: 26 additions & 0 deletions deploy/rustfs-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ Before installing, pre-create `sts-tls` in the release namespace with `tls.crt`,
`ca.crt`. For development environments only, opt in to Operator-generated certificates with
`--set sts.tls.auto=true`.

The chart publishes the seven bundled RustFS Grafana dashboards as ConfigMaps by
default. It does not install Grafana or Prometheus. A Grafana dashboard sidecar
must watch the ConfigMap namespace and match the configured discovery labels.

### OpenShift Installation

Enable the OpenShift profile so the chart omits the fixed Pod and container
Expand Down Expand Up @@ -90,6 +94,28 @@ helm uninstall rustfs-operator --namespace rustfs-system

The following table lists the configurable parameters of the RustFS Operator chart and their default values.

### Grafana Dashboard Configuration

| Parameter | Description | Default |
|-----------|-------------|---------|
| `dashboard.enabled` | Publish the bundled RustFS Grafana dashboards as ConfigMaps | `true` |
| `dashboard.namespace` | Dashboard ConfigMap namespace; empty uses the operator namespace | `""` |
| `dashboard.additionalLabels` | Labels used by a Grafana sidecar to discover dashboard ConfigMaps | `{grafana_dashboard: "1"}` |

The bundled dashboards require a Prometheus data source containing RustFS metrics.
The default `grafana_dashboard: "1"` label matches the dashboard sidecar defaults
used by `kube-prometheus-stack`. When a Grafana sidecar only watches its own
namespace, set `dashboard.namespace` to that namespace or configure the sidecar
to search the Operator release namespace. The target namespace must already
exist and the Helm installer must be authorized to create ConfigMaps there.

Disable dashboard ConfigMaps when they are managed separately:

```bash
helm upgrade --install rustfs-operator deploy/rustfs-operator/ \
--set dashboard.enabled=false
```

### Operator Configuration

| Parameter | Description | Default |
Expand Down
9 changes: 9 additions & 0 deletions deploy/rustfs-operator/dashboards/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Bundled RustFS Grafana dashboards

The JSON files in this directory are vendored from
[`rustfs/rustfs`](https://github.com/rustfs/rustfs/tree/main/.docker/observability/grafana/dashboards)
at revision `6ef0740afeb5ae3bc890774b8e83d7e21c94a7e3`.

Keep the filenames stable because the Helm template uses them for ConfigMap names
and data keys. When updating the dashboards, copy all JSON files from the same
RustFS revision and run the chart tests before changing the source revision above.
Loading