plugin

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultLocalPluginDir = "/.local/share/crane/plugins"
	GlobalPluginDir       = "/usr/local/share/crane/plugins"
	PkgPluginDir          = "/usr/share/crane/plugins"
)
View Source
const (
	DEFAULT_REPO     = "default"
	DEFAULT_REPO_URL = "DEFAULT_REPO_URL"
	DEFAULT_URL      = "https://raw.githubusercontent.com/konveyor/crane-plugins/main/index.yaml"
)

Variables

This section is empty.

Functions

func BuildManifestMap added in v0.0.2

func BuildManifestMap(log *logrus.Logger, name string, repoName string) (map[string]map[string][]PluginVersion, error)

returns map containing the manifests with the key as name-version. Takes name and repo as input to filter accordingly

func FilterPluginForOsArch added in v0.0.2

func FilterPluginForOsArch(plugin *Plugin) bool

takes manifest as input and filters manifest for current os/arch

func GetDefaultSource added in v0.0.2

func GetDefaultSource() string

overrides the default plugin dir url

func GetFilteredPlugins

func GetFilteredPlugins(pluginDir string, skipPlugins []string, logger *logrus.Logger) ([]transform.Plugin, error)

func GetPlugins

func GetPlugins(dir string, logger *logrus.Logger) ([]transform.Plugin, error)

func IsExecAny added in v0.0.2

func IsExecAny(mode os.FileMode) bool

func IsUrl added in v0.0.2

func IsUrl(URL string) (bool, string)

func LocateBinaryInPluginDir added in v0.0.2

func LocateBinaryInPluginDir(pluginDir string, name string, files []os.FileInfo) ([]string, error)

return array of string containing all the paths where a binary installed within plugin-dir

Types

type Binary added in v0.0.2

type Binary struct {
	OS   string `json:"os"`
	Arch string `json:"arch"`
	URI  string `json:"uri"`
	SHA  string `json:"sha,omitempty"`
}

type Plugin added in v0.0.4

type Plugin struct {
	Kind       string          `json:"kind"`
	ApiVersion string          `json:"apiVersion"`
	Versions   []PluginVersion `json:"versions"`
}

type PluginIndex added in v0.0.4

type PluginIndex struct {
	Kind       string           `json:"kind"`
	ApiVersion string           `json:"apiVersion"`
	Plugins    []PluginLocation `json:"plugins"`
}

func GetYamlFromUrl added in v0.0.2

func GetYamlFromUrl(URL string) (PluginIndex, error)

takes url as input and returns index.yml for plugin repository

type PluginLocation added in v0.0.4

type PluginLocation struct {
	Name string `json:"name"`
	Path string `json:"path"`
}

type PluginVersion added in v0.0.4

type PluginVersion struct {
	Name             string                     `json:"name"`
	ShortDescription string                     `json:"shortDescription"`
	Description      string                     `json:"description"`
	Version          Version                    `json:"version"`
	Binaries         []Binary                   `json:"binaries"`
	OptionalFields   []transform.OptionalFields `json:"optionalFields"`
}

func YamlToManifest added in v0.0.2

func YamlToManifest(URL string) ([]PluginVersion, error)

takes url as input and fetches the manifest of a plugin

type Version added in v0.0.2

type Version string

Jump to

Keyboard shortcuts

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