catalog

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 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

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

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

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

GetInput gets s' Input.

func (*PackageManifest) SetFS

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