Documentation
¶
Index ¶
- Constants
- func ChartURLToName(repositoryURL string) (repositoryName string)
- func FindHelmRepositoryByURL(ctx context.Context, k8sClient client.Client, url, namespace string) (*sourcev1.HelmRepository, error)
- func GetSourceRepositoryType(repositoryURL string) string
- type HelmReleaseBuilder
- func (b *HelmReleaseBuilder) Build() (helmcontroller.HelmReleaseSpec, error)
- func (b *HelmReleaseBuilder) WithChart(specRef helmcontroller.HelmChartTemplateSpec) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithDependsOn(dependencies []fluxmeta.NamespacedObjectReference) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithDriftDetection(driftDetection *helmcontroller.DriftDetection) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithInstall(install *helmcontroller.Install) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithInterval(duration time.Duration) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithKubeConfig(kc fluxmeta.SecretKeyReference) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithMaxHistory(num int) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithReleaseName(name string) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithRollback(rollback *helmcontroller.Rollback) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTargetNamespace(namespace string) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTest(test *helmcontroller.Test) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTimeout(timeout time.Duration) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithUninstall(uninstall *helmcontroller.Uninstall) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithUpgrade(upgrade *helmcontroller.Upgrade) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithValues(byteValues []byte) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithValuesFrom(ref []helmcontroller.ValuesReference) *HelmReleaseBuilder
Constants ¶
const ( DefaultInterval = 5 * time.Minute DefaultTimeout = 5 * time.Minute // TODO: make this configurable via annotations on plugin / environment variable (Test scenarios) DefaultRetry = 3 // TODO: make this also configurable via annotations on plugin )
const (
HelmRepositoryDefaultNamespace = "greenhouse" // TODO: make this configurable via args or env var
)
Variables ¶
This section is empty.
Functions ¶
func ChartURLToName ¶
func FindHelmRepositoryByURL ¶
func GetSourceRepositoryType ¶
Types ¶
type HelmReleaseBuilder ¶
type HelmReleaseBuilder struct {
// contains filtered or unexported fields
}
func NewHelmReleaseSpecBuilder ¶
func NewHelmReleaseSpecBuilder() *HelmReleaseBuilder
func (*HelmReleaseBuilder) Build ¶
func (b *HelmReleaseBuilder) Build() (helmcontroller.HelmReleaseSpec, error)
Build validates the HelmRelease and returns it.
func (*HelmReleaseBuilder) WithChart ¶
func (b *HelmReleaseBuilder) WithChart(specRef helmcontroller.HelmChartTemplateSpec) *HelmReleaseBuilder
WithChart sets the chart specification for the Helm release.
func (*HelmReleaseBuilder) WithDependsOn ¶
func (b *HelmReleaseBuilder) WithDependsOn(dependencies []fluxmeta.NamespacedObjectReference) *HelmReleaseBuilder
WithDependsOn sets the dependencies for the Helm release.
func (*HelmReleaseBuilder) WithDriftDetection ¶
func (b *HelmReleaseBuilder) WithDriftDetection(driftDetection *helmcontroller.DriftDetection) *HelmReleaseBuilder
WithDriftDetection sets the drift detection configuration for the Helm release.
func (*HelmReleaseBuilder) WithInstall ¶
func (b *HelmReleaseBuilder) WithInstall(install *helmcontroller.Install) *HelmReleaseBuilder
WithInstall sets the installation configuration for the Helm release.
func (*HelmReleaseBuilder) WithInterval ¶
func (b *HelmReleaseBuilder) WithInterval(duration time.Duration) *HelmReleaseBuilder
WithInterval sets the interval for the Helm release.
func (*HelmReleaseBuilder) WithKubeConfig ¶
func (b *HelmReleaseBuilder) WithKubeConfig(kc fluxmeta.SecretKeyReference) *HelmReleaseBuilder
WithKubeConfig sets the kubeconfig reference for the Helm release. If the fluxmeta.SecretKeyReference does not contain a name, the Plugin targets the central cluster and no specific kubeconfig is needed.
func (*HelmReleaseBuilder) WithMaxHistory ¶
func (b *HelmReleaseBuilder) WithMaxHistory(num int) *HelmReleaseBuilder
WithMaxHistory sets the maximum history for the Helm release.
func (*HelmReleaseBuilder) WithReleaseName ¶
func (b *HelmReleaseBuilder) WithReleaseName(name string) *HelmReleaseBuilder
WithReleaseName sets the release name for the Helm release.
func (*HelmReleaseBuilder) WithRollback ¶
func (b *HelmReleaseBuilder) WithRollback(rollback *helmcontroller.Rollback) *HelmReleaseBuilder
WithRollback sets the rollback configuration for the Helm release.
func (*HelmReleaseBuilder) WithTargetNamespace ¶
func (b *HelmReleaseBuilder) WithTargetNamespace(namespace string) *HelmReleaseBuilder
WithTargetNamespace sets the target namespace for the Helm release.
func (*HelmReleaseBuilder) WithTest ¶
func (b *HelmReleaseBuilder) WithTest(test *helmcontroller.Test) *HelmReleaseBuilder
WithTest sets the test configuration for the Helm release.
func (*HelmReleaseBuilder) WithTimeout ¶
func (b *HelmReleaseBuilder) WithTimeout(timeout time.Duration) *HelmReleaseBuilder
WithTimeout sets the timeout for the Helm release.
func (*HelmReleaseBuilder) WithUninstall ¶
func (b *HelmReleaseBuilder) WithUninstall(uninstall *helmcontroller.Uninstall) *HelmReleaseBuilder
WithUninstall sets the uninstallation configuration for the Helm release.
func (*HelmReleaseBuilder) WithUpgrade ¶
func (b *HelmReleaseBuilder) WithUpgrade(upgrade *helmcontroller.Upgrade) *HelmReleaseBuilder
WithUpgrade sets the upgrade configuration for the Helm release.
func (*HelmReleaseBuilder) WithValues ¶
func (b *HelmReleaseBuilder) WithValues(byteValues []byte) *HelmReleaseBuilder
WithValues sets the values for the Helm release.
func (*HelmReleaseBuilder) WithValuesFrom ¶
func (b *HelmReleaseBuilder) WithValuesFrom(ref []helmcontroller.ValuesReference) *HelmReleaseBuilder
WithValuesFrom sets the values references for the Helm release. Only secret references are supported on the plugin side