Documentation ¶
Overview ¶
Package releaser is the main orchestrator for releasing new charts. It can be thought of as the main entrypoint all the other logic in the charts/ package.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChartReleaser ¶
type ChartReleaser interface { // Release calculates out downstream dependents of the given charts, increments versions, publishes new // chart packages to the Helm repo, and releases those new versions into Sherlock. // // Note that Release will release downstream dependents of the charts it is given. In other words, if chart `bar` // depends on chart `foo`, just including `foo` in the chartNames will also publish and release `bar`. // // Params: // chartsToPublish: a list of chart names that should be published. Eg. ["foo"] // changeDescription: freeform text used to annotate the chart version in Sherlock. Usually corresponds to PR commit message. // // Return: // a map representing the names and versions of charts that were published and released. Eg. // { // "foo": "1.2.3", // "bar": "0.2.0", // } // Release(chartsToPublish []string, changeDescription string) (publishedVersions map[string]string, err error) }
ChartReleaser is the main orchestrator for releasing new charts.
func NewChartReleaser ¶
func NewChartReleaser(chartsDir source.ChartsDir, publisher publish.Publisher, updater *DeployedVersionUpdater) ChartReleaser
type DeployedVersionUpdater ¶
type DeployedVersionUpdater struct { SherlockUpdaters []sherlock.ChartVersionUpdater SoftFailSherlockUpdaters []sherlock.ChartVersionUpdater }
DeployedVersionUpdater offers a UpdateReleaseVersion to take a newly published chart and update development instances to use it. It stores lists of different update mechanisms so they can be easily enabled/disabled by the caller. This is a literal struct, not an interface, so the callers can configure it out without needing to pass multiple parameters around.
func (*DeployedVersionUpdater) UpdateReleaseVersion ¶
Click to show internal directories.
Click to hide internal directories.