Help us shape the future of Go! Take the 2026 Go Developer Survey

catalog

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2019 License: Apache-2.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OLMCatalogDir     = scaffold.DeployDir + string(filepath.Separator) + "olm-catalog"
	CSVYamlFileExt    = ".clusterserviceversion.yaml"
	CSVConfigYamlFile = "csv-config.yaml"
)
View Source
const PackageManifestFileExt = ".package.yaml"

Variables

View Source
var ErrNoCSVVersion = errors.New("no CSV version supplied")

Functions

func NewUpdaterStore

func NewUpdaterStore() *updaterStore

Types

type ALMExamplesUpdate

type ALMExamplesUpdate struct {
	// contains filtered or unexported fields
}

func (*ALMExamplesUpdate) Apply

type CSV

type CSV struct {
	input.Input

	// ConfigFilePath is the location of a configuration file path for this
	// projects' CSV file.
	ConfigFilePath string
	// CSVVersion is the CSV current version.
	CSVVersion string
	// FromVersion is the CSV version from which to build a new CSV. A CSV
	// manifest with this version should exist at:
	// deploy/olm-catalog/{from_version}/operator-name.v{from_version}.{CSVYamlFileExt}
	FromVersion string
	// OperatorName is the operator's name, ex. app-operator
	OperatorName string
	// contains filtered or unexported fields
}

func (*CSV) CustomRender

func (s *CSV) CustomRender() ([]byte, error)

CustomRender allows a CSV to be written by marshalling olmapiv1alpha1.ClusterServiceVersion instead of writing to a template.

func (*CSV) GetInput

func (s *CSV) GetInput() (input.Input, error)

func (*CSV) SetFS

func (s *CSV) SetFS(fs afero.Fs)

type CSVConfig

type CSVConfig struct {
	// The operator manifest file path. Defaults to deploy/operator.yaml.
	OperatorPath string `json:"operator-path,omitempty"`
	// Role and ClusterRole manifest file paths. Defaults to [deploy/role.yaml].
	RolePaths []string `json:"role-paths,omitempty"`
	// A list of CRD and CR manifest file paths. Defaults to [deploy/crds].
	CRDCRPaths []string `json:"crd-cr-paths,omitempty"`
	// OperatorName is the name used to create the CSV and manifest file names.
	// Defaults to the project's name.
	OperatorName string `json:"operator-name,omitempty"`
}

CSVConfig is a configuration file for CSV composition. Its fields contain file path information. TODO(estroz): define field for path to write CSV bundle. TODO(estroz): make CSVConfig a viper.Config

func GetCSVConfig

func GetCSVConfig(cfgFile string) (*CSVConfig, error)

TODO: discuss case of no config file at default path: write new file or not.

type CSVUpdater

type CSVUpdater interface {
	// Apply applies a data update to a CSV argument.
	Apply(*olmapiv1alpha1.ClusterServiceVersion) error
}

CSVUpdater is an interface for any data that can be in a CSV, which will be set to the corresponding field on Apply().

type CustomResourceDefinitionsUpdate

type CustomResourceDefinitionsUpdate struct {
	*olmapiv1alpha1.CustomResourceDefinitions
	// contains filtered or unexported fields
}

func (*CustomResourceDefinitionsUpdate) Apply

Apply updates csv's "owned" CRDDescriptions. "required" CRDDescriptions are left as-is, since they are user-defined values. Apply will only make a new spec.customresourcedefinitions.owned element if the CRD key is not in spec.customresourcedefinitions.owned already.

type InstallStrategyUpdate

type InstallStrategyUpdate struct {
	*olminstall.StrategyDetailsDeployment
}

func (*InstallStrategyUpdate) Apply

type PackageManifest added in v0.9.0

type PackageManifest struct {
	input.Input

	// CSVVersion is the version of the CSV being updated.
	CSVVersion string
	// Channel is CSVVersion's package manifest channel. If a new package
	// manifest is generated, this channel will be the manifest default.
	Channel string
	// If ChannelIsDefault is true, Channel will be the package manifests'
	// default channel.
	ChannelIsDefault bool
	// OperatorName is the operator's name, ex. app-operator
	OperatorName string
}

func (*PackageManifest) CustomRender added in v0.9.0

func (s *PackageManifest) CustomRender() ([]byte, error)

CustomRender either reads an existing package manifest or creates a new manifest and modifies it based on values set in s.

func (*PackageManifest) GetInput added in v0.9.0

func (s *PackageManifest) GetInput() (input.Input, error)

GetInput gets s' Input.

func (*PackageManifest) SetFS added in v0.9.0

func (s *PackageManifest) SetFS(_ afero.Fs)

SetFS is a no-op to implement CustomRenderer.

Jump to

Keyboard shortcuts

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