registry

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2022 License: Apache-2.0 Imports: 11 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

Codecs provides access to encoding and decoding for the scheme

View Source
var Scheme = runtime.NewScheme()

Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.

Functions

func DefaultYAMLDecoder

func DefaultYAMLDecoder() runtime.Decoder

Types

type APIKey

type APIKey struct {
	Group   string
	Version string
	Kind    string
	Plural  string
}

APIKey stores GroupVersionKind for use as map keys

func (APIKey) String

func (k APIKey) String() string

type Bundle

type Bundle struct {
	Name    string
	Objects []*unstructured.Unstructured
	Package string
	Channel string
	// contains filtered or unexported fields
}

func NewBundle

func NewBundle(name, pkgName, channelName string, objs ...*unstructured.Unstructured) *Bundle

func NewBundleFromStrings

func NewBundleFromStrings(name, pkgName, channelName string, objs []string) (*Bundle, error)

func (*Bundle) Add

func (b *Bundle) Add(obj *unstructured.Unstructured)

func (*Bundle) AllProvidedAPIsInBundle

func (b *Bundle) AllProvidedAPIsInBundle() error

func (*Bundle) ClusterServiceVersion

func (b *Bundle) ClusterServiceVersion() (*v1alpha1.ClusterServiceVersion, error)

func (*Bundle) CustomResourceDefinitions

func (b *Bundle) CustomResourceDefinitions() ([]*apiextensions.CustomResourceDefinition, error)

func (*Bundle) ProvidedAPIs

func (b *Bundle) ProvidedAPIs() (map[APIKey]struct{}, error)

func (*Bundle) RequiredAPIs

func (b *Bundle) RequiredAPIs() (map[APIKey]struct{}, error)

func (*Bundle) Serialize

func (b *Bundle) Serialize() (csvName string, csvBytes []byte, bundleBytes []byte, err error)

func (*Bundle) Size

func (b *Bundle) Size() int

type ChannelEntry

type ChannelEntry struct {
	PackageName string
	ChannelName string
	BundleName  string
	Replaces    string
}

ChannelEntry is a denormalized node in a channel graph

type Load

type Load interface {
	AddOperatorBundle(bundle *Bundle) error
	AddPackageChannels(manifest PackageManifest) error
	AddProvidedAPIs() error
}

type PackageChannel

type PackageChannel struct {
	// Name is the name of the channel, e.g. `alpha` or `stable`
	Name string `json:"name"`

	// CurrentCSVName defines a reference to the CSV holding the version of this package currently
	// for the channel.
	CurrentCSVName string `json:"currentCSV"`
}

PackageChannel defines a single channel under a package, pointing to a version of that package.

func (PackageChannel) IsDefaultChannel

func (pc PackageChannel) IsDefaultChannel(pm PackageManifest) bool

IsDefaultChannel returns true if the PackageChennel is the default for the PackageManifest

type PackageManifest

type PackageManifest struct {
	// PackageName is the name of the overall package, ala `etcd`.
	PackageName string `json:"packageName"`

	// Channels are the declared channels for the package, ala `stable` or `alpha`.
	Channels []PackageChannel `json:"channels"`

	// DefaultChannelName is, if specified, the name of the default channel for the package. The
	// default channel will be installed if no other channel is explicitly given. If the package
	// has a single channel, then that channel is implicitly the default.
	DefaultChannelName string `json:"defaultChannel"`
}

PackageManifest holds information about a package, which is a reference to one (or more) channels under a single package.

func (PackageManifest) GetDefaultChannel

func (m PackageManifest) GetDefaultChannel() string

GetDefaultChannel gets the default channel or returns the only one if there's only one. returns empty string if it can't determine the default

type Query

type Query interface {
	ListTables(ctx context.Context) ([]string, error)
	ListPackages(ctx context.Context) ([]string, error)
	GetPackage(ctx context.Context, name string) (*PackageManifest, error)
	GetBundle(ctx context.Context, pkgName, channelName, csvName string) (string, error)
	GetBundleForChannel(ctx context.Context, pkgName string, channelName string) (string, error)
	// Get all channel entries that say they replace this one
	GetChannelEntriesThatReplace(ctx context.Context, name string) (entries []*ChannelEntry, err error)
	// Get the bundle in a package/channel that replace this one
	GetBundleThatReplaces(ctx context.Context, name, pkgName, channelName string) (string, error)
	// Get all channel entries that provide an api
	GetChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*ChannelEntry, err error)
	// Get latest channel entries that provide an api
	GetLatestChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*ChannelEntry, err error)
	// Get the the latest bundle that provides the API in a default channel
	GetBundleThatProvides(ctx context.Context, group, version, kind string) (string, *ChannelEntry, error)
}

Jump to

Keyboard shortcuts

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