@apigeeks/fbl-k8s-plugin
Version:
fbl wrapper plugin for helm and kubectl cli utilities
96 lines (65 loc) • 1.85 kB
Markdown
# Helm wrapper
Allows to use common helm commands inside fbl flow.
## Action Handler: Update or Install Helm Chart
**ID:** a6s.k8s.helm.upgradeOrInstall
**Aliases:**
- k8s.helm.upgradeOrInstall
- helm.upgradeOrInstall
- helm.install
**Example:**
```yaml
helm.install:
# [required] chart name or relative path
chart: stable/jenkins
# [optional] release name (if not provided - helm will give a random one, it is highly recommended to provide own one)
name: jenkins
# [optional] k8s namespace to use
namespace: default
# [optional] chart version
version: 1.0.0
# [optional] chart variables
variables:
# [optional] define values inline
inline:
port: 8000
# [optional] and/or via files.
# Note: inline variables will be applied after files, so they may override values in files
files:
- /path/to/vars.yml
# [optional] whether to wait for helm chart to be installed
wait: true
# [optional] timeout in seconds - min 0, max 3600 (1 hour)
timeout: 300
```
## Action Handler: Helm Delete
Delete helm release. Note '--purge' command line option is used under the hood.
**ID:** a6s.k8s.helm.delete
**Aliases:**
- k8s.helm.delete
- helm.delete
**Example:**
```yaml
helm.delete:
# release name
name: release-name
```
## Action Handler: Helm Describe
Describe helm release. Allows to find helm release information and all k8s objects associated with it.
**ID:** a6s.k8s.helm.describe
**Aliases:**
- k8s.helm.describe
- helm.describe
**Example:**
```yaml
helm.describe:
# [required] helm chart release name
name: ftpo
# [optional] define paths to store release information
chart:
assignTo: '$.ctx.chart'
pushTo: '$.ctx.chart'
# [optional] define paths to store helm k8s objects
objects:
assignTo: '$.ctx.chart'
pushTo: '$.ctx.chart'
```