Interface HelmReleaseProperties
-
- All Implemented Interfaces:
-
io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmInstallFromRepositoryOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmInstallationOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmServerOperationOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmServerOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmValueOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmInstallFromRepositoryOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmInstallationOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmServerOperationOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmServerOptions,io.github.build.extensions.oss.gradle.plugins.helm.command.HelmValueOptions,org.gradle.api.Named
public interface HelmReleaseProperties implements Named, ConfigurableHelmInstallFromRepositoryOptions, ConfigurableHelmValueOptionsContains the configurable properties of a Helm release; these can be modified on the core release object as well as a target-specific variant.
-
-
Method Summary
Modifier and Type Method Description abstract ChartReferencechart(String project, String chart)Returns a reference to a chart, which can be used as a value for the chart property. ChartReferencechart(String name)Returns a reference to a chart in the same project, which can be used as a value for the chart property. ChartReferencechart(Map<?, ?> notation)Returns a reference to a chart that can be used as a value for the chart property. abstract Unitfrom(Object notation)Sets the chart to be installed. UnitdependsOn(String releaseName)Express a dependency on another release. UnitdependsOn(String releaseNames)Express a dependency on several other releases. UnitinstallDependsOn(Iterable<Object> paths)Declare additional dependencies for the task that installs this release. UnitinstallDependsOn(Object paths)Declare additional dependencies for the task that installs this release. UnitmustInstallAfter(String releaseNames)Specifies that this release must be installed after all the supplied releases. UnitmustUninstallAfter(String releaseNames)Specifies that this release must be uninstalled after all the supplied releases. Unittest(Action<ConfigurableHelmReleaseTestOptions> configureAction)Configure testing options for this release. abstract Property<String>getReleaseName()The release name to use for any Helm CLI command. abstract Property<ChartReference>getChart()The chart to be installed, as a ChartReference. abstract Property<Boolean>getReplace()If true, the associatedhelmInstalltask will replace an existing release with the same name (usinghelm install --replaceinstead ofhelm upgrade --install).abstract Property<Integer>getHistoryMax()Limit the maximum number of revisions saved per release. abstract Property<Boolean>getKeepHistoryOnUninstall()If true, the associatedhelmUninstalltask will retain the release history (using the--keep-historyflag).abstract SetProperty<String>getDependsOn()Names of other releases that this release depends on. abstract Set<Object>getInstallDependsOn()A set of additional dependencies for the task that installs this release. abstract Set<String>getMustInstallAfter()A set of release names that this release must be installed after, if installation of both releases is requested by the current build. abstract Set<String>getMustUninstallAfter()A set of release names that this release must be uninstalled after, if uninstallation of both releases is requested by the current build. abstract ConfigurableHelmReleaseTestOptionsgetTest()Access testing configuration options for this release. -
Methods inherited from class io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmInstallFromRepositoryOptions
getCaFile, getCertFile, getKeyFile, getPassword, getRepository, getUsername -
Methods inherited from class io.github.build.extensions.oss.gradle.plugins.helm.command.ConfigurableHelmValueOptions
getFileValues, getValueFiles, getValues -
Methods inherited from class org.gradle.api.Named
getName -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
chart
abstract ChartReference chart(String project, String chart)
Returns a reference to a chart, which can be used as a value for the chart property.
- Parameters:
project- the path to the project that contains the chart, e.g.chart- the name of the chart inside the Gradle project.- Returns:
a ChartReference that can be used as a value for the chart property
-
chart
ChartReference chart(String name)
Returns a reference to a chart in the same project, which can be used as a value for the chart property.
- Parameters:
name- the name of the chart inside the Gradle project- Returns:
a ChartReference that can be used as a value for the chart property
-
chart
ChartReference chart(Map<?, ?> notation)
Returns a reference to a chart that can be used as a value for the chart property.
This variant is intended for Groovy DSL support, allowing us to declare a chart reference like this:
chart = chart(project: ':someProject', chart: 'main')The following keys are supported in the
notationmap parameter:project: the path to the project that contains the chartchart: the name of the chart inside the Gradle project
- Parameters:
notation- a Map containing the chart reference properties- Returns:
a ChartReference that can be used as a value for the chart property
-
from
abstract Unit from(Object notation)
Sets the chart to be installed. The value can be any of the forms accepted by the Helm CLI.
This is a convenience method that can be used instead of setting the chart property directly.
The following argument types are accepted:
A ChartReference, as produced by one of the chart methods.
A
Stringcontaining a textual chart reference, e.g.stable/mariadb.A File pointing to an unpackaged chart directory or a packaged chart file.
A Directory pointing to an unpackaged chart directory.
A RegularFile pointing to a packaged chart file.
A URI pointing to a remote chart location.
A FileCollection (for example, a Gradle Configuration) that contains a single file or directory. If the
FileCollectionhas any builtBy task dependencies, they will be honored by thehelmInstalltask associated with this release.a Provider of any of the above.
- Parameters:
notation- an object defining the chart to be installed by this release
-
dependsOn
@Deprecated(message = "use release tags instead") Unit dependsOn(String releaseName)
Express a dependency on another release.
A dependency between two releases will create task dependencies such that the dependency will be installed before, and uninstalled after, the dependent release.
Currently such dependencies can be expressed only within the same project.
Deprecated as of 1.2.0; build scripts should indicate such dependencies using release tags instead, and specify the preferred installation/uninstallation order using mustInstallAfter and mustUninstallAfter.
-
dependsOn
@Deprecated(message = "use release tags instead") Unit dependsOn(String releaseNames)
Express a dependency on several other releases.
Deprecated as of 1.2.0; build scripts should indicate such dependencies using release tags instead, and specify the preferred installation/uninstallation order using mustInstallAfter and mustUninstallAfter.
-
installDependsOn
Unit installDependsOn(Iterable<Object> paths)
Declare additional dependencies for the task that installs this release.
- Parameters:
paths- Additional installation dependencies.
-
installDependsOn
Unit installDependsOn(Object paths)
Declare additional dependencies for the task that installs this release.
- Parameters:
paths- Additional installation dependencies.
-
mustInstallAfter
Unit mustInstallAfter(String releaseNames)
Specifies that this release must be installed after all the supplied releases.
- Parameters:
releaseNames- names of releases that this release must be installed after
-
mustUninstallAfter
Unit mustUninstallAfter(String releaseNames)
Specifies that this release must be uninstalled after all the supplied releases.
- Parameters:
releaseNames- names of releases that this release must be uninstalled after
-
test
Unit test(Action<ConfigurableHelmReleaseTestOptions> configureAction)
Configure testing options for this release.
- Parameters:
configureAction- an Action to configure testing options for this release
-
getReleaseName
abstract Property<String> getReleaseName()
The release name to use for any Helm CLI command. Defaults to the name of the release in the DSL.
-
getChart
abstract Property<ChartReference> getChart()
The chart to be installed, as a ChartReference.
Instead of setting this property directly, you should use the from method, which can handle a variety of argument types.
-
getReplace
abstract Property<Boolean> getReplace()
If
true, the associatedhelmInstalltask will replace an existing release with the same name (usinghelm install --replaceinstead ofhelm upgrade --install).Defaults to
false.
-
getHistoryMax
abstract Property<Integer> getHistoryMax()
Limit the maximum number of revisions saved per release.
Use
0for no limit. If not set, the default value from Helm (currently10) is used.Corresponds to the
--history-maxparameter of thehelm upgradeCLI command.If replace is set to
true, this property will be ignored.
-
getKeepHistoryOnUninstall
abstract Property<Boolean> getKeepHistoryOnUninstall()
If
true, the associatedhelmUninstalltask will retain the release history (using the--keep-historyflag).Defaults to
false.
-
getDependsOn
abstract SetProperty<String> getDependsOn()
Names of other releases that this release depends on.
A dependency between two releases will create task dependencies such that the dependency will be installed before, and uninstalled after, the dependent release.
Currently such dependencies can be expressed only within the same project.
Deprecated as of 1.2.0; build scripts should indicate such dependencies using release tags instead, and specify the preferred installation/uninstallation order using mustInstallAfter and mustUninstallAfter.
-
getInstallDependsOn
abstract Set<Object> getInstallDependsOn()
A set of additional dependencies for the task that installs this release. May contain any of the notations supported by Task.dependsOn.
-
getMustInstallAfter
abstract Set<String> getMustInstallAfter()
A set of release names that this release must be installed after, if installation of both releases is requested by the current build.
-
getMustUninstallAfter
abstract Set<String> getMustUninstallAfter()
A set of release names that this release must be uninstalled after, if uninstallation of both releases is requested by the current build.
-
getTest
abstract ConfigurableHelmReleaseTestOptions getTest()
Access testing configuration options for this release.
-
-
-
-