registry

package
v0.8.2 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRegistryURL = "https://sup-registry.rbel.co"
	IndexFile          = "index.json.gz"
	IndexChecksumFile  = "index.json.gz.sha256"
	UserAgent          = "sup-cli/1.0"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

func NewBuilder

func NewBuilder(baseDir string) *Builder

func (*Builder) BuildIndex

func (b *Builder) BuildIndex() (*Index, error)

func (*Builder) WriteIndex

func (b *Builder) WriteIndex(index *Index, outputDir string) error

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(registryURL string) *Client

func (*Client) DownloadPlugin

func (c *Client) DownloadPlugin(pluginName, version string, targetDir string) error

func (*Client) FetchIndex

func (c *Client) FetchIndex() (*Index, error)

func (*Client) ListPlugins

func (c *Client) ListPlugins() ([]PluginInfo, error)

type Index

type Index struct {
	Version   string             `json:"version"`
	UpdatedAt time.Time          `json:"updated_at"`
	Plugins   map[string]*Plugin `json:"plugins"`
}

type Plugin

type Plugin struct {
	Name        string              `json:"name"`
	Description string              `json:"description"`
	Author      string              `json:"author"`
	HomeURL     string              `json:"home_url"`
	Category    string              `json:"category"`
	Tags        []string            `json:"tags"`
	Versions    map[string]*Version `json:"versions"`
	Latest      string              `json:"latest"`
}

type PluginInfo

type PluginInfo struct {
	Name        string
	Version     string
	Author      string
	Description string
	HomeURL     string
	Category    string
	Tags        []string
	Installed   bool
	Available   bool
}

type PluginMetadata

type PluginMetadata struct {
	Name        string   `json:"name"`
	Description string   `json:"description"`
	Author      string   `json:"author"`
	HomeURL     string   `json:"home_url"`
	Category    string   `json:"category"`
	Tags        []string `json:"tags"`
}

type Version

type Version struct {
	Version       string    `json:"version"`
	ReleaseDate   time.Time `json:"release_date"`
	SHA256        string    `json:"sha256"`
	Size          int64     `json:"size"`
	MinSupVersion string    `json:"min_sup_version,omitempty"`
}

Jump to

Keyboard shortcuts

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