{"id":13509840,"url":"https://github.com/K-Phoen/dark","last_synced_at":"2025-03-30T14:31:51.479Z","repository":{"id":37011648,"uuid":"249009636","full_name":"K-Phoen/dark","owner":"K-Phoen","description":"(grafana) Dashboards As Resources in Kubernetes","archived":false,"fork":false,"pushed_at":"2024-07-31T06:29:52.000Z","size":45202,"stargazers_count":432,"open_issues_count":19,"forks_count":22,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-29T04:11:15.131Z","etag":null,"topics":["dashboard","dashboard-configuration","dashboards","grafana","grafana-dashboard","hacktoberfest","kubernetes","kubernetes-controller","kubernetes-crd","yaml"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/K-Phoen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["K-Phoen"],"patreon":"kevin_gomez","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-03-21T15:55:55.000Z","updated_at":"2025-03-26T15:27:25.000Z","dependencies_parsed_at":"2023-02-16T11:31:38.667Z","dependency_job_id":"3c9b04d7-1e78-4518-a73e-b8037aafce87","html_url":"https://github.com/K-Phoen/dark","commit_stats":{"total_commits":275,"total_committers":5,"mean_commits":55.0,"dds":0.3345454545454546,"last_synced_commit":"e4b06cc0003d7a5565875367cfc3c20ffed32371"},"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-Phoen%2Fdark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-Phoen%2Fdark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-Phoen%2Fdark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/K-Phoen%2Fdark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/K-Phoen","download_url":"https://codeload.github.com/K-Phoen/dark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246332239,"owners_count":20760445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","dashboard-configuration","dashboards","grafana","grafana-dashboard","hacktoberfest","kubernetes","kubernetes-controller","kubernetes-crd","yaml"],"created_at":"2024-08-01T02:01:14.144Z","updated_at":"2025-03-30T14:31:51.451Z","avatar_url":"https://github.com/K-Phoen.png","language":"Go","readme":"# DARK\n\n[![codecov](https://codecov.io/gh/K-Phoen/dark/branch/master/graph/badge.svg)](https://codecov.io/gh/K-Phoen/dark)\n\n**D**ashboards **A**s **R**esources in **K**ubernetes.\n\nDARK provides a way to define and deploy Grafana dashboards via Kubernetes, next to the services they monitor.\n\nIf you are looking for a way to version your dashboards and deploy them across all environments, like you would do\nwith your services, then this project is meant for you.\n\nIn addition to dashboards, DARK can also manage:\n\n* [data sources](./docs/index.md#data-sources)\n* [API keys](./docs/usage/creating-api-keys.md)\n* [alert manager configuration](./docs/index.md#alerting-configuration) (alert routing, notification policies, ...)\n\n## Design goals\n\n* full description of dashboards via YAML\n* integration with `kubectl`\n* seamless integration with Grafana\n* delegate YAML decoding and dashboard generation to [Grabana](https://github.com/K-Phoen/grabana)\n\n## Non-goals\n\n* creation and operation of Grafana instances themselves. For that, check out [`grafana-operator/grafana-operator`](https://github.com/grafana-operator/grafana-operator)\n\n## See also\n\n* [`grafana-foundation-sdk`](https://github.com/grafana/grafana-foundation-sdk/): A set of tools, types and libraries for building and manipulating Grafana objects – built by Grafana Labs\n* [`grabana`](https://github.com/K-Phoen/grabana): User-friendly Go library for building Grafana dashboards\n\n## Example dashboard\n\n```yaml\napiVersion: k8s.kevingomez.fr/v1\nkind: GrafanaDashboard\nmetadata:\n  name: example-dashboard\n  namespace: monitoring\n  annotations:\n    dark/folder: \"Awesome folder\"\nspec:\n  title: Awesome dashboard\n  shared_crosshair: true\n  tags: [generated, yaml]\n  auto_refresh: 10s\n\n  variables:\n    - interval:\n        name: interval\n        label: interval\n        default: 1m\n        values: [30s, 1m, 5m, 10m, 30m, 1h, 6h, 12h]\n\n  rows:\n    - name: Prometheus\n      panels:\n        - timeseries:\n            title: HTTP Rate\n            datasource: prometheus-default\n            targets:\n              - prometheus:\n                  query: \"rate(promhttp_metric_handler_requests_total[$interval])\"\n                  legend: \"{{ handler }} - {{ code }}\"\n\n        - graph:\n            title: Heap allocations\n            datasource: prometheus-default\n            targets:\n              - prometheus:\n                  query: \"go_memstats_heap_alloc_bytes\"\n                  legend: \"{{ job }}\"\n```\n\nMore examples can be found in the [`examples/`](./examples) folder\n\n## Installation \u0026 usage\n\nCheck out [the documentation](docs/index.md) to dig deeper into how to set up and use DARK.\n\n## Adopters\n\n[Companies using DARK](ADOPTERS.md).\n\n## They talk about DARK\n\n* [Creating a Grafana Dashboard with Kubernetes Resource Objects — SoByte](https://www.sobyte.net/post/2021-11/use-crd-create-grafana-dashboard/)\n* [How VOI went DARK — VOI Technology](https://medium.com/voi-engineering/how-voi-went-dark-afb43c45f094)\n\n## License\n\nThis library is under the [MIT](LICENSE) license.\n","funding_links":["https://github.com/sponsors/K-Phoen","https://patreon.com/kevin_gomez"],"categories":["Go","yaml","Observability","Kubernetes"],"sub_categories":["Kubernetes // Grafana"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FK-Phoen%2Fdark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FK-Phoen%2Fdark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FK-Phoen%2Fdark/lists"}