monocular

package
v3.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 20, 2023 License: 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