catalog

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2020 License: Apache-2.0 Imports: 34 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

This section is empty.

Types

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 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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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