superset

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: 16 Imported by: 0

README

Apache Superset

Extract dashboard metadata from an Apache Superset server.

Usage

source:
  name: superset
  config:
    username: meteor_tester
    password: meteor_pass_1234
    host: http://localhost:3000
    provider: db

Configuration

Key Type Required Description
username string Yes Username for Superset authentication.
password string Yes Password for Superset authentication.
host string Yes URL of the Superset server.
provider string Yes Authentication provider (e.g. db).

Entities

  • Entity type: dashboard
  • URN format: urn:superset:{scope}:dashboard:{dashboard_id}
Properties
Property Type Description
url string Dashboard URL.
slug string Dashboard slug.
published bool Whether the dashboard is published.
changed_by string Name of the user who last modified the dashboard.
charts []object List of chart objects (see below).
Chart sub-fields
Field Type Description
urn string Chart URN (urn:superset:{scope}:chart:{slice_id}).
name string Chart/slice name.
source string Always superset.
description string Chart description (if set).
url string Direct URL to the chart.
data_source string Datasource backing the chart.
dashboard_urn string Parent dashboard reference (dashboard:{dashboard_id}).

Edges

Source Target Type Description
dashboard user owned_by Dashboard is owned by a user.

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 Chart

type Chart struct {
	CacheTimeout        int      `json:"cache_timeout"`
	ChangedOn           string   `json:"changed_on"`
	Datasource          string   `json:"datasource"`
	Description         string   `json:"description"`
	DescriptionMarkdown string   `json:"description_markeddown"`
	FormData            struct{} `json:"form_data"`
	Modified            string   `json:"modified"`
	SliceId             int      `json:"slice_id"`
	SliceName           string   `json:"slice_name"`
	SliceUrl            string   `json:"slice_url"`
}

type Config

type Config struct {
	Username string `json:"username" yaml:"username" mapstructure:"username" validate:"required"`
	Password string `json:"password" yaml:"password" mapstructure:"password" validate:"required"`
	Host     string `json:"host" yaml:"host" mapstructure:"host" validate:"required,url"`
	Provider string `json:"provider" yaml:"provider" mapstructure:"provider" validate:"required"`
}

Config holds the set of configuration for the superset extractor

type Dashboard

type Dashboard struct {
	ChangedByName  string   `json:"changed_by_name"`
	ChangedByUrl   string   `json:"changed_by_url"`
	DashboardTitle string   `json:"dashboard_title"`
	ID             int      `json:"id"`
	JsonMetadata   string   `json:"json_metadata"`
	PositionJson   string   `json:"position_json"`
	Published      bool     `json:"published"`
	Slug           string   `json:"slug"`
	TableNames     string   `json:"table_names"`
	ThumbnailUrl   string   `json:"thumbnail_url"`
	URL            string   `json:"url"`
	Owners         []Owners `json:"owners"`
	Roles          []Roles  `json:"roles"`
}

type Extractor

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

Extractor manages the extraction of data from the superset 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 Owners

type Owners struct {
	FirstName string `json:"first_name"`
	ID        int    `json:"id"`
	LastName  string `json:"last_name"`
	Username  string `json:"username"`
}

type Roles

type Roles struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
}

Jump to

Keyboard shortcuts

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