Help us shape the future of Go! Take the 2026 Go Developer Survey

monocular

package
v1.31.2 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2026 License: Apache-2.0, Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package monocular contains the logic for interacting with a Monocular compatible search API endpoint. For example, as implemented by the Artifact Hub.

This is a library for interacting with a monocular compatible search API

Index

Constants

View Source
const SearchPath = "api/chartsvc/v1/charts/search"

SearchPath is the url path to the search API in monocular.

Variables

View Source
var ErrHostnameNotProvided = errors.New("no hostname provided")

ErrHostnameNotProvided indicates the url is missing a hostname

Functions

This section is empty.

Types

type ArtifactHub

type ArtifactHub struct {
	PackageURL string `json:"packageUrl"`
}

ArtifactHub represents data specific to Artifact Hub instances

type Chart

type Chart struct {
	Name        string             `json:"name"`
	Repo        Repo               `json:"repo"`
	Description string             `json:"description"`
	Home        string             `json:"home"`
	Keywords    []string           `json:"keywords"`
	Maintainers []chart.Maintainer `json:"maintainers"`
	Sources     []string           `json:"sources"`
	Icon        string             `json:"icon"`
}

Chart is the attributes for the chart

type ChartVersion

type ChartVersion struct {
	Version    string    `json:"version"`
	AppVersion string    `json:"app_version"`
	Created    time.Time `json:"created"`
	Digest     string    `json:"digest"`
	Urls       []string  `json:"urls"`
	Readme     string    `json:"readme"`
	Values     string    `json:"values"`
}

ChartVersion provides the specific data on the chart version

type Client

type Client struct {

	// The base URL for requests
	BaseURL string

	// The internal logger to use
	Log func(string, ...interface{})
}

Client represents a client capable of communicating with the Monocular API.

func New

func New(u string) (*Client, error)

New creates a new client

func (*Client) Search

func (c *Client) Search(term string) ([]SearchResult, error)

Search performs a search against the monocular search API

type LatestChartVersion

type LatestChartVersion struct {
	Data  ChartVersion `json:"data"`
	Links Links        `json:"links"`
}

LatestChartVersion provides the details on the latest version of the chart

type Links struct {
	Self string `json:"self"`
}

Links provides a set of links relative to the chartsvc base

type Relationships

type Relationships struct {
	LatestChartVersion LatestChartVersion `json:"latestChartVersion"`
}

Relationships provides information on the latest version of the chart

type Repo

type Repo struct {
	Name string `json:"name"`
	URL  string `json:"url"`
}

Repo contains the name in monocular the url for the repository

type SearchResult

type SearchResult struct {
	ID            string        `json:"id"`
	ArtifactHub   ArtifactHub   `json:"artifactHub"`
	Type          string        `json:"type"`
	Attributes    Chart         `json:"attributes"`
	Links         Links         `json:"links"`
	Relationships Relationships `json:"relationships"`
}

SearchResult represents an individual chart result

Jump to

Keyboard shortcuts

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