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"