diff --git a/docs/sources/observability-as-code/_index.md b/docs/sources/observability-as-code/_index.md index 54c881a895d..7a5cfbc987c 100644 --- a/docs/sources/observability-as-code/_index.md +++ b/docs/sources/observability-as-code/_index.md @@ -14,12 +14,36 @@ labels: - oss title: Observability as Code weight: 100 +cards: + items: + - title: Get started + height: 24 + href: ./get-started/ + description: Learn about how you can use Observability as Code. + - title: Grafana CLI + height: 24 + href: ./grafana-cli/ + description: Grafana CLI (`grafanactl`) is a command-line tool designed to simplify interaction with Grafana instances. You can authenticate, manage multiple environments, and perform administrative tasks through Grafana’s REST API, all from the terminal. + - title: Git Sync + height: 24 + href: ./provision-resources/intro-git-sync/ + description: Git Sync is an experimental feature that lets you store your dashboard files in a GitHub repository and synchronize those changes with your Grafana instance. + title_class: pt-0 lh-1 +hero: + title: Observability as Code + description: Using Observability as Code, you can version, automate, and scale Grafana configurations, including dashboards and observability workflows. + height: 110 + level: 1 + width: 110 --- -# Observability as Code +{{< docs/hero-simple key="hero" >}} + +--- + +## Overview Observability as Code lets you apply code management best practices to your observability resources. -Using Observability as Code, you can version, automate, and scale Grafana configurations, including dashboards and observability workflows. By representing Grafana resources as code, you can integrate them into existing infrastructure-as-code workflows and apply standard development practices. Observability as Code provides more control over configuration. Instead of manually configuring dashboards or settings through the Grafana UI, you can: @@ -29,7 +53,9 @@ Observability as Code provides more control over configuration. Instead of manua - **Automate with CI/CD:** Integrate Grafana directly into your development and deployment pipelines. - **Standardize workflows:** Ensure consistency across your teams by using repeatable, codified processes for managing Grafana resources. -{{< section depth=5 >}} +## Explore + +{{< card-grid key="cards" type="simple" >}} +## Git Sync -1. [**Set up Git Sync**](https://grafana.com/docs/grafana//observability-as-code/provision-resources/git-sync-setup/) +For an integrated, UI-driven Git workflow focused on dashboards, explore Git Sync. - - Configure Git repositories to store your dashboard JSON files. - - Understand best practices for version control, including collaboration through pull requests and rollbacks. - - Edit your JSON files in GitHub and then sync with Grafana. +- Connect folders or entire Grafana instances directly to a GitHub repository to synchronize dashboard definitions, enabling version control, branching, and pull requests directly from Grafana. +- Git Sync offers a simple, out-of-the-box approach for managing dashboards as code. + {{< admonition type="note" >}} + Git Sync is an **experimental feature** in Grafana 12, available in Grafana OSS and Enterprise [nightly releases](https://grafana.com/grafana/download/nightly). It is not yet available in Grafana Cloud. + {{< /admonition >}} -1. [**Manage dashboard deployments from GitHub**](https://grafana.com/docs/grafana//observability-as-code/provision-resources/use-git-sync/) +Refer to the [Git Sync documentation](https://grafana.com/docs/grafana//observability-as-code/provision-resources/intro-git-sync/) to learn more. - - Integrate dashboards into CI/CD pipelines using tools like GitHub Actions. - - Leverage provisioning features in Grafana to automate updates and deployment of dashboards. - +- [Terraform](../infrastructure-as-code/terraform/) -## Explore additional Observability as Code tools + - Use the Grafana Terraform provider to manage dashboards, alerts, and more. + - Understand how to define and deploy resources using HCL/JSON configurations. -- [**Crossplane:**](https://github.com/grafana/crossplane-provider-grafana) Manage Grafana resources using Kubernetes manifests with the Grafana Crossplane provider. -- [**Grafonnet:**](https://github.com/grafana/grafonnet) Grafonnet is a Jsonnet library for generating Grafana dashboard JSON definitions programmatically. It is currently in the process of being deprecated. -- [**Grizzly:**](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grizzly/dashboards-folders-datasources/) Grizzly is a command-line tool that simplifies managing Grafana resources using Kubernetes-inspired YAML syntax. It is currently in the process of being deprecated. +- [Ansible](../infrastructure-as-code/ansible/) + + - Learn to use the Grafana Ansible collection to manage Grafana Cloud resources, including folders and cloud stacks. + - Write playbooks to automate resource provisioning through the Grafana API. + +- [Grafana Operator](../infrastructure-as-code/grafana-operator/) + + - Utilize Kubernetes-native management with the Grafana Operator. + - Manage dashboards, folders, and data sources via Kubernetes Custom Resources. + - Integrate with GitOps workflows for seamless version control and deployment. + +- [Crossplane](https://github.com/grafana/crossplane-provider-grafana) lets you manage Grafana resources using Kubernetes manifests with the Grafana Crossplane provider. +- [Grafonnet](https://github.com/grafana/grafonnet) is a Jsonnet library for generating Grafana dashboard JSON definitions programmatically. It is currently in the process of being deprecated. +- [Grizzly](https://grafana.com/docs/grafana-cloud/developer-resources/infrastructure-as-code/grizzly/dashboards-folders-datasources/) is a deprecated command-line tool that simplifies managing Grafana resources using Kubernetes-inspired YAML syntax.