redash

package
v0.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2026 License: Apache-2.0 Imports: 15 Imported by: 0

README

Redash

Extract dashboard metadata from a Redash server.

Usage

source:
  name: redash
  config:
    base_url: https://redash.example.com
    api_key: t33I8i8OFnVt3t9Bjj2RXr8nCBz0xyzVZ318Zwbj

Configuration

Key Type Required Description
base_url string Yes Base URL of the Redash server.
api_key string Yes API key for Redash authentication.

Entities

  • Entity type: dashboard
  • URN format: urn:redash:{scope}:dashboard:{dashboard_id}
Properties
Property Type Description
user_id int ID of the dashboard owner.
version int Dashboard version number.
slug string Dashboard URL slug.
is_archived bool Whether the dashboard is archived.
is_draft bool Whether the dashboard is a draft.
tags []any Dashboard tags.
created_at string Creation timestamp (RFC 3339).
updated_at string Last update timestamp (RFC 3339).

Edges

Source Target Type Description
dashboard user owned_by Dashboard is owned by the user who created it.

Contributing

Refer to the contribution guide for information on contributing to this module.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	BaseURL string `mapstructure:"base_url" validate:"required,url"`
	ApiKey  string `mapstructure:"api_key" validate:"required"`
}

Config holds the set of configuration for the redash extractor

type Extractor

type Extractor struct {
	plugins.BaseExtractor
	// contains filtered or unexported fields
}

Extractor manages the extraction of data from the redash server

func New

func New(logger log.Logger) *Extractor

New returns a pointer to an initialized Extractor Object

func (*Extractor) Extract

func (e *Extractor) Extract(ctx context.Context, emit plugins.Emit) error

Extract collects metadata of each dashboard through emitter

func (*Extractor) Init

func (e *Extractor) Init(ctx context.Context, config plugins.Config) error

Init initializes the extractor

type Results

type Results struct {
	Tags                    []any     `json:"tags"`
	IsArchived              bool      `json:"is_archived"`
	UpdatedAt               time.Time `json:"updated_at"`
	IsFavorite              bool      `json:"is_favorite"`
	User                    User      `json:"user"`
	Layout                  []any     `json:"layout"`
	IsDraft                 bool      `json:"is_draft"`
	Id                      int       `json:"id"`
	UserId                  int       `json:"user_id"`
	Name                    string    `json:"name"`
	CreatedAt               time.Time `json:"created_at"`
	Slug                    string    `json:"slug"`
	Version                 int       `json:"version"`
	Widgets                 any       `json:"widgets"`
	DashboardFiltersEnabled bool      `json:"dashboard_filters_enabled"`
}

type User

type User struct {
	AuthType            string    `json:"auth_type"`
	IsDisabled          bool      `json:"is_disabled"`
	UpdatedAt           time.Time `json:"updated_at"`
	ProfileImageUrl     string    `json:"profile_image_url"`
	IsInvitationPending bool      `json:"is_invitation_pending"`
	Groups              []int     `json:"groups"`
	Id                  int       `json:"id"`
	Name                string    `json:"name"`
	CreatedAt           time.Time `json:"created_at"`
	DisabledAt          any       `json:"disabled_at"`
	IsEmailVerified     bool      `json:"is_email_verified"`
	ActiveAt            time.Time `json:"active_at"`
	Email               string    `json:"email"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL