{"id":13742407,"url":"https://github.com/grafana/grafana-operator","last_synced_at":"2026-02-24T10:09:03.065Z","repository":{"id":37245530,"uuid":"167388333","full_name":"grafana/grafana-operator","owner":"grafana","description":"An operator for Grafana that installs and manages Grafana instances, Dashboards and Datasources through Kubernetes/OpenShift CRs","archived":false,"fork":false,"pushed_at":"2025-11-15T14:17:24.000Z","size":258803,"stargazers_count":1212,"open_issues_count":47,"forks_count":448,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-11-15T14:18:33.546Z","etag":null,"topics":["community","go","golang","grafana","grafana-operator","hacktober","k8s","kubernetes","kubernetes-operator","monitoring","observability","open-source","openshift","openshift-v4","operator"],"latest_commit_sha":null,"homepage":"https://grafana.github.io/grafana-operator/docs/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grafana.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-01-24T15:17:44.000Z","updated_at":"2025-11-15T13:31:08.000Z","dependencies_parsed_at":"2024-03-29T11:23:40.619Z","dependency_job_id":"bcebff34-a696-44ff-87a7-b967eeb4e68a","html_url":"https://github.com/grafana/grafana-operator","commit_stats":{"total_commits":1553,"total_committers":208,"mean_commits":7.466346153846154,"dds":0.7900837089504186,"last_synced_commit":"1d51877d9ab11f084e60b27afdf6c4506051a43f"},"previous_names":["integr8ly/grafana-operator","grafana/grafana-operator","grafana-operator/grafana-operator"],"tags_count":90,"template":false,"template_full_name":null,"purl":"pkg:github/grafana/grafana-operator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fgrafana-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fgrafana-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fgrafana-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fgrafana-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grafana","download_url":"https://codeload.github.com/grafana/grafana-operator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grafana%2Fgrafana-operator/sbom","scorecard":{"id":159419,"data":{"date":"2025-08-11","repo":{"name":"github.com/grafana/grafana-operator","commit":"28dc4c0b2834db32ea746db8118997112fb062bf"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":7.8,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 22 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Token-Permissions","score":8,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/hugo.yaml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/labeler.yaml:8","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yaml:18","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/release.yaml:19","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release.yaml:118","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/release.yaml:119","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yaml:168","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/release.yaml:169","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yaml:255","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/release.yaml:256","Info: jobLevel 'packages' permission set to 'read': .github/workflows/release.yaml:328","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e.yaml:9","Warn: no topLevel permission defined: .github/workflows/hugo.yaml:1","Warn: no topLevel permission defined: .github/workflows/labeler.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-hugo.yaml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-validation.yaml:2","Info: found token with 'none' permissions: .github/workflows/release.yaml:1","Warn: no topLevel permission defined: .github/workflows/stale.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":9,"reason":"dependency not pinned by hash detected -- score normalized to 9","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:246: update your workflow using https://app.stepsecurity.io/secureworkflow/grafana/grafana-operator/release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:272: update your workflow using https://app.stepsecurity.io/secureworkflow/grafana/grafana-operator/release.yaml/master?enable=pin","Info:  23 out of  25 GitHub-owned GitHubAction dependencies pinned","Info:  14 out of  14 third-party GitHubAction dependencies pinned","Info:   2 out of   2 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/grafana/.github/SECURITY.md:1","Info: Found linked content: github.com/grafana/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/grafana/.github/SECURITY.md:1","Info: Found text in security policy: github.com/grafana/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v5.19.4 not signed: https://api.github.com/repos/grafana/grafana-operator/releases/237905964","Warn: release artifact v5.19.3 not signed: https://api.github.com/repos/grafana/grafana-operator/releases/237899543","Warn: release artifact v5.19.2 not signed: https://api.github.com/repos/grafana/grafana-operator/releases/237890261","Warn: release artifact v5.19.1 not signed: https://api.github.com/repos/grafana/grafana-operator/releases/237644436","Warn: release artifact v5.19.0 not signed: https://api.github.com/repos/grafana/grafana-operator/releases/237339432","Warn: release artifact v5.19.4 does not have provenance: https://api.github.com/repos/grafana/grafana-operator/releases/237905964","Warn: release artifact v5.19.3 does not have provenance: https://api.github.com/repos/grafana/grafana-operator/releases/237899543","Warn: release artifact v5.19.2 does not have provenance: https://api.github.com/repos/grafana/grafana-operator/releases/237890261","Warn: release artifact v5.19.1 does not have provenance: https://api.github.com/repos/grafana/grafana-operator/releases/237644436","Warn: release artifact v5.19.0 does not have provenance: https://api.github.com/repos/grafana/grafana-operator/releases/237339432"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3830 / GHSA-x4rx-4gw3-53p4"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T12:54:51.062Z","repository_id":37245530,"created_at":"2025-08-16T12:54:51.062Z","updated_at":"2025-08-16T12:54:51.062Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285249570,"owners_count":27139393,"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","status":"online","status_checked_at":"2025-11-19T02:00:05.673Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["community","go","golang","grafana","grafana-operator","hacktober","k8s","kubernetes","kubernetes-operator","monitoring","observability","open-source","openshift","openshift-v4","operator"],"created_at":"2024-08-03T05:00:31.584Z","updated_at":"2026-02-24T10:09:03.058Z","avatar_url":"https://github.com/grafana.png","language":"Go","funding_links":[],"categories":["Repository is obsolete","Go","open-source"],"sub_categories":["Awesome Operators in the Wild"],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Grafana Operator\n\n[![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?\u0026logo=grafana\u0026logoColor=white)](https://grafana.com/)\n[![Grafana Operator](https://img.shields.io/badge/Grafana%20Operator-orange)](https://grafana.github.io/grafana-operator/)\n[![GitHub tag](https://img.shields.io/github/tag/grafana/grafana-operator.svg)](https://github.com/grafana/grafana-operator/tags)\n[![GitHub Last Commit](https://img.shields.io/github/last-commit/grafana/grafana-operator)](https://github.com/grafana/grafana-operator/tags)\n[![GitHub Contributors](https://img.shields.io/github/contributors/grafana/grafana-operator)](https://github.com/grafana/grafana-operator/tags)\n\n**[Official Documentation](https://grafana-operator.github.io/grafana-operator/)** | **[Quickstart](#getting-started)** | **[Installation](#installation)** | **[Tutorials](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grafana-operator/)**\n\n\u003c/div\u003e\n\nThe Grafana Operator is a Kubernetes operator built to help you manage your Grafana instances and its resources in and outside of\nKubernetes.\n\nWhether you’re running one Grafana instance or many, the Grafana Operator simplifies the processes of installing, configuring, and maintaining Grafana and its resources. Additionally, it's perfect for those who prefer to manage resources using infrastructure as code or using GitOps workflows through tools like ArgoCD and Flux CD.\n\n## Getting Started\n\n### Installation\n\n**Option 1: Helm Chart**\n\nDeploy the Grafana Operator easily in your cluster using Helm:\n\n```bash\nhelm upgrade -i grafana-operator oci://ghcr.io/grafana/helm-charts/grafana-operator --version 5.22.0\n```\n\n**Option 2: Kustomize \u0026 More**\n\nPrefer Kustomize, Openshift OLM, or Kubernetes directly? Find detailed instructions in our [Installation Guide](https://grafana.github.io/grafana-operator/docs/installation/kustomize/).\n\nFor even more detailed setups, see our [documentation](docs/README.md).\n\n### Example: Deploying Grafana \u0026 A Dashboard\n\nHere's a simple example of deploying Grafana and a Grafana Dashboard using the custom resources (CRs) defined by the Grafana Operator:\n\n```yaml\napiVersion: grafana.integreatly.org/v1beta1\nkind: Grafana\nmetadata:\n  name: grafana\n  labels:\n    dashboards: \"grafana\"\nspec:\n  config:\n    log:\n      mode: \"console\"\n    security:\n      admin_user: root\n      admin_password: secret\n\n---\napiVersion: grafana.integreatly.org/v1beta1\nkind: GrafanaDashboard\nmetadata:\n  name: sample-dashboard\nspec:\n  resyncPeriod: 30s\n  instanceSelector:\n    matchLabels:\n      dashboards: \"grafana\"\n  json: \u003e\n    {\n      \"title\": \"Simple Dashboard\",\n      \"timezone\": \"browser\",\n      \"refresh\": \"5s\",\n      \"panels\": [],\n      \"time\": {\n        \"from\": \"now-6h\",\n        \"to\": \"now\"\n      }\n    }\n```\n\nFor more tailored setups and resources management, check out these guides:\n\n- [Managing Data Sources and Dashboards](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grafana-operator/operator-dashboards-folders-datasources/)\n- [GitOps Dashboards Management with ArgoCD](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grafana-operator/manage-dashboards-argocd/)\n\n## Why Grafana Operator?\n\nSwitching to Grafana Operator from traditional deployments amplifies your efficiency by:\n\n- Enabling multi-instance and multi-namespace Grafana deployments effortlessly.\n- Simplifying dashboard, data sources, and plugin management through code.\n- Supporting both Kubernetes and Openshift with smart adjustments based on the environment.\n- Allowing management of external Grafana instances for robust GitOps integration.\n- Providing multi-architecture support, making it versatile across different platforms.\n- Offering one-click installation through Operatorhub/OLM.\n\n## Get In Touch\n\nGot questions or suggestions? Let us know! The quickest way to reach us is through our [GitHub Issues](https://github.com/grafana/grafana-operator/issues) or by joining our weekly public meeting on Mondays at 13:30 Central European (Summer) Time (11:30/12:30 UTC in Summer/Winter) (link [here](https://meet.google.com/sqk-kdsc-ntv)).\n\nFeel free to drop into our Grafana Operator discussions on:\n\n[![Grafana Slack](https://img.shields.io/badge/grafana%20community%20Slack-4A254A?logo=slack\u0026logoColor=white)](https://join.slack.com/t/grafana/shared_invite/zt-2eqidcplt-QzkxMuhZA4tGQeFQenE_MQ)\n\n## Contributing\n\nFor more information on how to contribute to the operator look at [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=grafana/grafana-operator\u0026type=date\u0026legend=top-left)](https://www.star-history.com/#grafana/grafana-operator\u0026type=date\u0026legend=top-left)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Fgrafana-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrafana%2Fgrafana-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrafana%2Fgrafana-operator/lists"}