version

package
v2.24.1 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckUnconstrained added in v2.18.0

func CheckUnconstrained(baseVersion *semverlib.Version, version string) (bool, error)

func GetLatestMinorVersions added in v2.24.0

func GetLatestMinorVersions(versions []kubermativsemver.Semver) []string

func IsSupported added in v2.18.0

func IsSupported(version *semverlib.Version, provider kubermaticv1.ProviderType, incompatibilities []*ProviderIncompatibility, conditions ...kubermaticv1.ConditionType) (bool, error)

Types

type Manager

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

Manager is a object to handle versions & updates from a predefined config.

func New

func New(versions []*Version, updates []*Update, providerIncompatibilities []*ProviderIncompatibility) *Manager

New returns a instance of Manager.

func NewFromConfiguration added in v2.19.0

func NewFromConfiguration(config *kubermaticv1.KubermaticConfiguration) *Manager

NewFromConfiguration converts the configured versions/updates into the datatypes used by this package and returns a version.Manager on success.

func (*Manager) AutomaticControlplaneUpdate

func (m *Manager) AutomaticControlplaneUpdate(fromVersionRaw string) (*Version, error)

AutomaticControlplaneUpdate returns a version if an automatic update can be found for the version passed in.

func (*Manager) AutomaticNodeUpdate

func (m *Manager) AutomaticNodeUpdate(fromVersionRaw, controlPlaneVersion string) (*Version, error)

AutomaticNodeUpdate returns an automatic node update or nil.

func (*Manager) GetDefault

func (m *Manager) GetDefault() (*Version, error)

GetDefault returns the default version.

func (*Manager) GetIncompatibilities added in v2.18.0

func (m *Manager) GetIncompatibilities() []*ProviderIncompatibility

func (*Manager) GetKubeOnePossibleUpdates added in v2.21.0

func (m *Manager) GetKubeOnePossibleUpdates(fromVersionRaw string, provider kubermaticv1.ProviderType, conditions ...kubermaticv1.ConditionType) ([]*Version, error)

func (*Manager) GetPossibleUpdates

func (m *Manager) GetPossibleUpdates(fromVersionRaw string, provider kubermaticv1.ProviderType, conditions ...kubermaticv1.ConditionType) ([]*Version, error)

GetPossibleUpdates returns possible updates for the version passed in.

func (*Manager) GetVersion

func (m *Manager) GetVersion(s string) (*Version, error)

GetVersion returns the Versions for s.

func (*Manager) GetVersions

func (m *Manager) GetVersions() ([]*Version, error)

GetVersions returns all Versions which don't result in automatic updates, regardless of the cloud provider.

func (*Manager) GetVersionsForProvider added in v2.21.0

func (m *Manager) GetVersionsForProvider(provider kubermaticv1.ProviderType, conditions ...kubermaticv1.ConditionType) ([]*Version, error)

GetVersionsForProvider returns all Versions which don't result in automatic updates.

type ProviderIncompatibility added in v2.18.0

type ProviderIncompatibility struct {
	Provider  kubermaticv1.ProviderType  `json:"provider"`
	Version   string                     `json:"version"`
	Condition kubermaticv1.ConditionType `json:"condition"`
	Operation kubermaticv1.OperationType `json:"operation"`
}

func LoadProviderIncompatibilities added in v2.18.0

func LoadProviderIncompatibilities(path string) ([]*ProviderIncompatibility, error)

type Update

type Update struct {
	From                string `json:"from"`
	To                  string `json:"to"`
	Automatic           bool   `json:"automatic,omitempty"`
	AutomaticNodeUpdate bool   `json:"automaticNodeUpdate,omitempty"`
}

Update represents an update option for a cluster.

func LoadUpdates

func LoadUpdates(path string) ([]*Update, error)

LoadUpdates loads the update definition file and returns the defined MasterUpdate.

type Version

type Version struct {
	Version *semverlib.Version `json:"version"`
	Default bool               `json:"default,omitempty"`
}

Version is the object representing a Kubernetes version.

func LoadVersions

func LoadVersions(path string) ([]*Version, error)

LoadVersions loads Versions from a given path.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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