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, ConfigurableHelmValueOptions
                        

    Contains the configurable properties of a Helm release; these can be modified on the core release object as well as a target-specific variant.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract ChartReference chart(String project, String chart) Returns a reference to a chart, which can be used as a value for the chart property.
      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.
      ChartReference chart(Map<?, ?> notation) Returns a reference to a chart that can be used as a value for the chart property.
      abstract Unit from(Object notation) Sets the chart to be installed.
      Unit dependsOn(String releaseName) Express a dependency on another release.
      Unit dependsOn(String releaseNames) Express a dependency on several other releases.
      Unit installDependsOn(Iterable<Object> paths) Declare additional dependencies for the task that installs this release.
      Unit installDependsOn(Object paths) Declare additional dependencies for the task that installs this release.
      Unit mustInstallAfter(String releaseNames) Specifies that this release must be installed after all the supplied releases.
      Unit mustUninstallAfter(String releaseNames) Specifies that this release must be uninstalled after all the supplied releases.
      Unit test(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 associated helmInstall task will replace an existing release with the same name (using helm install --replace instead of helm upgrade --install).
      abstract Property<Integer> getHistoryMax() Limit the maximum number of revisions saved per release.
      abstract Property<Boolean> getKeepHistoryOnUninstall() If true, the associated helmUninstall task will retain the release history (using the --keep-history flag).
      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 ConfigurableHelmReleaseTestOptions getTest() 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
    • Constructor Detail

    • 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 notation map parameter:

        • project: the path to the project that contains the chart

        • chart: 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 String containing 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 FileCollection has any builtBy task dependencies, they will be honored by the helmInstall task 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
      • 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 associated helmInstall task will replace an existing release with the same name (using helm install --replace instead of helm upgrade --install).

        Defaults to false.

      • getHistoryMax

         abstract Property<Integer> getHistoryMax()

        Limit the maximum number of revisions saved per release.

        Use 0 for no limit. If not set, the default value from Helm (currently 10) is used.

        Corresponds to the --history-max parameter of the helm upgrade CLI command.

        If replace is set to true, this property will be ignored.

      • getKeepHistoryOnUninstall

         abstract Property<Boolean> getKeepHistoryOnUninstall()

        If true, the associated helmUninstall task will retain the release history (using the --keep-history flag).

        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.