installation

package
v0.0.0-...-5a9cfe4 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2022 License: Apache-2.0 Imports: 22 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ComponentOverridesLabelKey = "component"
)
View Source
const (
	NoInstallationState = "NoInstallation"
)

Variables

This section is empty.

Functions

func TriggerUninstall

func TriggerUninstall(kubeconfig *rest.Config) error

Despite being part of Installer interface, this is also available as a standalone function as it is used without KymaInstaller struct

Types

type ComponentConfiguration

type ComponentConfiguration struct {
	// Component specifies the name of the component for which the configuration will be used
	Component string
	// Configuration specifies configuration for the component
	Configuration ConfigEntries
	// ConflictStrategy specifies system behaviour when config is already defined
	ConflictStrategy string
}

type ConfigEntries

type ConfigEntries []ConfigEntry

func (ConfigEntries) Get

func (c ConfigEntries) Get(key string) (ConfigEntry, bool)

func (*ConfigEntries) Set

func (c *ConfigEntries) Set(key, value string, secret bool)

type ConfigEntry

type ConfigEntry struct {
	Key    string
	Value  string
	Secret bool
}

type Configuration

type Configuration struct {
	// Configuration specifies a configuration for all components
	Configuration ConfigEntries
	// ComponentConfiguration specifies configuration for individual components
	ComponentConfiguration []ComponentConfiguration
	// ConflictStrategy specifies system behaviour when global config is already defined
	ConflictStrategy string
}

type ErrorEntry

type ErrorEntry struct {
	Component   string
	Log         string
	Occurrences int32
}

type Installation

type Installation struct {
	// Deprecated
	// TillerYaml is a content of yaml file with all resources related to Tiller which are required by Kyma
	// New versions of Kyma use Helm 3 therefore do not need Tiller
	TillerYaml string
	// InstallerYaml is a content of yaml file with all resources related to and required by Installer
	InstallerYaml string
	// InstallerCRYaml is a content of yaml file with the list of the packages being installed
	InstallerCRYaml string
	// Configuration specifies the configuration to be used for the installation
	Configuration Configuration
}

Installation provides configuration for Kyma installation

type InstallationError

type InstallationError struct {
	ShortMessage string
	Recoverable  bool
	ErrorEntries []ErrorEntry
}

func (InstallationError) Details

func (e InstallationError) Details() string

func (InstallationError) Error

func (e InstallationError) Error() string

type InstallationOption

type InstallationOption interface {
	// contains filtered or unexported methods
}

func WithInstallationCRModification

func WithInstallationCRModification(modFunc func(installation *v1alpha1.Installation)) InstallationOption

func WithLogger

func WithLogger(logger Logger) InstallationOption

func WithTillerWaitTime

func WithTillerWaitTime(tillerWaitTime time.Duration) InstallationOption

type InstallationState

type InstallationState struct {
	State       string
	Description string
}

func CheckInstallationState

func CheckInstallationState(kubeconfig *rest.Config) (InstallationState, error)

Despite being part of Installer interface, this is also available as a standalone function as it is used without KymaInstaller struct

type Installer

type Installer interface {
	PrepareInstallation(installation Installation) error
	PrepareUpgrade(artifacts Installation) error
	StartInstallation(context context.Context) (<-chan InstallationState, <-chan error, error)
	CheckInstallationState(installationClient installationTyped.InstallationInterface) (InstallationState, error)
	TriggerUninstall(installationClient installationTyped.InstallationInterface) error
}

type KymaInstaller

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

func NewKymaInstaller

func NewKymaInstaller(kubeconfig *rest.Config, opts ...InstallationOption) (*KymaInstaller, error)

NewKymaInstaller initializes new KymaInstaller configured to work with the cluster from provided Kubeconfig

func (KymaInstaller) CheckInstallationState

func (k KymaInstaller) CheckInstallationState(installationClient installationTyped.InstallationInterface) (InstallationState, error)

func (KymaInstaller) PrepareInstallation

func (k KymaInstaller) PrepareInstallation(artifacts Installation) error

PrepareInstallation creates all the required resources for Kyma Installation. It installs Tiller and deploys the Kyma Installer to the cluster, together with provided configuration It does not start the installation.

func (KymaInstaller) PrepareUpgrade

func (k KymaInstaller) PrepareUpgrade(artifacts Installation) error

func (KymaInstaller) StartInstallation

func (k KymaInstaller) StartInstallation(context context.Context) (<-chan InstallationState, <-chan error, error)

StartInstallation triggers Kyma installation to start. It expects that the cluster is already prepared meaning the Tiller is installed and the Kyma Installer is deployed and Installation CR exists

func (KymaInstaller) TriggerUninstall

func (k KymaInstaller) TriggerUninstall(installationClient installationTyped.InstallationInterface) error

type Logger

type Logger interface {
	Infof(format string, a ...interface{})
}

Jump to

Keyboard shortcuts

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