<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/resources-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/resources-as-code/01-intro/index.xml" rel="self" type="application/rss+xml"/><item><title>Journey overview</title><link>https://grafana.com/docs/learning-hub/resources-as-code/01-intro/01-course-overview/</link><pubDate>Wed, 15 Jul 2026 16:12:13 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/resources-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 had an alert rule silently changed in production, or spent time recreating notification policies someone deleted by accident, this journey is for you. It&amp;rsquo;s built around two main sections that teach you to manage Grafana resources 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;Grafana resources as code&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Understand the Grafana Terraform provider, define alert resources in HCL, and deploy them 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 journey you&amp;rsquo;ll build a complete resources-as-code workflow:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Alert rules, contact points, and notification policies defined in HCL&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 resource 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 had an alert rule silently changed in production, or spent time recreating notification policies someone deleted by accident, this journey is for you. It&amp;rsquo;s built around two main sections that teach you to manage Grafana resources as code:&lt;/p></description></item><item><title>Who this journey is for</title><link>https://grafana.com/docs/learning-hub/resources-as-code/01-intro/02-who-this-is-for/</link><pubDate>Wed, 15 Jul 2026 16:12:13 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/resources-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 Grafana resources to the same workflow&lt;/li&gt;
&lt;li&gt;Are tired of manual resource 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, alert rules, 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;HCL&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Can read and write basic Terraform configuration files&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 Grafana Terraform provider. This journey covers it 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 Grafana resources to the same workflow&lt;/li>
&lt;li>Are tired of manual resource 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/resources-as-code/01-intro/03-why-as-code/</link><pubDate>Wed, 15 Jul 2026 16:12:13 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/resources-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 dozens of alert rules 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 configuration drift: live resources silently diverging from their intended state. Manual resource 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 resource 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 recreate similar resources 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 resources 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 dozens of alert rules 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 configuration drift: live resources silently diverging from their intended state. Manual resource management creates three recurring problems like this that grow worse as your team scales.&lt;/p></description></item><item><title>The Infrastructure as Code tools landscape</title><link>https://grafana.com/docs/learning-hub/resources-as-code/01-intro/04-tools-landscape/</link><pubDate>Wed, 15 Jul 2026 16:12:13 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/resources-as-code/01-intro/04-tools-landscape/</guid><content><![CDATA[&lt;h2 id=&#34;grafanas-as-code-tools&#34;&gt;Grafana&amp;rsquo;s 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 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;Terraform provider&lt;/strong&gt;&lt;/td&gt;
              &lt;td&gt;Manages dashboards, folders, data sources, alert rules, contact points, notification policies, and more with Terraform&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 resource files 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;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;No&lt;/strong&gt; (dashboard-specific)&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h2 id="grafanas-as-code-tools">Grafana&amp;rsquo;s 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 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></description></item><item><title>Prerequisites</title><link>https://grafana.com/docs/learning-hub/resources-as-code/01-intro/05-prerequisites/</link><pubDate>Wed, 15 Jul 2026 16:12:13 +0200</pubDate><guid>https://grafana.com/docs/learning-hub/resources-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; (version 1.0 or later)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;recommended&#34;&gt;Recommended&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A code editor with HCL support (for example, VS Code with the HashiCorp Terraform extension)&lt;/li&gt;
&lt;li&gt;If you&amp;rsquo;re interested in managing dashboards as code, refer to the &lt;a href=&#34;/docs/learning-hub/dashboards-as-code/&#34;&gt;Dashboards as Code with the Foundation SDK&lt;/a&gt; journey&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> (version 1.0 or later)&lt;/li>
&lt;/ul>
&lt;h2 id="recommended">Recommended&lt;/h2>
&lt;ul>
&lt;li>A code editor with HCL support (for example, VS Code with the HashiCorp Terraform extension)&lt;/li>
&lt;li>If you&amp;rsquo;re interested in managing dashboards as code, refer to the &lt;a href="/docs/learning-hub/dashboards-as-code/">Dashboards as Code with the Foundation SDK&lt;/a> journey&lt;/li>
&lt;/ul></description></item></channel></rss>