Parameters

The parent key for all of the following parameters is grafana_helm.

namespace

type

string

default

syn-grafana

The namespace in which to deploy this component.

createNamespace

type

boolean

default

true

Whether to create the namespace specified in namespace.

namespaceLabels

type

object

default

{}

Additional labels to add to the namespace specified in namespace.

namespaceAnnotations

type

object

default

{}

Additional annotations to add to the namespace specified in namespace.

secrets

type

object

default

{}

example
secrets:
  grafana-admin-user:
    stringData:
      admin-user: admin
      admin-password: password

helm_values:
  admin:
    existingSecret: grafana-admin-user

A dictionary holding secrets for use with Grafana. Each key in the dictionary is used as the name of a secret. The value of the key is merged directly into an empty Kubernetes Secret resource. By default, secrets are created in the namespace in which Grafana is deployed.

dashboards

type

object

default

{}

An object with dashboards to provision.

datasources

type

object

default

{}

An object with datasources to provision.

extraConfigMap

type

object

default

{}

An object with extra ConfgiMaps to be deployed

openshiftIntegration

Configuration options for tight integration in OpenShift.

openshiftIntegration.enabled

type

boolean

default

false

Enables configuration for OpenShift integration.

Enabling OpenShift integration will configure various Helm values and create the neccessary resources for Grafana to authenticate agains OpenShift and have datasources for the OpenShift observation stack.

openshiftIntegration.auth

type

object

default
openshiftIntegration:
  auth:
    adminUser: 'admin'
    adminPassword: '?{vaultkv:${cluster:tenant}/${cluster:name}/${_instance}/admin_password}'
    scopes: 'user:info user:check-access user:list-projects'
    roleAttributePath: "contains(groups[*], 'openshiftroot') && 'GrafanaAdmin' || 'Editor'"

openshiftIntegration.ingress

type

object

default
openshiftIntegration:
  ingress:
    urlPrefix: ${_instance}

The URL the Grafana instance will be published under has the form <urlPrefix>.apps.<clusterDomain>.

openshiftIntegration.metrics

type

object

default
openshiftIntegration:
  metrics:
    enabled: true (1)
    name: Prometheus (2)
1 Enable this datasource.
2 Name of the datasource.

Integrating OpenShift metrics.

openshiftIntegration.logsApps

type

object

default
openshiftIntegration:
  logsApps:
    enabled: true (1)
    name: OpenShift Logging (Application) (2)
1 Enable this datasource.
2 Name of the datasource.

Inegrate OpenShift Application logs.

openshiftIntegration.logsInfra

type

object

default
openshiftIntegration:
  logsInfra:
    enabled: true (1)
    name: OpenShift Logging (Infrastructure) (2)
1 Enable this datasource.
2 Name of the datasource.

Integrate OpenShift Infrastructure logs.

openshiftIntegration.logsAudit

type

object

default
openshiftIntegration:
  logsAudit:
    enabled: false (1)
    name: OpenShift Logging (Audit) (2)
1 Enable this datasource.
2 Name of the datasource.

Integrate OpenShift Audit logs.

helm_values

type

object

default
helm_values:
  serviceMonitor:
    enabled: true
  testFramework:
    enabled: false
  initChownData:
    enabled: false
  deploymentStrategy:
    type: Recreate

Values passed to Helm.

Example

namespace: example-namespace
dashboards:
  dashboard-crossplane: |-
    {
      "annotations": {
        "list": [
          {
            "builtIn": 1,
            "datasource": "-- Grafana --",
            "enable": true,
            "hide": true,
            "iconColor": "rgba(0, 211, 255, 1)",
            "name": "Annotations & Alerts",
            "type": "dashboard"
          }
        ]
      },
      [...]
datasources:
    'datasource.yaml': |-
        apiVersion: 1
        datasources:
        - name: Prometheus
            type: prometheus
            url: http://prometheus-svc
            access: proxy
            isDefault: true
extraConfigMap:
  'nginx.conf': "# My NGINX config File"