helm

package
v0.9.6 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2022 License: MPL-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBufferSize = 2048
View Source
const LayerAnnotation = "weave.works/layer"

LayerAnnotation specifies profile application order. Profiles are sorted by layer and those at a higher "layer" are only installed after lower layers have successfully installed and started.

View Source
const ProfileAnnotation = "weave.works/profile"

ProfileAnnotation is the annotation that Helm charts must have to indicate that they provide a Profile.

View Source
const RepositoryProfilesAnnotation = "weave.works/profiles"

RepositoryProfilesAnnotation is the annotation that Helm Repositories must have to indicate that all charts are to be considered as Profiles.

Variables

View Source
var Profiles = func(hr *sourcev1.HelmRepository, v *repo.ChartVersion) bool {
	return hasAnnotation(v.Metadata.Annotations, ProfileAnnotation) ||
		hasAnnotation(hr.ObjectMeta.Annotations, RepositoryProfilesAnnotation)
}

Profiles is a predicate for scanning charts with the ProfileAnnotation.

Functions

func AppendHelmReleaseToString added in v0.7.0

func AppendHelmReleaseToString(content string, newRelease *helmv2.HelmRelease) (string, error)

AppendHelmReleaseToString appends "---" and a HelmRelease to string that may or may not be empty. This creates the content of a manifest that contains HelmReleases separated by "---".

func MakeHelmRelease added in v0.7.0

func MakeHelmRelease(name, version, cluster, namespace string, helmRepository types.NamespacedName) *helmv2.HelmRelease

MakeHelmRelease returns a HelmRelease object given a name, version, cluster, namespace, and HelmRepository's name and namespace.

func MarshalHelmReleases added in v0.7.0

func MarshalHelmReleases(existingReleases []*helmv2.HelmRelease) (string, error)

MarshalHelmReleases marshals a list of HelmReleases.

func ReverseSemVerSort added in v0.8.1

func ReverseSemVerSort(versions []string) ([]string, error)

func SplitHelmReleaseYAML added in v0.7.0

func SplitHelmReleaseYAML(resources []byte) ([]*helmv2.HelmRelease, error)

SplitHelmReleaseYAML splits a manifest file that contains one or more Helm Releases that may be separated by '---'.

Types

type ChartPredicate

type ChartPredicate func(*sourcev1.HelmRepository, *repo.ChartVersion) bool

ChartPredicate is used to filter charts coming from a HelmRepository.

type ChartReference

type ChartReference struct {
	Chart   string
	Version string
}

ChartReference is a Helm chart reference

type HelmRepoManager added in v0.6.1

type HelmRepoManager interface {
	ListCharts(ctx context.Context, hr *sourcev1.HelmRepository, pred ChartPredicate) ([]*pb.Profile, error)
	GetValuesFile(ctx context.Context, helmRepo *sourcev1.HelmRepository, c *ChartReference, filename string) ([]byte, error)
}

type RepoManager

type RepoManager struct {
	client.Client
	CacheDir string
	// contains filtered or unexported fields
}

RepoManager implements HelmRepoManager interface using the Helm library packages.

func NewRepoManager

func NewRepoManager(kc client.Client, cacheDir string) *RepoManager

NewRepoManager creates and returns a new RepoManager.

func (*RepoManager) GetValuesFile

func (h *RepoManager) GetValuesFile(ctx context.Context, helmRepo *sourcev1.HelmRepository, c *ChartReference, filename string) ([]byte, error)

GetValuesFile fetches the value file from a chart.

func (*RepoManager) ListCharts added in v0.6.1

func (h *RepoManager) ListCharts(ctx context.Context, hr *sourcev1.HelmRepository, pred ChartPredicate) ([]*pb.Profile, error)

ListCharts filters charts using the provided predicate.

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.
cache/cachefakes
Code generated by counterfeiter.
Code generated by counterfeiter.
controller/controllerfakes
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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