Plugins 〉Grafana Cloud Link

Application
grafana

Grafana Cloud Link

  • Overview
  • Installation
  • Change log
  • Related content

Cloud lunchbox

Cloud lunchbox is a Grafana plugin that reduces the friction for existing Grafana users to begin to using Grafana Cloud.

Overview

Cloud lunchbox was developed during two hackathons.

First hackathon

Bringing cloud to an on-prem Grafana instance

During this hackathon, we implemented functionality to allow a user to:

  • Sign up for cloud
  • Spin up a stack: enabling them to have hosted logs, metrics, and traces, while still using their customized Grafana instance
  • Get datasources automatically provisioned that connect to the hosted logs, metrics, and traces
  • Get cloud plugins installed

For more info & a demo see the 2021 Hackathon Presentation.

Second hackathon

Bringing an on-prem Grafana instance to Hosted Grafana

During this hackathon, we implemented functionality to allow a user to:

  • Export their dashboards, datasources, and plugins from their on-prem Grafana instance to Hosted Grafana
  • Invite their existing users to join them on their cloud org

For more info & a demo see the 2022 Hackathon Presentation.

How does this work?

Importing to on-prem

TODO!

Exporting to Hosted Grafana

Ejector Seat

Other documentation

Delivery Plan

Design Doc

Development

Run locally

  1. Install dependencies

    yarn install
    
  2. Build plugin in development mode or run in watch mode

    yarn watch
    

    And also build the backend:

    mage
    

CLI tools

We use make for handy cli tools. Run make on it's own for list of commands.

  1. Run Grafana In order to test pushing and pulling we have a variety of provisioned datasources, dashboards, and plugins. Datasources are run via docker in a docker-compose.yml file.

    make run
    

When you run make run this starts a grafana instance as well as containers for

postgresql loki redis tempo prometheus graphite

along with agents to generate data.

To run JUST grafana by itself run

make grafana

grafana version

If you'd like to run a specific version of grafana add the version variable to your make command

VERSION=9.1 make run
  1. Connecting to grafana container If you need to check configuration in the currently running grafana container you can access the shell via

    make connect
    

Cleanup

  1. Clean up resources

    make clean
    

Connecting to local grafana-com

There are some situations where developing against a locally running grafana-com makes sense, especially when working with new account creation. In order to get that going, follow the directions in the grafana-com repo. A couple specific things in the grafana-com setup:

  • Add OAUTH_DEVICE_CODE_ALLOWED_ORG_IDS=[1] to your .env file
  • Make sure and run the job-queue
  • In the settings.go file of this repo, make the GrafanaComUrl equal to http://host.docker.internal:4000/ (or http://localhost:4000 if not on a mac)
  • Log in to grafana.com and create a new oauth client in the raintank org
  • Paste the created client ID into settings.go.

The oauth flow and account creation should work fine, but the rest of the import flow probably won't.

For more information, visit the docs on plugin installation.

Changelog

1.0.0 (Unreleased)

Initial release.