github.com/jaylevin/jenkins-library@v1.230.4/resources/metadata/helmExecute.yaml (about)

     1  metadata:
     2    name: helmExecute
     3    description: Executes helm3 functionality as the package manager for Kubernetes.
     4    longDescription: |-
     5      Alpha version: please expect incompatible changes
     6  
     7      Executes helm functionality as the package manager for Kubernetes.
     8  
     9      * [Helm](https://helm.sh/)  is the package manager for Kubernetes.
    10      * [Helm documentation https://helm.sh/docs/intro/using_helm/ and best practies https://helm.sh/docs/chart_best_practices/conventions/]
    11      * [Helm Charts] (https://artifacthub.io/)
    12      ```
    13      Available Commands:
    14      `upgrade`, `lint`, `install`, `test`, `uninstall`, `dependency`, `publish`
    15  
    16        upgrade       upgrade a release
    17        lint          examine a chart for possible issues
    18        install       install a chart
    19        test          run tests for a release
    20        uninstall     uninstall a release
    21        dependency     package a chart directory into a chart archive
    22        publish       package and puslish a release
    23  
    24      ```
    25  
    26      Note: piper supports only helm3 version, since helm2 is deprecated.
    27  spec:
    28    inputs:
    29      secrets:
    30        - name: dockerCredentialsId
    31          type: jenkins
    32        - name: dockerConfigJsonCredentialsId
    33          description: Jenkins 'Secret file' credentials ID containing Docker config.json (with registry credential(s)).
    34          type: jenkins
    35      resources:
    36        - name: deployDescriptor
    37          type: stash
    38      params:
    39        - name: additionalParameters
    40          aliases:
    41            - name: helmDeploymentParameters
    42          type: "[]string"
    43          description: Defines additional parameters for Helm like  "helm install [NAME] [CHART] [flags]".
    44          scope:
    45            - PARAMETERS
    46            - STAGES
    47            - STEPS
    48        - name: chartPath
    49          aliases:
    50            - name: helmChartPath
    51          type: string
    52          description: Defines the chart path for helm. chartPath is mandatory for install/upgrade/publish commands.
    53          scope:
    54            - PARAMETERS
    55            - STAGES
    56            - STEPS
    57        - name: targetRepositoryURL
    58          description: "URL of the target repository where the compiled helm .tgz archive shall be uploaded - typically provided by the CI/CD environment."
    59          type: string
    60          scope:
    61            - PARAMETERS
    62            - STAGES
    63            - STEPS
    64          resourceRef:
    65            - name: commonPipelineEnvironment
    66              param: custom/helmRepositoryURL
    67            - name: commonPipelineEnvironment
    68              param: custom/repositoryUrl
    69        - name: targetRepositoryName
    70          type: string
    71          description: set the chart repository. The value is required for install/upgrade/uninstall commands.
    72          scope:
    73            - GENERAL
    74            - PARAMETERS
    75            - STAGES
    76            - STEPS
    77        - name: targetRepositoryUser
    78          description: "Username for the char repository where the compiled helm .tgz archive shall be uploaded - typically provided by the CI/CD environment."
    79          type: string
    80          scope:
    81            - PARAMETERS
    82            - STAGES
    83            - STEPS
    84          secret: true
    85          resourceRef:
    86            - name: commonPipelineEnvironment
    87              param: custom/helmRepositoryUsername
    88            - name: commonPipelineEnvironment
    89              param: custom/repositoryUsername
    90        - name: targetRepositoryPassword
    91          description: "Password for the target repository where the compiled helm .tgz archive shall be uploaded - typically provided by the CI/CD environment."
    92          type: string
    93          scope:
    94            - PARAMETERS
    95            - STAGES
    96            - STEPS
    97          secret: true
    98          resourceRef:
    99            - name: commonPipelineEnvironment
   100              param: custom/helmRepositoryPassword
   101            - name: commonPipelineEnvironment
   102              param: custom/repositoryPassword
   103        - name: helmDeployWaitSeconds
   104          type: int
   105          description: Number of seconds before helm deploy returns.
   106          scope:
   107            - PARAMETERS
   108            - STAGES
   109            - STEPS
   110          default: 300
   111        - name: helmValues
   112          type: "[]string"
   113          description: List of helm values as YAML file reference or URL (as per helm parameter description for `-f` / `--values`)
   114          scope:
   115            - PARAMETERS
   116            - STAGES
   117            - STEPS
   118        - name: image
   119          aliases:
   120            - name: deployImage
   121          type: string
   122          description: Full name of the image to be deployed.
   123          resourceRef:
   124            - name: commonPipelineEnvironment
   125              param: container/imageNameTag
   126          mandatory: true
   127          scope:
   128            - PARAMETERS
   129            - STAGES
   130            - STEPS
   131        - name: keepFailedDeployments
   132          type: bool
   133          description: Defines whether a failed deployment will be purged
   134          default: false
   135          scope:
   136            - GENERAL
   137            - PARAMETERS
   138            - STAGES
   139            - STEPS
   140        - name: kubeConfig
   141          type: string
   142          description: Defines the path to the "kubeconfig" file.
   143          scope:
   144            - GENERAL
   145            - PARAMETERS
   146            - STAGES
   147            - STEPS
   148          secret: true
   149          resourceRef:
   150            - name: kubeConfigFileCredentialsId
   151              type: secret
   152            - type: vaultSecretFile
   153              name: kubeConfigFileVaultSecretName
   154              default: kube-config
   155        - name: kubeContext
   156          type: string
   157          description: Defines the context to use from the "kubeconfig" file.
   158          scope:
   159            - PARAMETERS
   160            - STAGES
   161            - STEPS
   162        - name: namespace
   163          aliases:
   164            - name: helmDeploymentNamespace
   165          type: string
   166          description: Defines the target Kubernetes namespace for the deployment.
   167          scope:
   168            - PARAMETERS
   169            - STAGES
   170            - STEPS
   171          default: default
   172        - name: dockerConfigJSON
   173          type: string
   174          description: Path to the file `.docker/config.json` - this is typically provided by your CI/CD system. You can find more details about the Docker credentials in the [Docker documentation](https://docs.docker.com/engine/reference/commandline/login/).
   175          scope:
   176            - PARAMETERS
   177            - STAGES
   178            - STEPS
   179          secret: true
   180          resourceRef:
   181            - name: dockerConfigJsonCredentialsId
   182              type: secret
   183            - type: vaultSecretFile
   184              name: dockerConfigFileVaultSecretName
   185              default: docker-config
   186        - name: helmCommand
   187          type: string
   188          description: "Helm: defines the command `upgrade`, `lint`, `install`, `test`, `uninstall`, `dependency`, `publish`."
   189          scope:
   190            - PARAMETERS
   191            - STAGES
   192            - STEPS
   193          possibleValues:
   194            - upgrade
   195            - lint
   196            - install
   197            - test
   198            - uninstall
   199            - dependency
   200            - publish
   201        - name: appVersion
   202          type: string
   203          description: set the appVersion on the chart to this version
   204          scope:
   205            - GENERAL
   206            - PARAMETERS
   207            - STAGES
   208            - STEPS
   209        - name: dependency
   210          type: string
   211          description: "manage a chart's dependencies"
   212          scope:
   213            - PARAMETERS
   214            - STAGES
   215            - STEPS
   216          possibleValues:
   217            - build
   218            - list
   219            - update
   220        - name: packageDependencyUpdate
   221          type: bool
   222          description: update dependencies from "Chart.yaml" to dir "charts/" before packaging
   223          default: false
   224          scope:
   225            - GENERAL
   226            - PARAMETERS
   227            - STAGES
   228            - STEPS
   229        - name: dumpLogs
   230          type: bool
   231          description: dump the logs from test pods (this runs after all tests are complete, but before any cleanup)
   232          default: false
   233          scope:
   234            - GENERAL
   235            - PARAMETERS
   236            - STAGES
   237            - STEPS
   238        - name: filterTest
   239          type: string
   240          description: specify tests by attribute (currently `name`) using attribute=value syntax or `!attribute=value` to exclude a test (can specify multiple or separate values with commas `name=test1,name=test2`)
   241          scope:
   242            - GENERAL
   243            - PARAMETERS
   244            - STAGES
   245            - STEPS
   246        - name: customTlsCertificateLinks
   247          type: "[]string"
   248          description: "List of download links to custom TLS certificates. This is required to ensure trusted connections to instances with repositories (like nexus) when publish flag is set to true."
   249          scope:
   250            - GENERAL
   251            - PARAMETERS
   252            - STAGES
   253            - STEPS
   254        - name: publish
   255          type: bool
   256          description: Configures helm to run the deploy command to publish artifacts to a repository.
   257          default: false
   258          scope:
   259            - GENERAL
   260            - PARAMETERS
   261            - STAGES
   262            - STEPS
   263        - name: version
   264          type: string
   265          description: Defines the artifact version to use from helm package/publish commands.
   266          scope:
   267            - GENERAL
   268            - PARAMETERS
   269            - STAGES
   270            - STEPS
   271    containers:
   272      - image: dtzar/helm-kubectl:3.8.0
   273        workingDir: /config
   274        options:
   275          - name: -u
   276            value: "0"