<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Journey overview on Grafana Labs</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/</link><description>Recent content in Journey overview on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/learning-hub/dashboards-as-code/01-intro/index.xml" rel="self" type="application/rss+xml"/><item><title>Journey overview</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/01-course-overview/</link><pubDate>Wed, 24 Jun 2026 15:16:44 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/01-course-overview/</guid><content><![CDATA[&lt;h2 id=&#34;what-youll-learn&#34;&gt;What you&amp;rsquo;ll learn&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;ve ever lost track of who changed a dashboard, or spent an afternoon recreating panels someone deleted by accident, this course is for you. It&amp;rsquo;s built around three main sections that teach you to manage dashboards as code:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Section&lt;/th&gt;
              &lt;th&gt;Skills&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;SDK fundamentals&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Define dashboards as typed code using builder blocks&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Deploying dashboards&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Deploy a dashboard JSON with Terraform&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;CI/CD automation&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Automate deployment with GitHub Actions&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;what-youll-build&#34;&gt;What you&amp;rsquo;ll build&lt;/h2&gt;
&lt;p&gt;During this course you&amp;rsquo;ll build a complete dashboard-as-code workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A dashboard defined in Go or TypeScript&lt;/li&gt;
&lt;li&gt;Deployed to Grafana via Terraform&lt;/li&gt;
&lt;li&gt;Automated through a GitHub Actions pipeline&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By the end, every dashboard change goes through version control, code review, and automated deployment, just like your infrastructure.&lt;/p&gt;
]]></content><description>&lt;h2 id="what-youll-learn">What you&amp;rsquo;ll learn&lt;/h2>
&lt;p>If you&amp;rsquo;ve ever lost track of who changed a dashboard, or spent an afternoon recreating panels someone deleted by accident, this course is for you. It&amp;rsquo;s built around three main sections that teach you to manage dashboards as code:&lt;/p></description></item><item><title>Who this journey is for</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/02-who-this-is-for/</link><pubDate>Wed, 24 Jun 2026 15:16:44 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/02-who-this-is-for/</guid><content><![CDATA[&lt;h2 id=&#34;youre-in-the-right-place-if-you&#34;&gt;You&amp;rsquo;re in the right place if you&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Already manage infrastructure with Terraform and want to add dashboards to the same workflow&lt;/li&gt;
&lt;li&gt;Are tired of manual dashboard management that doesn&amp;rsquo;t scale&lt;/li&gt;
&lt;li&gt;Want version control, code review, and CI/CD for your observability stack&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;assumed-knowledge&#34;&gt;Assumed knowledge&lt;/h2&gt;
&lt;p&gt;You don&amp;rsquo;t need to be an expert, but you should be familiar with the following tools and concepts.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Skill&lt;/th&gt;
              &lt;th&gt;Level needed&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Grafana&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Know what dashboards, panels, and data sources are&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Git &#43; GitHub&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Comfortable with branches, commits, PRs&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Terraform&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Comfortable with providers, resources, plan/apply&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Go or TypeScript&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Can read code snippets in either language&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;You don&amp;rsquo;t need any prior experience with the Foundation SDK or the Grafana Terraform provider. This journey covers both from scratch.&lt;/p&gt;
]]></content><description>&lt;h2 id="youre-in-the-right-place-if-you">You&amp;rsquo;re in the right place if you&lt;/h2>
&lt;ul>
&lt;li>Already manage infrastructure with Terraform and want to add dashboards to the same workflow&lt;/li>
&lt;li>Are tired of manual dashboard management that doesn&amp;rsquo;t scale&lt;/li>
&lt;li>Want version control, code review, and CI/CD for your observability stack&lt;/li>
&lt;/ul>
&lt;h2 id="assumed-knowledge">Assumed knowledge&lt;/h2>
&lt;p>You don&amp;rsquo;t need to be an expert, but you should be familiar with the following tools and concepts.&lt;/p></description></item><item><title>Why Grafana as code</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/03-why-as-code/</link><pubDate>Wed, 24 Jun 2026 15:16:44 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/03-why-as-code/</guid><content><![CDATA[&lt;h2 id=&#34;the-problem-with-manual-processes&#34;&gt;The problem with manual processes&lt;/h2&gt;
&lt;p&gt;Your team has 30 dashboards across staging and production. Someone tweaks a threshold in production on Friday afternoon, and by Monday no one remembers what changed or why. That&amp;rsquo;s dashboard drift: live dashboards silently diverging from their intended state. Manual dashboard management creates three recurring problems like this that grow worse as your team scales.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Problem&lt;/th&gt;
              &lt;th&gt;What happens&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Drift&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Anyone with edit access can change a dashboard in the UI with no review, so the live version diverges from what you intended&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Duplication&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Teams copy dashboards instead of sharing one source; fixes don&amp;rsquo;t propagate&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;No audit trail&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;You can&amp;rsquo;t answer &amp;ldquo;who changed what, when, and why&amp;rdquo; at scale&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;how-as-code-solves-this&#34;&gt;How as code solves this&lt;/h2&gt;
&lt;p&gt;By using Grafana as code, you&amp;rsquo;ll gain:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Version control.&lt;/strong&gt; Every change is a Git commit with context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Code review.&lt;/strong&gt; Pull requests catch mistakes before they reach production.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automation.&lt;/strong&gt; CI/CD ensures what&amp;rsquo;s in the repo is what&amp;rsquo;s deployed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reproducibility.&lt;/strong&gt; Spin up identical dashboards in any environment from the same code.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h2 id="the-problem-with-manual-processes">The problem with manual processes&lt;/h2>
&lt;p>Your team has 30 dashboards across staging and production. Someone tweaks a threshold in production on Friday afternoon, and by Monday no one remembers what changed or why. That&amp;rsquo;s dashboard drift: live dashboards silently diverging from their intended state. Manual dashboard management creates three recurring problems like this that grow worse as your team scales.&lt;/p></description></item><item><title>The Observability as Code tools landscape</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/04-tools-landscape/</link><pubDate>Wed, 24 Jun 2026 15:16:44 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/04-tools-landscape/</guid><content><![CDATA[&lt;h2 id=&#34;grafanas-observability-as-code-tools&#34;&gt;Grafana&amp;rsquo;s Observability as Code tools&lt;/h2&gt;
&lt;p&gt;Grafana offers several as-code tools. Each solves a different part of the problem, and they can work together. This diagram shows how they relate in the generate-and-deploy workflow.&lt;/p&gt;
&lt;p&gt;&lt;img
  class=&#34;lazyload d-inline-block&#34;
  data-src=&#34;tools-landscape.svg&#34;
  alt=&#34;Diagram showing how Observability as Code tools connect: Foundation SDK generates dashboard JSON, which flows to gcx, Terraform, or Git Sync for deployment to Grafana&#34;/&gt;&lt;/p&gt;
&lt;p&gt;This journey doesn&amp;rsquo;t cover all the as Code tools available in Grafana, it only focuses on the &lt;strong&gt;Foundation SDK&lt;/strong&gt; (generate) &#43; &lt;strong&gt;Terraform&lt;/strong&gt; (deploy) &#43; &lt;strong&gt;GitHub Actions&lt;/strong&gt; (automate) workflow.&lt;/p&gt;
&lt;h2 id=&#34;tool-overview&#34;&gt;Tool overview&lt;/h2&gt;
&lt;p&gt;This table has details on each tool, what it does, what to use it for, and whether it&amp;rsquo;s covered in this journey.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Tool&lt;/th&gt;
              &lt;th&gt;What it does&lt;/th&gt;
              &lt;th&gt;Use it for&lt;/th&gt;
              &lt;th&gt;Part of this journey?&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Foundation SDK&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Defines dashboards in typed code (Go, TS, Python, Java, PHP)&lt;/td&gt;
              &lt;td&gt;Generating dashboard JSON programmatically&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Terraform provider&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Manages dashboards, folders, data sources, and alerts with Terraform, alongside your infrastructure&lt;/td&gt;
              &lt;td&gt;Teams already using Terraform for Infrastructure as Code&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;Git Sync&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Syncs dashboard JSON in a GitHub repo with Grafana&lt;/td&gt;
              &lt;td&gt;Teams wanting Git-native workflows without custom pipelines&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;strong&gt;gcx&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Command-line tool that authenticates to Grafana and pushes or pulls resources from your local machine&lt;/td&gt;
              &lt;td&gt;Quick deployments, CI/CD steps, scripting&lt;/td&gt;
              &lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h2 id="grafanas-observability-as-code-tools">Grafana&amp;rsquo;s Observability as Code tools&lt;/h2>
&lt;p>Grafana offers several as-code tools. Each solves a different part of the problem, and they can work together. This diagram shows how they relate in the generate-and-deploy workflow.&lt;/p></description></item><item><title>Prerequisites</title><link>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/05-prerequisites/</link><pubDate>Wed, 24 Jun 2026 15:16:44 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/dashboards-as-code/01-intro/05-prerequisites/</guid><content><![CDATA[&lt;h2 id=&#34;required&#34;&gt;Required&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Grafana instance&lt;/strong&gt; (version 12 or higher, Cloud or self-managed)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service account token&lt;/strong&gt; (an API credential that lets automated tools authenticate to Grafana without using your personal login)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub repository&lt;/strong&gt; (for the CI/CD section)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Terraform&lt;/strong&gt; (for deployment modules)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Go 1.21&#43;&lt;/strong&gt; or &lt;strong&gt;Node.js 18&#43;&lt;/strong&gt; (for running SDK code)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;recommended&#34;&gt;Recommended&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Clone the &lt;a href=&#34;https://github.com/grafana/intro-to-foundation-sdk&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;intro-to-foundation-sdk&lt;/a&gt; repository for working examples&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h2 id="required">Required&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Grafana instance&lt;/strong> (version 12 or higher, Cloud or self-managed)&lt;/li>
&lt;li>&lt;strong>Service account token&lt;/strong> (an API credential that lets automated tools authenticate to Grafana without using your personal login)&lt;/li>
&lt;li>&lt;strong>GitHub repository&lt;/strong> (for the CI/CD section)&lt;/li>
&lt;li>&lt;strong>Terraform&lt;/strong> (for deployment modules)&lt;/li>
&lt;li>&lt;strong>Go 1.21+&lt;/strong> or &lt;strong>Node.js 18+&lt;/strong> (for running SDK code)&lt;/li>
&lt;/ul>
&lt;h2 id="recommended">Recommended&lt;/h2>
&lt;ul>
&lt;li>Clone the &lt;a href="https://github.com/grafana/intro-to-foundation-sdk" target="_blank" rel="noopener noreferrer">intro-to-foundation-sdk&lt;/a> repository for working examples&lt;/li>
&lt;/ul></description></item></channel></rss>