Documentation
¶
Index ¶
- Constants
- func BuildJSONPatchReplace(opt greenhousev1alpha1.PluginOption, index int, group, name string) (fluxkust.Patch, error)
- 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
- func PrepareKustomizePatches(overrides []greenhousev1alpha1.CatalogOverrides, group string) ([]fluxkust.Patch, error)
- type HelmReleaseBuilder
- func (b *HelmReleaseBuilder) Build() (helmv2.HelmReleaseSpec, error)
- func (b *HelmReleaseBuilder) WithChart(specRef helmv2.HelmChartTemplateSpec) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithDependsOn(dependencies []helmv2.DependencyReference) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithDriftDetection(driftDetection *helmv2.DriftDetection) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithHelmChartRef(chartRef *helmv2.CrossNamespaceSourceReference) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithInstall(install *helmv2.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) WithPostRenderers(postRenderers []helmv2.PostRenderer) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithReleaseName(name string) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithRollback(rollback *helmv2.Rollback) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithStorageNamespace(namespace string) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithSuspend(suspend bool) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTargetNamespace(namespace string) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTest(test *helmv2.Test) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithTimeout(timeout time.Duration) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithUninstall(uninstall *helmv2.Uninstall) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithUpgrade(upgrade *helmv2.Upgrade) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithValues(byteValues []byte) *HelmReleaseBuilder
- func (b *HelmReleaseBuilder) WithValuesFrom(ref []helmv2.ValuesReference) *HelmReleaseBuilder
- type KustomizeBuilder
- func (k *KustomizeBuilder) Build() (kustomizev1.KustomizationSpec, error)
- func (k *KustomizeBuilder) WithCommonLabels(labels map[string]string) *KustomizeBuilder
- func (k *KustomizeBuilder) WithPatches(patches []fluxkust.Patch) *KustomizeBuilder
- func (k *KustomizeBuilder) WithPath(path string) *KustomizeBuilder
- func (k *KustomizeBuilder) WithServiceAccountName(name string) *KustomizeBuilder
- func (k *KustomizeBuilder) WithSourceRef(apiVersion, kind, name, namespace string) *KustomizeBuilder
- func (k *KustomizeBuilder) WithSuspend(suspend bool) *KustomizeBuilder
- func (k *KustomizeBuilder) WithTargetNamespace(namespace string) *KustomizeBuilder
- type Operation
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 BuildJSONPatchReplace ¶ added in v0.9.0
func BuildJSONPatchReplace(opt greenhousev1alpha1.PluginOption, index int, group, name string) (fluxkust.Patch, error)
func ChartURLToName ¶
func FindHelmRepositoryByURL ¶
func GetSourceRepositoryType ¶
func PrepareKustomizePatches ¶ added in v0.7.0
func PrepareKustomizePatches(overrides []greenhousev1alpha1.CatalogOverrides, group string) ([]fluxkust.Patch, error)
Types ¶
type HelmReleaseBuilder ¶
type HelmReleaseBuilder struct {
// contains filtered or unexported fields
}
func NewHelmReleaseSpecBuilder ¶
func NewHelmReleaseSpecBuilder() *HelmReleaseBuilder
func (*HelmReleaseBuilder) Build ¶
func (b *HelmReleaseBuilder) Build() (helmv2.HelmReleaseSpec, error)
Build validates the HelmRelease and returns it.
func (*HelmReleaseBuilder) WithChart ¶
func (b *HelmReleaseBuilder) WithChart(specRef helmv2.HelmChartTemplateSpec) *HelmReleaseBuilder
WithChart sets the chart specification for the Helm release.
func (*HelmReleaseBuilder) WithDependsOn ¶
func (b *HelmReleaseBuilder) WithDependsOn(dependencies []helmv2.DependencyReference) *HelmReleaseBuilder
WithDependsOn sets the dependencies for the Helm release.
func (*HelmReleaseBuilder) WithDriftDetection ¶
func (b *HelmReleaseBuilder) WithDriftDetection(driftDetection *helmv2.DriftDetection) *HelmReleaseBuilder
WithDriftDetection sets the drift detection configuration for the Helm release.
func (*HelmReleaseBuilder) WithHelmChartRef ¶ added in v0.10.0
func (b *HelmReleaseBuilder) WithHelmChartRef(chartRef *helmv2.CrossNamespaceSourceReference) *HelmReleaseBuilder
func (*HelmReleaseBuilder) WithInstall ¶
func (b *HelmReleaseBuilder) WithInstall(install *helmv2.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) WithPostRenderers ¶ added in v0.7.0
func (b *HelmReleaseBuilder) WithPostRenderers(postRenderers []helmv2.PostRenderer) *HelmReleaseBuilder
WithPostRenderers sets the post renderers 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 *helmv2.Rollback) *HelmReleaseBuilder
WithRollback sets the rollback configuration for the Helm release.
func (*HelmReleaseBuilder) WithStorageNamespace ¶ added in v0.10.0
func (b *HelmReleaseBuilder) WithStorageNamespace(namespace string) *HelmReleaseBuilder
WithStorageNamespace sets the target namespace for the Helm release.
func (*HelmReleaseBuilder) WithSuspend ¶ added in v0.7.0
func (b *HelmReleaseBuilder) WithSuspend(suspend bool) *HelmReleaseBuilder
WithSuspend sets the suspend flag 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 *helmv2.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 *helmv2.Uninstall) *HelmReleaseBuilder
WithUninstall sets the uninstallation configuration for the Helm release.
func (*HelmReleaseBuilder) WithUpgrade ¶
func (b *HelmReleaseBuilder) WithUpgrade(upgrade *helmv2.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 []helmv2.ValuesReference) *HelmReleaseBuilder
WithValuesFrom sets the values references for the Helm release. Only secret references are supported on the plugin side
type KustomizeBuilder ¶ added in v0.7.0
type KustomizeBuilder struct {
// contains filtered or unexported fields
}
func NewKustomizationSpecBuilder ¶ added in v0.7.0
func NewKustomizationSpecBuilder(logger logr.Logger) *KustomizeBuilder
func (*KustomizeBuilder) Build ¶ added in v0.7.0
func (k *KustomizeBuilder) Build() (kustomizev1.KustomizationSpec, error)
func (*KustomizeBuilder) WithCommonLabels ¶ added in v0.7.0
func (k *KustomizeBuilder) WithCommonLabels(labels map[string]string) *KustomizeBuilder
func (*KustomizeBuilder) WithPatches ¶ added in v0.7.0
func (k *KustomizeBuilder) WithPatches(patches []fluxkust.Patch) *KustomizeBuilder
func (*KustomizeBuilder) WithPath ¶ added in v0.7.0
func (k *KustomizeBuilder) WithPath(path string) *KustomizeBuilder
func (*KustomizeBuilder) WithServiceAccountName ¶ added in v0.7.0
func (k *KustomizeBuilder) WithServiceAccountName(name string) *KustomizeBuilder
func (*KustomizeBuilder) WithSourceRef ¶ added in v0.7.0
func (k *KustomizeBuilder) WithSourceRef(apiVersion, kind, name, namespace string) *KustomizeBuilder
func (*KustomizeBuilder) WithSuspend ¶ added in v0.7.0
func (k *KustomizeBuilder) WithSuspend(suspend bool) *KustomizeBuilder
func (*KustomizeBuilder) WithTargetNamespace ¶ added in v0.7.0
func (k *KustomizeBuilder) WithTargetNamespace(namespace string) *KustomizeBuilder