install

package
v1.1.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Overview

Package install ...

Index

Constants

View Source
const (
	// DefaultEverestNamespace is the default namespace managed by everest Everest.
	DefaultEverestNamespace = "everest"

	// FlagOperatorPostgresql represents the pg operator flag.
	FlagOperatorPostgresql = "operator.postgresql"
	// FlagOperatorXtraDBCluster represents the pxc operator flag.
	FlagOperatorXtraDBCluster = "operator.xtradb-cluster"
	// FlagOperatorMongoDB represents the psmdb operator flag.
	FlagOperatorMongoDB = "operator.mongodb"
	// FlagNamespaces represents the namespaces flag.
	FlagNamespaces = "namespaces"
	// FlagVersionMetadataURL represents the version service url flag.
	FlagVersionMetadataURL = "version-metadata-url"
	// FlagVersion represents the version flag.
	FlagVersion = "version"
	// FlagSkipWizard represents the flag to skip the installation wizard.
	FlagSkipWizard = "skip-wizard"
)
View Source
const (

	// MonitoringNamespace is the namespace where the monitoring stack is installed.
	MonitoringNamespace = "everest-monitoring"
	// EverestMonitoringNamespaceEnvVar is the name of the environment variable that holds the monitoring namespace.
	EverestMonitoringNamespaceEnvVar = "MONITORING_NAMESPACE"
)

Variables

View Source
var (
	// ErrNSEmpty appears when the provided list of the namespaces is considered empty.
	ErrNSEmpty = errors.New("namespace list is empty. Specify at least one namespace")
	// ErrNSReserved appears when some of the provided names are forbidden to use.
	ErrNSReserved = func(ns string) error {
		return fmt.Errorf("'%s' namespace is reserved for Everest internals. Please specify another namespace", ns)
	}
	// ErrNameNotRFC1035Compatible appears when some of the provided names are not RFC1035 compatible.
	ErrNameNotRFC1035Compatible = func(fieldName string) error {
		return fmt.Errorf(`'%s' is not RFC 1035 compatible. The name should contain only lowercase alphanumeric characters or '-', start with an alphabetic character, end with an alphanumeric character`,
			fieldName,
		)
	}
	// ErrNoOperatorsSelected appears when no operators are selected for installation.
	ErrNoOperatorsSelected = errors.New("no operators selected for installation. Minimum one operator must be selected")
)

Functions

func ValidateNamespaces

func ValidateNamespaces(str string) ([]string, error)

ValidateNamespaces validates a comma-separated namespaces string.

Types

type Config

type Config struct {
	// Namespaces is a user-defined string represents raw non-validated comma-separated list of namespaces for everest to operate in.
	Namespaces string `mapstructure:"namespaces"`
	// NamespacesList validated list of namespaces that everest can operate in.
	NamespacesList []string `mapstructure:"namespaces-map"`
	// SkipWizard skips wizard during installation.
	SkipWizard bool `mapstructure:"skip-wizard"`
	// KubeconfigPath is a path to a kubeconfig
	KubeconfigPath string `mapstructure:"kubeconfig"`
	// VersionMetadataURL stores hostname to retrieve version metadata information from.
	VersionMetadataURL string `mapstructure:"version-metadata-url"`
	// Version defines the version to be installed. If empty, the latest version is installed.
	Version string `mapstructure:"version"`

	Operator OperatorConfig

	// If set, we will print the pretty output.
	Pretty bool
}

Config stores configuration for the operators.

type Install

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

Install implements the main logic for commands.

func NewInstall

func NewInstall(c Config, l *zap.SugaredLogger, cmd *cobra.Command) (*Install, error)

NewInstall returns a new Install struct.

func (*Install) Run

func (o *Install) Run(ctx context.Context) error

Run runs the operators installation process.

type OperatorConfig

type OperatorConfig struct {
	// PG stores if PostgresSQL shall be installed.
	PG bool `mapstructure:"postgresql"`
	// PSMDB stores if MongoDB shall be installed.
	PSMDB bool `mapstructure:"mongodb"`
	// PXC stores if XtraDB Cluster shall be installed.
	PXC bool `mapstructure:"xtradb-cluster"`
}

OperatorConfig identifies which operators shall be installed.

Jump to

Keyboard shortcuts

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