Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reorganize the README to add instructions and Public Weekly Link #1448

Merged
merged 6 commits into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @NissesSenap @weisdd @ishanjainn @theSuess @HubertStefanski @pb82
125 changes: 88 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,111 @@
<div align="center">

# Grafana Operator

[![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?&logo=grafana&logoColor=white)](https://grafana.com)
[![Grafana](https://img.shields.io/badge/grafana-%23F46800.svg?&logo=grafana&logoColor=white)](https://grafana.com/)
[![Grafana Operator](https://img.shields.io/badge/Grafana%20Operator-orange)](https://grafana.github.io/grafana-operator/)
[![GitHub tag](https://img.shields.io/github/tag/grafana/grafana-operator.svg)](https://github.com/grafana/grafana-operator/tags)
[![GitHub Last Commit](https://img.shields.io/github/last-commit/grafana/grafana-operator)](https://github.com/grafana/grafana-operator/tags)
[![GitHub Contributors](https://img.shields.io/github/contributors/grafana/grafana-operator)](https://github.com/grafana/grafana-operator/tags)

The Grafana Operator is a Kubernetes operator built to help you manage your Grafana instances in and outside of
Kubernetes.

We make it possible for you to manage and share your grafana resources through code between multiple instances in an
easy and scalable way.
**[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/)**

Find out more on our official website:
***[grafana.github.io/grafana-operator](https://grafana-operator.github.io/grafana-operator/).***
</div>

## Some Convincing Benefits
The Grafana Operator is a Kubernetes operator built to help you manage your Grafana instances and its resources in and outside of
Kubernetes.

Why go with the Grafana-operator over a standard standalone Grafana deployment for your monitoring stack?
Whether 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.

If [the benefits of using an operator over standalone products as outlined by the people that created them](https://operatorframework.io/)
and our current high-profile users aren't enough to convince you, here's some more:
## Getting Started

- The ability to run a multi-namespace, multi-instance Grafana deployment without having to concern yourself with the
overhead of managing it!
- Management of Dashboards, Datasources, Plugins etc. through code
- Efficient dashboard management through Jsonnet/Grafonnet, plugins and folders
- Agnostic deployment on k8s and Openshift
- The operator knows what environment it runs, and adjust the deployment accordingly without user interference!
- Management of external Grafana instances
- Run the operator for off-cluster instances and leverage the benefits of GitOps without abandoning your
previous instances!
- Multi-Arch builds and container images.
- Operatorhub/OLM support (Allows you to install the operator with a few clicks).
### Installation

**Option 1: Helm Chart**

Deploy the Grafana Operator easily in your cluster using Helm:

```bash
helm upgrade -i grafana-operator oci://ghcr.io/grafana/helm-charts/grafana-operator --version v5.6.3
```

**Option 2: Kustomize & More**

Prefer Kustomize, Openshift OLM, or Kubernetes directly? Find detailed instructions in our [Installation Guide](https://grafana.github.io/grafana-operator/docs/installation/kustomize/).

For even more detailed setups, see our [documentation](docs/README.md).

### Example: Deploying Grafana & A Dashboard

Here's a simple example of deploying Grafana and a Grafana Dashboard using the custom resources (CRs) defined by the Grafana Operator:

```yaml
apiVersion: grafana.integreatly.org/v1beta1
kind: Grafana
metadata:
name: grafana
labels:
dashboards: "grafana"
spec:
config:
log:
mode: "console"
auth:
disable_login_form: false
security:
admin_user: root
admin_password: secret

---
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: sample-dashboard
spec:
resyncPeriod: 30s
instanceSelector:
matchLabels:
dashboards: "grafana"
json: >
{
"title": "Simple Dashboard",
"timezone": "browser",
"refresh": "5s",
"panels": [],
"time": {
"from": "now-6h",
"to": "now"
}
}
```

For more tailored setups and resources management, check out these guides:

- [Managing Data Sources and Dashboards](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grafana-operator/operator-dashboards-folders-datasources/)
- [GitOps Dashboards Management with ArgoCD](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grafana-operator/manage-dashboards-argocd/)

## Why Grafana Operator?

Switching to Grafana Operator from traditional deployments amplifies your efficiency by:

- Enabling multi-instance and multi-namespace Grafana deployments effortlessly.
- Simplifying dashboard, data sources, and plugin management through code.
- Supporting both Kubernetes and Openshift with smart adjustments based on the environment.
- Allowing management of external Grafana instances for robust GitOps integration.
- Providing multi-architecture support, making it versatile across different platforms.
- Offering one-click installation through Operatorhub/OLM.

## Get In Touch!

The best way to reach us is to file an issue on
***[Issues Tab](https://github.com/grafana/grafana-operator/issues)***
or click on the ***[Slack Icon](https://kubernetes.slack.com/archives/C019A1KTYKC)*** below

We're happy to help out in all grafana-operator issues, and if you're not sure, we'll point you in the right direction!
Got 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 Tuesdays at 12:30 PM UTC (link [here](https://meet.google.com/spw-jtbk-mwj)).

<a href="https://kubernetes.slack.com/archives/C019A1KTYKC"><img src= "./media/slack.png" align='middle' width=100 height=100 ></a>

## Getting Started
Feel free to drop into our Grafana Operator discussions on:

All of our releases are available through
[![Kubernetes Slack](https://img.shields.io/badge/kubernetes%20slack-white?logo=slack&logoColor=black)](https://kubernetes.slack.com/archives/C019A1KTYKC) [![Grafana Slack](https://img.shields.io/badge/grafana%20community%20Slack-4A254A?logo=slack&logoColor=white)](https://join.slack.com/t/grafana/shared_invite/zt-2eqidcplt-QzkxMuhZA4tGQeFQenE_MQ)

- Helm
- Kustomize
- Openshift OLM and Kubernetes ***[Operator Hub](https://operatorhub.io/operator/grafana-operator)***

Follow our ***[docs](docs/README.md)*** for more installation specific instructions

### Development And Local Deployment
## Contributing

For more information on how to contribute to the operator look at [CONTRIBUTING.md](CONTRIBUTING.md).

Expand Down
Loading