Documentation
¶
Index ¶
- Constants
- func GetChartForCatalogChart(ctx context.Context, netClient HTTPClient, ...) (*chart.Chart, error)
- func IsClusterUnreachableErr(err error) bool
- func IsReleaseNotFoundErr(err error) bool
- func NewHelmDeployerDI(crAndSecretClient client.Client, uncachedClient synchronize.UncachedClient, ...) deployutil.DeployItemDeployer
- func NewHelmDeployerDIWithFacade(crAndSecretClient client.Client, uncachedClient synchronize.UncachedClient, ...) deployutil.DeployItemDeployer
- type AppOverview
- type ChartData
- type ChartLoaderFunc
- type Client
- type ClientConfigGetter
- type Facade
- type FacadeImpl
- func (fi *FacadeImpl) GetRelease(ctx context.Context, chartData *ChartData, namespace, targetKubeconfig string) (*release.Release, error)
- func (fi *FacadeImpl) InstallOrUpdate(ctx context.Context, chartData *ChartData, namespace, targetKubeconfig string, ...) (*release.Release, error)
- func (fi *FacadeImpl) Remove(ctx context.Context, chartData *ChartData, namespace, targetKubeconfig string) error
- type FakeHelmClient
- func (f *FakeHelmClient) CreateRelease(ctx context.Context, chartData *ChartData, name, namespace string, ...) (*release.Release, error)
- func (f *FakeHelmClient) DeleteRelease(ctx context.Context, chartData *ChartData, name, namespace string, ...) error
- func (f *FakeHelmClient) GetRelease(ctx context.Context, name, namespace, kubeconfig string) (*release.Release, error)
- func (f *FakeHelmClient) GetReleaseStatus(ctx context.Context, namespace, relName, kubeconfig string) (release.Status, error)
- func (f *FakeHelmClient) ListReleases(ctx context.Context, namespace string, releaseListLimit int, ...) ([]AppOverview, error)
- func (f *FakeHelmClient) ResolveManifest(ctx context.Context, namespace string, values map[string]interface{}, ...) (string, error)
- func (f *FakeHelmClient) ResolveManifestFromRelease(ctx context.Context, namespace, releaseName string, revision int32, ...) (string, error)
- func (f *FakeHelmClient) RollbackRelease(ctx context.Context, name, namespace string, timeout time.Duration, ...) (*release.Release, error)
- func (f *FakeHelmClient) UpdateRelease(ctx context.Context, chartData *ChartData, name, namespace string, ...) (*release.Release, error)
- type HTTPClient
- type ReadChart
- type ReleaseMetadata
Constants ¶
View Source
const ( // consts for helm parameter InstallArguments = "installArguments" UpdateArguments = "updateArguments" RemoveArguments = "removeArguments" InstallArgAtomic = "atomic" UpdateArgAtomic = "atomic" )
Variables ¶
This section is empty.
Functions ¶
func GetChartForCatalogChart ¶
func GetChartForCatalogChart(ctx context.Context, netClient HTTPClient, repoURL, chartName, chartVersion string, load ReadChart) (*chart.Chart, error)
GetChart retrieves and loads a Chart from a registry
func IsClusterUnreachableErr ¶
func IsReleaseNotFoundErr ¶
func NewHelmDeployerDI ¶
func NewHelmDeployerDI(crAndSecretClient client.Client, uncachedClient synchronize.UncachedClient, appRepoClient client.Client, blockObject *synchronize.BlockObject) deployutil.DeployItemDeployer
func NewHelmDeployerDIWithFacade ¶
func NewHelmDeployerDIWithFacade(crAndSecretClient client.Client, uncachedClient synchronize.UncachedClient, helmFacade Facade, appRepoClient client.Client, blockObject *synchronize.BlockObject) deployutil.DeployItemDeployer
Types ¶
type AppOverview ¶
type AppOverview struct { ReleaseName string `json:"releaseName"` Version string `json:"version"` Namespace string `json:"namespace"` Icon string `json:"icon,omitempty"` Status string `json:"status"` Chart string `json:"chart"` ChartMetadata chart.Metadata `json:"chartMetadata"` }
AppOverview represents the basics of a release
type ChartData ¶
type ChartData struct { InstallName string Values map[string]interface{} Load ChartLoaderFunc InstallTimeout time.Duration UpgradeTimeout time.Duration RollbackTimeout time.Duration UninstallTimeout time.Duration InstallArguments []string UpdateArguments []string RemoveArguments []string }
func ParseTypeSpecificData ¶
func ParseTypeSpecificData(ctx context.Context, namedSecretResolver *apitypes.NamedSecretResolver, hdc *hubv1.DeploymentConfig, helmSpecificData *apitypes.HelmSpecificData, loadRepoInfo bool, appRepoClient client.Client) (*ChartData, string, error)
type ChartLoaderFunc ¶
func LoadCatalogChart ¶
func LoadCatalogChart(ctx context.Context, apprepo *appRepov1.AppRepository, chartName, chartVersion string, chartReader ReadChart, appRepoClient client.Client) ChartLoaderFunc
func LoadRawURL ¶
func LoadRawURL(ctx context.Context, customCAData, authHeader, chartURL string, chartReader ReadChart) ChartLoaderFunc
type Client ¶
type Client interface { GetReleaseStatus(ctx context.Context, namespace, relName, kubeconfig string) (release.Status, error) ResolveManifest(ctx context.Context, namespace string, values map[string]interface{}, ch *chart.Chart, kubeconfig string) (string, error) ResolveManifestFromRelease(ctx context.Context, namespace, releaseName string, revision int32, kubeconfig string) (string, error) ListReleases(ctx context.Context, namespace string, releaseListLimit int, status, kubeconfig string) ([]AppOverview, error) CreateRelease(ctx context.Context, chartData *ChartData, name, namespace string, values map[string]interface{}, metadata *ReleaseMetadata, timeout time.Duration, ch *chart.Chart, kubeconfig string) (*release.Release, error) UpdateRelease(ctx context.Context, chartData *ChartData, name, namespace string, values map[string]interface{}, metadata *ReleaseMetadata, timeout time.Duration, ch *chart.Chart, kubeconfig string) (*release.Release, error) RollbackRelease(ctx context.Context, name, namespace string, timeout time.Duration, revision int32, kubeconfig string) (*release.Release, error) GetRelease(ctx context.Context, name, namespace, kubeconfig string) (*release.Release, error) DeleteRelease(ctx context.Context, chartData *ChartData, name, namespace string, timeout time.Duration, keepHistory bool, kubeconfig string) error }
Client for exposed funcs
func NewDefaultClient ¶
func NewDefaultClient() Client
type ClientConfigGetter ¶
type ClientConfigGetter struct {
// contains filtered or unexported fields
}
func (*ClientConfigGetter) ClientConfig ¶
func (c *ClientConfigGetter) ClientConfig() (*rest.Config, error)
func (*ClientConfigGetter) ConfigAccess ¶
func (c *ClientConfigGetter) ConfigAccess() clientcmd.ConfigAccess
func (*ClientConfigGetter) Namespace ¶
func (c *ClientConfigGetter) Namespace() (string, bool, error)
func (*ClientConfigGetter) RawConfig ¶
func (c *ClientConfigGetter) RawConfig() (clientcmdapi.Config, error)
type Facade ¶
type Facade interface { GetRelease(ctx context.Context, chartData *ChartData, namespace, targetKubeconfig string) (*release.Release, error) InstallOrUpdate(context.Context, *ChartData, string, string, *ReleaseMetadata) (*release.Release, error) Remove(context.Context, *ChartData, string, string) error }
type FacadeImpl ¶
type FacadeImpl struct {
Client Client
}
func (*FacadeImpl) GetRelease ¶
func (*FacadeImpl) InstallOrUpdate ¶
func (fi *FacadeImpl) InstallOrUpdate(ctx context.Context, chartData *ChartData, namespace, targetKubeconfig string, metadata *ReleaseMetadata) (*release.Release, error)
type FakeHelmClient ¶
func (*FakeHelmClient) CreateRelease ¶
func (*FakeHelmClient) DeleteRelease ¶
func (*FakeHelmClient) GetRelease ¶
func (*FakeHelmClient) GetReleaseStatus ¶
func (*FakeHelmClient) ListReleases ¶
func (f *FakeHelmClient) ListReleases(ctx context.Context, namespace string, releaseListLimit int, status, kubeconfig string) ([]AppOverview, error)
func (*FakeHelmClient) ResolveManifest ¶
func (*FakeHelmClient) ResolveManifestFromRelease ¶
func (*FakeHelmClient) RollbackRelease ¶
type HTTPClient ¶
HTTPClient Interface to perform HTTP requests
func InitNetClientForCatalogChart ¶
func InitNetClientForCatalogChart(ctx context.Context, appRepo *appRepov1.AppRepository, appRepoClient client.Client) (HTTPClient, error)
InitNetClient returns an HTTP FacaceImpl based on the chart details loading a custom CA if provided (as a secret)
func InitNetClientForRawURL ¶
func InitNetClientForRawURL(customCAData, authHeader string) (HTTPClient, error)
InitNetClient returns an HTTP FacaceImpl based on the chart details loading a custom CA if provided (as a secret)
type ReleaseMetadata ¶
type ReleaseMetadata struct {
BomName string `json:"bomName"`
}
Click to show internal directories.
Click to hide internal directories.