Documentation
¶
Overview ¶
Package info provides plugin information.
Index ¶
- func NewPluginInfoServiceHandler(spec *Spec, options ...PluginInfoServiceHandlerOption) (v1pluginrpc.PluginInfoServiceHandler, error)
- func ValidateSpec(spec *Spec) error
- type Client
- type ClientOption
- type GetPluginInfoCallOption
- type License
- type PluginInfo
- type PluginInfoServiceHandlerOption
- type Spec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewPluginInfoServiceHandler ¶
func NewPluginInfoServiceHandler(spec *Spec, options ...PluginInfoServiceHandlerOption) (v1pluginrpc.PluginInfoServiceHandler, error)
NewPluginInfoServiceHandler returns a new v1pluginrpc.PluginInfoServiceHandler for the given Spec.
The Spec will be validated.
func ValidateSpec ¶
ValidateSpec validates all values on a Spec.
Types ¶
type Client ¶
type Client interface {
// GetPluginInfo gets plugin information.
GetPluginInfo(ctx context.Context, options ...GetPluginInfoCallOption) (PluginInfo, error)
// contains filtered or unexported methods
}
Client is a client for plugin information.
All calls with pluginrpc.Error with CodeUnimplemented if any procedure is not implemented.
type ClientOption ¶
type ClientOption interface {
// contains filtered or unexported methods
}
ClientOption is an option for a new Client.
func ClientWithCaching ¶
func ClientWithCaching() ClientOption
ClientWithCaching returns a new ClientOption that will result caching for items expected to be static:
- PluginInfo from GetPluginInfo.
The default is to not cache.
type GetPluginInfoCallOption ¶
type GetPluginInfoCallOption func(*getPluginInfoCallOptions)
GetPluginInfoCallOption is an option for a Client.GetPluginInfo call.
type License ¶
type License interface {
// SPDXLicenseID returns the SPDX license ID.
//
// Optional.
//
// Will be a valid SPDX license ID contained within https://spdx.org/licenses
// if present.
SPDXLicenseID() string
// Text returns the raw text of the License.
//
// At most one of Text and URL will be set.
Text() string
// URL returns the URL that contains the License.
//
// At most one of Text and URL will be set.
// Must be absolute if set.
URL() *url.URL
// contains filtered or unexported methods
}
License contains license information about a plugin.
A License will either have raw text or a URL that contains the License. Zero or one of these will be set.
type PluginInfo ¶
type PluginInfo interface {
// Documentation returns the documentation of the plugin.
//
// Optional.
Documentation() string
// License returns the license of the plugin.
//
// Optional.
License() License
// contains filtered or unexported methods
}
PluginInfo contains information about a plugin.
func NewPluginInfoForSpec ¶
func NewPluginInfoForSpec(spec *Spec) (PluginInfo, error)
NewPluginInfoForSpec returns a new PluginInfo for the given Spec.
type PluginInfoServiceHandlerOption ¶
type PluginInfoServiceHandlerOption func(*pluginInfoServiceHandlerOptions)
PluginInfoServiceHandlerOption is an option for PluginInfoServiceHandler.
type Spec ¶
type Spec struct {
// Documentation contains the documentation of the plugin.
//
// Optional.
Documentation string
// SPDXLicenseID is the SDPX ID of the License.
//
// Optional.
//
// This must be present in the SPDX license list.
// https://spdx.org/licenses
//
// This can be specified in any case. This package will translate this into
// proper casing.
SPDXLicenseID string
// LicenseText is the raw text of the License.
//
// Optional.
//
// Zero or one of LicenseText and LicenseURL must be set.
LicenseText string
// LicenseURL is the URL that contains the License.
//
// Optional.
//
// Zero or one of LicenseText and LicenseURL must be set.
// Must be absolute if set.
LicenseURL string
}
Spec is the spec for the information about a plugin.