Skip to content

Add dashboard-as-code / GitOps workflow guide #5448

Description

@florent-leborgne

Summary

The docs cover exporting dashboards as NDJSON via Saved Objects and importing them, but these are presented as migration tools, not as a development workflow. No documentation covers the increasingly common pattern of treating dashboards as version-controlled code artifacts.

Proposal

Add a how-to guide under the Dashboards section — something like "Manage dashboards as code" — covering:

  1. Export a dashboard definition (via the upcoming Dashboard API)
  2. Store it in Git for version control and diffability
  3. Review changes through pull requests
  4. Deploy to target environments (different spaces, clusters, or stages)

This guide should cover practical concerns like:

  • Handling IDs when deploying to different environments
  • Managing references to data views or saved searches
  • Dealing with inline vs. saved-object-reference panels

This blog post contains practical information we can use https://www.elastic.co/search-labs/blog/kibana-dashboards-as-code-terraform-api

Timing

This pairs naturally with the upcoming public launch of the Dashboard and Lens Visualization REST APIs, which provide a cleaner, more diffable format than raw Saved Objects NDJSON. Consider coordinating this guide with that API documentation.

Why this matters

DevOps and SRE teams increasingly want to manage observability dashboards the same way they manage infrastructure — as code, in Git, with review workflows. This pattern is well-established in other tools (Grafana dashboards-as-code, Terraform) but has no equivalent guide in the Elastic docs.

Origin

Identified during a review of the kibana-dashboards agent skill in elastic/agent-skills-sandbox, which is built entirely around this workflow — declarative dashboard definitions designed for Git storage and LLM-assisted generation.

Metadata

Metadata

Labels

Planned-S24SKI work planned for Sprint 24 (Jun 7-20)Team:ExperienceIssues owned by the Experience Docs TeamenhancementNew feature or request

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions