{
  "author": {
    "name": "Amazon Web Services",
    "roles": [
      "author"
    ],
    "url": "https://aws.amazon.com"
  },
  "dependencies": {
    "cdk8s": "^2.68.91",
    "constructs": "^10.3.0"
  },
  "dependencyClosure": {
    "cdk8s": {
      "targets": {
        "dotnet": {
          "namespace": "Org.Cdk8s",
          "packageId": "Org.Cdk8s"
        },
        "go": {
          "moduleName": "github.com/cdk8s-team/cdk8s-core-go"
        },
        "java": {
          "maven": {
            "artifactId": "cdk8s",
            "groupId": "org.cdk8s"
          },
          "package": "org.cdk8s"
        },
        "js": {
          "npm": "cdk8s"
        },
        "python": {
          "distName": "cdk8s",
          "module": "cdk8s"
        }
      }
    },
    "constructs": {
      "targets": {
        "dotnet": {
          "namespace": "Constructs",
          "packageId": "Constructs"
        },
        "go": {
          "moduleName": "github.com/aws/constructs-go"
        },
        "java": {
          "maven": {
            "artifactId": "constructs",
            "groupId": "software.constructs"
          },
          "package": "software.constructs"
        },
        "js": {
          "npm": "constructs"
        },
        "python": {
          "distName": "constructs",
          "module": "constructs"
        }
      }
    }
  },
  "description": "Grafana construct for cdk8s.",
  "docs": {
    "stability": "stable"
  },
  "homepage": "https://github.com/cdk8s-team/cdk8s-grafana.git",
  "jsiiVersion": "5.9.44 (build 150b837)",
  "keywords": [
    "cdk8s",
    "dashboards",
    "grafana",
    "kubernetes",
    "observability"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscRootDir": "/home/runner/work/cdk8s-grafana/cdk8s-grafana/src"
  },
  "name": "cdk8s-grafana",
  "readme": {
    "markdown": "## cdk8s-grafana\n\n[![View on Construct Hub](https://constructs.dev/badge?package=cdk8s-grafana)](https://constructs.dev/packages/cdk8s-grafana)\n\ncdk8s-grafana is a library that lets you easily define a Grafana service for\nyour kubernetes cluster along with associated dashboards and datasources, using\na high level API.\n\n### Usage\n\nTo apply the resources generated by this construct, the Grafana operator must be\ninstalled on your cluster. See\n<https://operatorhub.io/operator/grafana-operator> for full installation\ninstructions.\n\nThe following will define a Grafana cluster connected to a Prometheus\ndatasource:\n\n```typescript\nimport { Grafana } from 'cdk8s-grafana';\n\n// inside your chart:\nconst grafana = new Grafana(this, 'my-grafana', {\n  defaultDataSource: {\n    name: 'Prometheus',\n    type: 'prometheus',\n    access: 'proxy',\n    url: 'http://prometheus-service:9090',\n  }\n});\n```\n\nBasic aspects of a dashboard can be customized:\n\n```typescript\nconst github = grafana.addDatasource('github', ...);\nconst dashboard = grafana.addDashboard('my-dashboard', {\n  title: 'My Dashboard',\n  refreshRate: Duration.seconds(10),\n  timeRange: Duration.hours(6), // show metrics from now-6h to now\n  plugins: [\n    {\n      name: 'grafana-piechart-panel',\n      version: '1.3.6',\n    }\n  ],\n});\n```\n\nNote: the kubernetes grafana operator only supports one Grafana instance per\nnamespace (see https://github.com/grafana-operator/grafana-operator/issues/174).\nThis may require specifying namespaces explicitly, e.g.:\n\n```typescript\nconst devGrafana = new Grafana(this, 'my-grafana', {\n  namespace: 'dev',\n});\nconst prodGrafana = new Grafana(this, 'my-grafana', {\n  namespace: 'prod',\n});\n```\n\nThe grafana operator must be installed in each namespace for the resources in\nthat namespace to be recognized.\n\n## Security\n\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more\ninformation.\n\n## License\n\nThis project is licensed under the Apache-2.0 License.\n\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/cdk8s-team/cdk8s-grafana.git"
  },
  "schema": "jsii/0.10.0",
  "targets": {
    "dotnet": {
      "namespace": "Org.Cdk8s.Grafana",
      "packageId": "Org.Cdk8s.Grafana"
    },
    "go": {
      "moduleName": "github.com/cdk8s-team/cdk8s-grafana-go"
    },
    "java": {
      "maven": {
        "artifactId": "cdk8s-grafana",
        "groupId": "org.cdk8s"
      },
      "package": "org.cdk8s.grafana"
    },
    "js": {
      "npm": "cdk8s-grafana"
    },
    "python": {
      "distName": "cdk8s-grafana",
      "module": "cdk8s_grafana"
    }
  },
  "types": {
    "cdk8s-grafana.AccessType": {
      "assembly": "cdk8s-grafana",
      "docs": {
        "see": "https://grafana.com/docs/grafana/latest/administration/provisioning/#example-data-source-config-file",
        "stability": "stable",
        "summary": "Mode for accessing a data source."
      },
      "fqn": "cdk8s-grafana.AccessType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/datasource.ts",
        "line": 8
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Access via proxy."
          },
          "name": "PROXY"
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Access directly (via server or browser in UI)."
          },
          "name": "DIRECT"
        }
      ],
      "name": "AccessType",
      "symbolId": "src/datasource:AccessType"
    },
    "cdk8s-grafana.Dashboard": {
      "assembly": "cdk8s-grafana",
      "base": "constructs.Construct",
      "docs": {
        "see": "https://grafana.com/docs/grafana/latest/http_api/dashboard/",
        "stability": "stable",
        "summary": "A Grafana dashboard."
      },
      "fqn": "cdk8s-grafana.Dashboard",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/dashboard.ts",
          "line": 78
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk8s-grafana.DashboardProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/dashboard.ts",
        "line": 76
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Adds one or more plugins."
          },
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 143
          },
          "name": "addPlugins",
          "parameters": [
            {
              "name": "plugins",
              "type": {
                "fqn": "cdk8s-grafana.GrafanaPlugin"
              },
              "variadic": true
            }
          ],
          "variadic": true
        }
      ],
      "name": "Dashboard",
      "symbolId": "src/dashboard:Dashboard"
    },
    "cdk8s-grafana.DashboardProps": {
      "assembly": "cdk8s-grafana",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk8s-grafana.DashboardProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dashboard.ts",
        "line": 5
      },
      "name": "DashboardProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Title of the dashboard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 9
          },
          "name": "title",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no data source variables",
            "example": "{ DS_PROMETHEUS: \"my-prometheus-ds\" }",
            "remarks": "This is only needed if you are importing an existing dashboard's JSON\nand it specifies variables within an \"__inputs\" field.",
            "stability": "stable",
            "summary": "Specify a mapping from data source variables to data source names."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 25
          },
          "name": "dataSourceVariables",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default folder",
            "stability": "stable",
            "summary": "Group dashboards into folders."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 15
          },
          "name": "folder",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "see": "https://grafana.com/docs/grafana/latest/dashboards/json-model/",
            "stability": "stable",
            "summary": "All other dashboard customizations."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 69
          },
          "name": "jsonModel",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no labels",
            "remarks": "When adding a dashboard to a Grafana instance using `grafana.addDashboard`,\nlabels provided to Grafana will be automatically applied. Otherwise,\nlabels must be added manually.",
            "stability": "stable",
            "summary": "Labels to apply to the kubernetes resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 53
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined (will be assigned to the 'default' namespace)",
            "remarks": "When adding a dashboard to a Grafana instance using `grafana.addDashboard`,\nthe namespace will be automatically inherited.",
            "stability": "stable",
            "summary": "Namespace to apply to the kubernetes resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 63
          },
          "name": "namespace",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Specify plugins required by the dashboard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 42
          },
          "name": "plugins",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "cdk8s-grafana.GrafanaPlugin"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 5 seconds",
            "stability": "stable",
            "summary": "Auto-refresh interval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 31
          },
          "name": "refreshRate",
          "optional": true,
          "type": {
            "fqn": "cdk8s.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 6 hours",
            "stability": "stable",
            "summary": "Time range for the dashboard, e.g. last 6 hours, last 7 days, etc."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 37
          },
          "name": "timeRange",
          "optional": true,
          "type": {
            "fqn": "cdk8s.Duration"
          }
        }
      ],
      "symbolId": "src/dashboard:DashboardProps"
    },
    "cdk8s-grafana.DataSource": {
      "assembly": "cdk8s-grafana",
      "base": "constructs.Construct",
      "docs": {
        "see": "https://grafana.com/docs/grafana/latest/administration/provisioning/#example-data-source-config-file",
        "stability": "stable",
        "summary": "A Grafana data source."
      },
      "fqn": "cdk8s-grafana.DataSource",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/datasource.ts",
          "line": 82
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk8s-grafana.DataSourceProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/datasource.ts",
        "line": 76
      },
      "name": "DataSource",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Name of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 80
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/datasource:DataSource"
    },
    "cdk8s-grafana.DataSourceProps": {
      "assembly": "cdk8s-grafana",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk8s-grafana.DataSourceProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/datasource.ts",
        "line": 20
      },
      "name": "DataSourceProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Access type of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 34
          },
          "name": "access",
          "type": {
            "fqn": "cdk8s-grafana.AccessType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Name of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 24
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Type of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 29
          },
          "name": "type",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no description",
            "stability": "stable",
            "summary": "Description of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 40
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no labels",
            "remarks": "When adding a data source to a Grafana instance using `grafana.addDataSource`,\nlabels provided to Grafana will be automatically applied. Otherwise,\nlabels must be added manually.",
            "stability": "stable",
            "summary": "Labels to apply to the kubernetes resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 59
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined (will be assigned to the 'default' namespace)",
            "remarks": "When adding a data source to a Grafana instance using `grafana.addDataSource`,\nthe namespace will be automatically inherited.",
            "stability": "stable",
            "summary": "Namespace to apply to the kubernetes resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 69
          },
          "name": "namespace",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- default url for data source type",
            "remarks": "Most resources besides the 'testdata' data source\ntype require this field in order to retrieve data.",
            "stability": "stable",
            "summary": "URL of the data source."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/datasource.ts",
            "line": 48
          },
          "name": "url",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/datasource:DataSourceProps"
    },
    "cdk8s-grafana.Grafana": {
      "assembly": "cdk8s-grafana",
      "base": "constructs.Construct",
      "docs": {
        "stability": "stable",
        "summary": "A Grafana instance."
      },
      "fqn": "cdk8s-grafana.Grafana",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/grafana.ts",
          "line": 74
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "cdk8s-grafana.GrafanaProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/grafana.ts",
        "line": 68
      },
      "methods": [
        {
          "docs": {
            "remarks": "By default,\nlabels are automatically added so that the data source is detected by\nGrafana.",
            "stability": "stable",
            "summary": "Creates a dashboard associated with a particular data source."
          },
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 156
          },
          "name": "addDashboard",
          "parameters": [
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "type": {
                "fqn": "cdk8s-grafana.DashboardProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "cdk8s-grafana.Dashboard"
            }
          }
        },
        {
          "docs": {
            "remarks": "By default, labels are automatically added so that\nthe data source is detected by Grafana.",
            "stability": "stable",
            "summary": "Adds a data source."
          },
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 137
          },
          "name": "addDataSource",
          "parameters": [
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "type": {
                "fqn": "cdk8s-grafana.DataSourceProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "cdk8s-grafana.DataSource"
            }
          }
        }
      ],
      "name": "Grafana",
      "symbolId": "src/grafana:Grafana"
    },
    "cdk8s-grafana.GrafanaPlugin": {
      "assembly": "cdk8s-grafana",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk8s-grafana.GrafanaPlugin",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/dashboard.ts",
        "line": 150
      },
      "name": "GrafanaPlugin",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Name of the plugin, e.g. \"grafana-piechart-panel\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 154
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Version of the plugin, e.g. \"1.3.6\"."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/dashboard.ts",
            "line": 159
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/dashboard:GrafanaPlugin"
    },
    "cdk8s-grafana.GrafanaProps": {
      "assembly": "cdk8s-grafana",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk8s-grafana.GrafanaProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/grafana.ts",
        "line": 7
      },
      "name": "GrafanaProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "\"secret\"",
            "stability": "stable",
            "summary": "Default admin password."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 36
          },
          "name": "adminPassword",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"root\"",
            "stability": "stable",
            "summary": "Default admin username."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 30
          },
          "name": "adminUser",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- no data source added",
            "stability": "stable",
            "summary": "Default data source - equivalent to calling `grafana.addDataSource`."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 48
          },
          "name": "defaultDataSource",
          "optional": true,
          "type": {
            "fqn": "cdk8s-grafana.DataSourceProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "\"public.ecr.aws/ubuntu/grafana:latest\"",
            "stability": "stable",
            "summary": "Specify a custom image for Grafana."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 12
          },
          "name": "image",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "stable",
            "summary": "Create an ingress to provide external access to the Grafana cluster."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 18
          },
          "name": "ingress",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- { app: \"grafana\" }",
            "stability": "stable",
            "summary": "Labels to apply to all Grafana resources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 54
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- undefined (will be assigned to the 'default' namespace)",
            "remarks": "The Grafana Operator must be\ninstalled in this namespace for resources to be recognized.",
            "stability": "stable",
            "summary": "Namespace to apply to all Grafana resources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 62
          },
          "name": "namespace",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "stable",
            "summary": "Require login in order to view or manage dashboards."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 42
          },
          "name": "requireLogin",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ClusterIP",
            "stability": "stable",
            "summary": "Type of service to be created (NodePort, ClusterIP or LoadBalancer)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/grafana.ts",
            "line": 24
          },
          "name": "serviceType",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/grafana:GrafanaProps"
    }
  },
  "version": "0.1.793",
  "fingerprint": "yegUOpq08eJPI0Owm+nhZ31AVW1ijtWy5NggjXYdt4A="
}