Documentation
¶
Index ¶
- Constants
- Variables
- func VerifyArtifactSignature(checksum, signatureB64 string) error
- type Maintainer
- type Plugin
- type PluginArtifact
- type PluginIndex
- type PluginRegistry
- type PluginTheme
- type PluginVersion
- type PluginVersions
- type RegistryClient
- func (rc *RegistryClient) DownloadAndPrepare(pluginID, version string) (string, error)
- func (rc *RegistryClient) GetPluginIndex(pluginID string) (*PluginIndex, error)
- func (rc *RegistryClient) GetPluginVersions(pluginID string) PluginVersions
- func (rc *RegistryClient) ListPlugins() ([]Plugin, error)
Constants ¶
View Source
const ( BaseURL = "https://cdn.plugins.omniview.dev" UserAgent = "Omniview-Plugin-Client/1.0" TimeoutSec = 15 )
Constants for the CDN
Variables ¶
View Source
var ( ErrUnsignedArtifact = errors.New("artifact is not signed") ErrInvalidSignature = errors.New("invalid artifact signature") )
View Source
var OmniviewPublicKeyHex = "c84100654c6c0d42e8a86f16253a21b7f01b8e914d83ba07ce072f086a8add31"
OmniviewPublicKeyHex is the hex-encoded Ed25519 public key used to verify plugin signatures. Replace this placeholder with the real key generated by `registry-cli keygen`.
Functions ¶
func VerifyArtifactSignature ¶
VerifyArtifactSignature verifies that the given checksum was signed by the Omniview signing key.
Types ¶
type Maintainer ¶
type PluginArtifact ¶
type PluginIndex ¶
type PluginIndex struct {
ID string `json:"id"`
Name string `json:"name"`
Icon string `json:"icon"`
Description string `json:"description"`
Official bool `json:"official"`
LatestVersion PluginVersion `json:"latest_version"`
Versions []PluginVersion `json:"versions"`
// contains filtered or unexported fields
}
type PluginRegistry ¶
type PluginRegistry struct {
Plugins []Plugin `json:"plugins"`
}
type PluginTheme ¶
type PluginVersion ¶
type PluginVersion struct {
Metadata config.PluginMeta `json:"metadata"`
Version string `json:"version"`
Architectures map[string]PluginArtifact `json:"architectures"`
Created time.Time `json:"created"`
Updated time.Time `json:"updated"`
}
type PluginVersions ¶
type RegistryClient ¶
type RegistryClient struct {
// contains filtered or unexported fields
}
func NewRegistryClient ¶
func NewRegistryClient() *RegistryClient
func (*RegistryClient) DownloadAndPrepare ¶
func (rc *RegistryClient) DownloadAndPrepare( pluginID, version string, ) (string, error)
func (*RegistryClient) GetPluginIndex ¶
func (rc *RegistryClient) GetPluginIndex(pluginID string) (*PluginIndex, error)
func (*RegistryClient) GetPluginVersions ¶
func (rc *RegistryClient) GetPluginVersions(pluginID string) PluginVersions
func (*RegistryClient) ListPlugins ¶
func (rc *RegistryClient) ListPlugins() ([]Plugin, error)
Click to show internal directories.
Click to hide internal directories.