org.cdk8s.grafana.package-info Maven / Gradle / Ivy
/**
* cdk8s-grafana
*
* cdk8s-grafana is a library that lets you easily define a Grafana service for
* your kubernetes cluster along with associated dashboards and datasources, using
* a high level API.
*
*
Usage
*
* To apply the resources generated by this construct, the Grafana operator must be
* installed on your cluster. See
* https://operatorhub.io/operator/grafana-operator for full installation
* instructions.
*
* The following will define a Grafana cluster connected to a Prometheus
* datasource:
*
*
* import { Grafana } from 'cdk8s-grafana';
*
* // inside your chart:
* const grafana = new Grafana(this, 'my-grafana', {
* defaultDataSource: {
* name: 'Prometheus',
* type: 'prometheus',
* access: 'proxy',
* url: 'http://prometheus-service:9090',
* }
* });
*
*
* Basic aspects of a dashboard can be customized:
*
*
* const github = grafana.addDatasource('github', ...);
* const dashboard = grafana.addDashboard('my-dashboard', {
* title: 'My Dashboard',
* refreshRate: Duration.seconds(10),
* timeRange: Duration.hours(6), // show metrics from now-6h to now
* plugins: [
* {
* name: 'grafana-piechart-panel',
* version: '1.3.6',
* }
* ],
* });
*
*
* Note: the kubernetes grafana operator only supports one Grafana instance per
* namespace (see https://github.com/grafana-operator/grafana-operator/issues/174).
* This may require specifying namespaces explicitly, e.g.:
*
*
* const devGrafana = new Grafana(this, 'my-grafana', {
* namespace: 'dev',
* });
* const prodGrafana = new Grafana(this, 'my-grafana', {
* namespace: 'prod',
* });
*
*
* The grafana operator must be installed in each namespace for the resources in
* that namespace to be recognized.
*
*
Security
*
* See CONTRIBUTING for more
* information.
*
*
License
*
* This project is licensed under the Apache-2.0 License.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
package org.cdk8s.grafana;