Documentation
¶
Index ¶
- Constants
- type BundleDeprecator
- type ConfigMapLoader
- type DbOption
- type DbOptions
- type DirectoryLoader
- type MigratableLoader
- type Migrator
- type PackageRemover
- type Querier
- type RowScanner
- type SQLDeprecator
- type SQLGraphLoader
- type SQLLiteMigrator
- type SQLPopulator
- type SQLQuerier
- func (s *SQLQuerier) GetApisForEntry(ctx context.Context, entryID int64) (provided []*api.GroupVersionKind, required []*api.GroupVersionKind, err error)
- func (s *SQLQuerier) GetBundle(ctx context.Context, pkgName, channelName, csvName string) (*api.Bundle, error)
- func (s *SQLQuerier) GetBundleForChannel(ctx context.Context, pkgName string, channelName string) (*api.Bundle, error)
- func (s *SQLQuerier) GetBundlePathIfExists(ctx context.Context, bundleName string) (bundlePath string, err error)
- func (s *SQLQuerier) GetBundlePathsForPackage(ctx context.Context, pkgName string) ([]string, error)
- func (s *SQLQuerier) GetBundleThatProvides(ctx context.Context, group, apiVersion, kind string) (*api.Bundle, error)
- func (s *SQLQuerier) GetBundleThatReplaces(ctx context.Context, name, pkgName, channelName string) (*api.Bundle, error)
- func (s *SQLQuerier) GetBundleVersion(ctx context.Context, image string) (string, error)
- func (s *SQLQuerier) GetBundlesForPackage(ctx context.Context, pkgName string) (map[registry.BundleKey]struct{}, error)
- func (s *SQLQuerier) GetChannelEntriesFromPackage(ctx context.Context, packageName string) ([]registry.ChannelEntryAnnotated, error)
- func (s *SQLQuerier) GetChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*registry.ChannelEntry, err error)
- func (s *SQLQuerier) GetChannelEntriesThatReplace(ctx context.Context, name string) (entries []*registry.ChannelEntry, err error)
- func (s *SQLQuerier) GetCurrentCSVNameForChannel(ctx context.Context, pkgName, channel string) (string, error)
- func (s *SQLQuerier) GetDefaultChannelForPackage(ctx context.Context, pkgName string) (string, error)
- func (s *SQLQuerier) GetDefaultPackage(ctx context.Context, name string) (string, error)
- func (s *SQLQuerier) GetDependenciesForBundle(ctx context.Context, name, version, path string) (dependencies []*api.Dependency, err error)
- func (s *SQLQuerier) GetImagesForBundle(ctx context.Context, csvName string) ([]string, error)
- func (s *SQLQuerier) GetLatestChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*registry.ChannelEntry, err error)
- func (s *SQLQuerier) GetPackage(ctx context.Context, name string) (*registry.PackageManifest, error)
- func (s *SQLQuerier) GetPropertiesForBundle(ctx context.Context, name, version, path string) (properties []*api.Property, err error)
- func (s *SQLQuerier) ListBundles(ctx context.Context) ([]*api.Bundle, error)
- func (s *SQLQuerier) ListChannels(ctx context.Context, pkgName string) ([]string, error)
- func (s *SQLQuerier) ListImages(ctx context.Context) ([]string, error)
- func (s *SQLQuerier) ListPackages(ctx context.Context) ([]string, error)
- func (s *SQLQuerier) ListTables(ctx context.Context) ([]string, error)
- type SQLRemover
- type SQLStrandedBundleRemover
- type StrandedBundleRemover
Constants ¶
const ( ConfigMapCRDName = "customResourceDefinitions" ConfigMapCSVName = "clusterServiceVersions" ConfigMapPackageName = "packages" )
const ( DefaultMigrationsTable = "schema_migrations" NilVersion = -1 )
const ClusterServiceVersionKind = "ClusterServiceVersion"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BundleDeprecator ¶
type BundleDeprecator struct {
// contains filtered or unexported fields
}
BundleDeprecator removes bundles from the database
func NewSQLDeprecatorForBundles ¶
func NewSQLDeprecatorForBundles(store registry.Load, bundles []string) *BundleDeprecator
func (*BundleDeprecator) Deprecate ¶
func (d *BundleDeprecator) Deprecate() error
type ConfigMapLoader ¶
type ConfigMapLoader struct {
// contains filtered or unexported fields
}
ConfigMapLoader loads a configmap of resources into the database entries under "customResourceDefinitions" will be parsed as CRDs entries under "clusterServiceVersions" will be parsed as CSVs entries under "packages" will be parsed as Packages
func NewSQLLoaderForConfigMap ¶
func NewSQLLoaderForConfigMap(store registry.Load, configMap v1.ConfigMap) *ConfigMapLoader
func NewSQLLoaderForConfigMapData ¶
func NewSQLLoaderForConfigMapData(logger *logrus.Entry, store registry.Load, configMapData map[string]string) *ConfigMapLoader
NewSQLLoaderForConfigMapData is useful when the operator manifest(s) originate from a different source than a configMap. For example, operator manifest(s) can be downloaded from a remote registry like quay.io.
func (*ConfigMapLoader) Populate ¶
func (c *ConfigMapLoader) Populate() error
type DirectoryLoader ¶
type DirectoryLoader struct {
// contains filtered or unexported fields
}
DirectoryLoader loads a directory of resources into the database
func NewSQLLoaderForDirectory ¶
func NewSQLLoaderForDirectory(store registry.Load, directory string) *DirectoryLoader
func (*DirectoryLoader) LoadBundleWalkFunc ¶
LoadBundleWalkFunc walks the directory. When it sees a `.clusterserviceversion.yaml` file, it attempts to load the surrounding files in the same directory as a bundle, and stores them in the db for querying
func (*DirectoryLoader) LoadPackagesWalkFunc ¶
LoadPackagesWalkFunc attempts to unmarshal the file at the given path into a PackageManifest resource. If unmarshaling is successful, the PackageManifest is added to the loader's store.
func (*DirectoryLoader) Populate ¶
func (d *DirectoryLoader) Populate() error
type MigratableLoader ¶
func NewSQLLiteLoader ¶
func NewSQLLiteLoader(db *sql.DB, opts ...DbOption) (MigratableLoader, error)
type Migrator ¶
type Migrator interface { Migrate(ctx context.Context) error Up(ctx context.Context, migrations migrations.Migrations) error Down(ctx context.Context, migrations migrations.Migrations) error }
type PackageRemover ¶
type PackageRemover struct {
// contains filtered or unexported fields
}
PackageRemover removes a package from the database
func NewSQLRemoverForPackages ¶
func NewSQLRemoverForPackages(store registry.Load, packages string) *PackageRemover
func (*PackageRemover) Remove ¶
func (d *PackageRemover) Remove() error
type Querier ¶
type Querier interface {
QueryContext(ctx context.Context, query string, args ...interface{}) (RowScanner, error)
}
type RowScanner ¶
type SQLDeprecator ¶
type SQLDeprecator interface {
Deprecate() error
}
type SQLGraphLoader ¶
func NewSQLGraphLoader ¶
func NewSQLGraphLoader(dbFilename string) (*SQLGraphLoader, error)
func NewSQLGraphLoaderFromDB ¶
func NewSQLGraphLoaderFromDB(db *sql.DB) (*SQLGraphLoader, error)
type SQLLiteMigrator ¶
type SQLLiteMigrator struct {
// contains filtered or unexported fields
}
func (*SQLLiteMigrator) Down ¶
func (m *SQLLiteMigrator) Down(ctx context.Context, migrations migrations.Migrations) error
func (*SQLLiteMigrator) Migrate ¶
func (m *SQLLiteMigrator) Migrate(ctx context.Context) error
Migrate gets the current version from the database, the latest version from the migrations, and migrates up the the latest
func (*SQLLiteMigrator) Up ¶
func (m *SQLLiteMigrator) Up(ctx context.Context, migrations migrations.Migrations) error
Up runs a specific set of migrations.
type SQLPopulator ¶
type SQLPopulator interface {
Populate() error
}
type SQLQuerier ¶
type SQLQuerier struct {
// contains filtered or unexported fields
}
func NewSQLLiteQuerier ¶
func NewSQLLiteQuerier(dbFilename string) (*SQLQuerier, error)
func NewSQLLiteQuerierFromDBQuerier ¶
func NewSQLLiteQuerierFromDBQuerier(q Querier) *SQLQuerier
func NewSQLLiteQuerierFromDb ¶
func NewSQLLiteQuerierFromDb(db *sql.DB) *SQLQuerier
func (*SQLQuerier) GetApisForEntry ¶
func (s *SQLQuerier) GetApisForEntry(ctx context.Context, entryID int64) (provided []*api.GroupVersionKind, required []*api.GroupVersionKind, err error)
func (*SQLQuerier) GetBundleForChannel ¶
func (*SQLQuerier) GetBundlePathIfExists ¶
func (*SQLQuerier) GetBundlePathsForPackage ¶
func (*SQLQuerier) GetBundleThatProvides ¶
func (s *SQLQuerier) GetBundleThatProvides(ctx context.Context, group, apiVersion, kind string) (*api.Bundle, error)
Get the the latest bundle that provides the API in a default channel, error unless there is ONLY one
func (*SQLQuerier) GetBundleThatReplaces ¶
func (*SQLQuerier) GetBundleVersion ¶
func (*SQLQuerier) GetBundlesForPackage ¶
func (*SQLQuerier) GetChannelEntriesFromPackage ¶
func (s *SQLQuerier) GetChannelEntriesFromPackage(ctx context.Context, packageName string) ([]registry.ChannelEntryAnnotated, error)
func (*SQLQuerier) GetChannelEntriesThatProvide ¶
func (s *SQLQuerier) GetChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*registry.ChannelEntry, err error)
func (*SQLQuerier) GetChannelEntriesThatReplace ¶
func (s *SQLQuerier) GetChannelEntriesThatReplace(ctx context.Context, name string) (entries []*registry.ChannelEntry, err error)
func (*SQLQuerier) GetCurrentCSVNameForChannel ¶
func (*SQLQuerier) GetDefaultChannelForPackage ¶
func (*SQLQuerier) GetDefaultPackage ¶
func (*SQLQuerier) GetDependenciesForBundle ¶
func (s *SQLQuerier) GetDependenciesForBundle(ctx context.Context, name, version, path string) (dependencies []*api.Dependency, err error)
func (*SQLQuerier) GetImagesForBundle ¶
func (*SQLQuerier) GetLatestChannelEntriesThatProvide ¶
func (s *SQLQuerier) GetLatestChannelEntriesThatProvide(ctx context.Context, group, version, kind string) (entries []*registry.ChannelEntry, err error)
Get latest channel entries that provide an api
func (*SQLQuerier) GetPackage ¶
func (s *SQLQuerier) GetPackage(ctx context.Context, name string) (*registry.PackageManifest, error)
func (*SQLQuerier) GetPropertiesForBundle ¶
func (*SQLQuerier) ListBundles ¶
func (*SQLQuerier) ListChannels ¶
func (*SQLQuerier) ListImages ¶
func (s *SQLQuerier) ListImages(ctx context.Context) ([]string, error)
func (*SQLQuerier) ListPackages ¶
func (s *SQLQuerier) ListPackages(ctx context.Context) ([]string, error)
ListPackages returns a list of package names as strings
func (*SQLQuerier) ListTables ¶
func (s *SQLQuerier) ListTables(ctx context.Context) ([]string, error)
type SQLRemover ¶
type SQLRemover interface {
Remove() error
}
type SQLStrandedBundleRemover ¶
type SQLStrandedBundleRemover interface {
Remove() error
}
type StrandedBundleRemover ¶
type StrandedBundleRemover struct {
// contains filtered or unexported fields
}
StrandedBundleRemover removes stranded bundles from the database
func NewSQLStrandedBundleRemover ¶
func NewSQLStrandedBundleRemover(store registry.Load) *StrandedBundleRemover
func (*StrandedBundleRemover) Remove ¶
func (d *StrandedBundleRemover) Remove() error