Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/getporter/helm-mixin
Helm mixin for Porter
https://github.com/getporter/helm-mixin
helm mixin porter
Last synced: 4 months ago
JSON representation
Helm mixin for Porter
- Host: GitHub
- URL: https://github.com/getporter/helm-mixin
- Owner: getporter
- License: apache-2.0
- Archived: true
- Created: 2018-12-07T22:45:06.000Z (almost 6 years ago)
- Default Branch: main
- Last Pushed: 2021-07-01T22:08:19.000Z (over 3 years ago)
- Last Synced: 2024-04-17T19:41:22.836Z (7 months ago)
- Topics: helm, mixin, porter
- Language: Go
- Homepage: https://porter.sh/mixins/helm
- Size: 5.54 MB
- Stars: 13
- Watchers: 6
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-cnab - helm-mixin - Helm 2 Mixin for Porter by @get_porter (Implementations / Porter)
README
# Helm v2 Mixin for Porter
[![Build Status](https://dev.azure.com/getporter/porter/_apis/build/status/helm2-mixin?branchName=main)](https://dev.azure.com/getporter/porter/_build/latest?definitionId=11&branchName=main)
This is a Helm v2 mixin for [Porter](https://github.com/getporter/porter). It
executes the appropriate helm command based on which action it is included
within: `install`, `upgrade`, or `delete`.🚨 [Helm v2 is deprecated](https://helm.sh/blog/helm-2-becomes-unsupported/) so
you should move to Helm v3 as soon as possible. After you [migrate to Helm
3](https://helm.sh/docs/topics/v2_v3_migration/), use the [Helm 3
mixin](https://github.com/MChorfa/porter-helm3). 🚀### Install or Upgrade
```shell
porter mixin install helm2
```### Mixin Configuration
Helm client version
```yaml
- helm2:
clientVersion: v2.17.0
```Add repositories
```yaml
- helm2:
repositories:
stable:
url: "https://charts.helm.sh/stable
```### Mixin Syntax
Install
```yaml
install:
- helm2:
description: "Description of the command"
name: RELEASE_NAME
chart: STABLE_CHART_NAME
version: CHART_VERSION
namespace: NAMESPACE
replace: BOOL
devel: BOOL
wait: BOOL # default true
set:
VAR1: VALUE1
VAR2: VALUE2
```Upgrade
```yaml
install:
- helm2:
description: "Description of the command"
name: RELEASE_NAME
chart: STABLE_CHART_NAME
version: CHART_VERSION
namespace: NAMESPACE
resetValues: BOOL
reuseValues: BOOL
wait: BOOL # default true
set:
VAR1: VALUE1
VAR2: VALUE2
```Uninstall
```yaml
uninstall:
- helm2:
description: "Description of command"
purge: BOOL
releases:
- RELEASE_NAME1
- RELASE_NAME2
```#### Outputs
The mixin supports saving secrets from Kuberentes as outputs.
```yaml
outputs:
- name: NAME
secret: SECRET_NAME
key: SECRET_KEY
```The mixin also supports extracting resource metadata from Kubernetes as outputs.
```yaml
outputs:
- name: NAME
resourceType: RESOURCE_TYPE
resourceName: RESOURCE_TYPE_NAME
namespace: NAMESPACE
jsonPath: JSON_PATH_DEFINITION
```### Examples
Install
```yaml
install:
- helm2:
description: "Install MySQL"
name: mydb
chart: stable/mysql
version: 0.10.2
namespace: mydb
replace: true
set:
mysqlDatabase: wordpress
mysqlUser: wordpress
outputs:
- name: mysql-root-password
secret: mydb-mysql
key: mysql-root-password
- name: mysql-password
secret: mydb-mysql
key: mysql-password
- name: mysql-cluster-ip
resourceType: service
resourceName: porter-ci-mysql-service
namespace: "default"
jsonPath: "{.spec.clusterIP}"
```Upgrade
```yaml
upgrade:
- helm2:
description: "Upgrade MySQL"
name: porter-ci-mysql
chart: stable/mysql
version: 0.10.2
wait: true
resetValues: true
reuseValues: false
set:
mysqlDatabase: mydb
mysqlUser: myuser
livenessProbe.initialDelaySeconds: 30
persistence.enabled: true
```Uninstall
```yaml
uninstall:
- helm2:
description: "Uninstall MySQL"
purge: true
releases:
- mydb
```