applications

package
v2.21.14 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package applications contains logic to download the source of an application (e.g. download manifest from git) and install / uninstall the application into the user-cluster.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationInstaller

type ApplicationInstaller interface {
	// GetAppCache return the application cache location (i.e. where source and others temporary files are written)
	GetAppCache() string

	// DonwloadSource the application's source into downloadDest and returns the full path to the sources.
	DonwloadSource(ctx context.Context, log *zap.SugaredLogger, seedClient ctrlruntimeclient.Client, applicationInstallation *appskubermaticv1.ApplicationInstallation, downloadDest string) (string, error)

	// Apply function installs the application on the user-cluster and returns an error if the installation has failed. StatusUpdater is guaranteed to be non nil. This is idempotent.
	Apply(ctx context.Context, log *zap.SugaredLogger, seedClient ctrlruntimeclient.Client, userClient ctrlruntimeclient.Client, applicationInstallation *appskubermaticv1.ApplicationInstallation, appSourcePath string) (util.StatusUpdater, error)

	// Delete function uninstalls the application on the user-cluster and returns an error if the uninstallation has failed. StatusUpdater is guaranteed to be non nil. This is idempotent.
	Delete(ctx context.Context, log *zap.SugaredLogger, seedClient ctrlruntimeclient.Client, userClient ctrlruntimeclient.Client, applicationInstallation *appskubermaticv1.ApplicationInstallation) (util.StatusUpdater, error)
}

ApplicationInstaller handles the installation / uninstallation of an Application on the user cluster.

type ApplicationManager

type ApplicationManager struct {
	// ApplicationCache is the path to the directory used for caching applications. (i.e. location where application's source will be downloaded, Helm repository cache ...)
	ApplicationCache string

	// Kubeconfig of the user-cluster
	Kubeconfig string

	// Namespace where credentials secrets are stored.
	SecretNamespace string
}

ApplicationManager handles the installation / uninstallation of an Application on the user-cluster.

func (*ApplicationManager) Apply

func (a *ApplicationManager) Apply(ctx context.Context, log *zap.SugaredLogger, seedClient ctrlruntimeclient.Client, userClient ctrlruntimeclient.Client, applicationInstallation *appskubermaticv1.ApplicationInstallation, appSourcePath string) (util.StatusUpdater, error)

Apply creates the namespace where the application will be installed (if necessary) and installs the application.

func (*ApplicationManager) Delete

Delete uninstalls the application where the application was installed if necessary.

func (*ApplicationManager) DonwloadSource

func (a *ApplicationManager) DonwloadSource(ctx context.Context, log *zap.SugaredLogger, seedClient ctrlruntimeclient.Client, applicationInstallation *appskubermaticv1.ApplicationInstallation, downloadDest string) (string, error)

DonwloadSource the application's source using the appropriate provider into downloadDest and returns the full path to the sources.

func (*ApplicationManager) GetAppCache

func (a *ApplicationManager) GetAppCache() string

Directories

Path Synopsis
Package helmclient contains tools to interact with Helm API for downloading, installing, upgrading, and uninstalling Helm Chart.
Package helmclient contains tools to interact with Helm API for downloading, installing, upgrading, and uninstalling Helm Chart.
Package providers provide the different implementations to download the application's source and install / uninstall the application into the user-cluster.
Package providers provide the different implementations to download the application's source and install / uninstall the application into the user-cluster.

Jump to

Keyboard shortcuts

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