helm

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package helm provides utilities for discovering and processing Helm charts.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindCharts

func FindCharts(chartSearchDir string) ([]string, error)

FindCharts locates all "Chart.yaml" files in the current directory, and all sub-directories.

Types

type Chart

type Chart struct {
	APIVersion  string `yaml:"apiVersion"`
	AppVersion  string `yaml:"appVersion"`
	KubeVersion string `yaml:"kubeVersion"`
	Name        string `yaml:"name"`
	Deprecated  bool   `yaml:"deprecated"`
	Description string `yaml:"description"`
	Version     string `yaml:"version"`
}

Chart contains all info about a chart from the Chart.yaml file.

func GetChart

func GetChart(chartFile io.Reader) (Chart, error)

GetChart reads the content of the io.Reader and unmarshals the content into a Chart struct.

type GitClient

type GitClient interface {
	GetFileContent(ctx context.Context, hash, filePath string) (string, error)
	GetDiffBetweenCommits(ctx context.Context, start, end, diffPath string) (string, error)
}

GitClient defines the git operations needed to build changelogs.

type Release

type Release struct {
	ReleaseDate *time.Time
	Chart       Chart
	ValueDiff   string
	Commits     []git.Commit
}

Release represents a release of a Helm Chart including: - metadata for the released chart - all commits - the difference in default values.

func CreateHelmReleases

func CreateHelmReleases(
	ctx context.Context,
	log *zerolog.Logger,
	chartFile, chartDir string,
	g GitClient,
	commits []git.Commit,
) []*Release

CreateHelmReleases builds a list of releases from git commit history.

Jump to

Keyboard shortcuts

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