# groundx deploying service

> helm
* Setup k8s and helm and deploy helm chart
* Parameters
  + kube-version: kubectl version. default is `v1.20.0`
  + helm-version: helm client version. default is `v3.7.2`
  + gx-helm-s3-repo: groundx helm chart repo name(s3). default is `gx-helm-chart-stable`
  + **chart**: chart path. default is `fixtures/helm-chart/chart`
  + **release-name**: helm release name. default is `gx-project`
  + **namespace**: release namespace. default is `default`
  + timeout: set deploying timeout. default is `15m`
  + **chart-values**: comma seperated values file path. default is `values.yaml`
  + **values-to-override**: comma seperated values to set. default is ""
  + **cluster**: target cluster name for kube-config
  + **path**: chart path.( helm depenency update ) default is `${{ github.workspace }}/fixtures/helm-chart/chart`
* usage (deploy)
```yaml
...
- name: deploy helm chart
  uses: "PATH/TO/GX_ACTIONS/common/deploy/helm/deploy"
  with:
    chart: 'fixtures/helm-chart/chart'
    release-name: 'gx-sample-api'
    namespace: 'gx-sample-ns'
    timeout: '15m'
    chart-values: 'values.yaml,fixtures/helm-chart/values/values.yaml'
    values-to-override: 'image.tag=abced,key=val'
    cluster: service-dev
    path: ${{ github.workspace }}/fixtures/helm-chart/chart
```
```
deploy module은 kubectl, helm, dep update, deploy까지 한번에 할 수 있는 모듈입니다.
```

* usage(setup)
```yaml
...
- name: deploy helm chart setup
  uses: "PATH/TO/GX_ACTIONS/common/deploy/helm/setup"
  with:
    cluster: service-dev
    path: ${{ github.workspace }}/fixtures/helm-chart/chart
- name: deploy helm chart
  run: |
    helm upgrade --install [chart] --reuse-values ...
```
```
setup module은 kubectl, helm, dep update를 한 이후에 deploy module(helm upgrade --install)에서 사용하는 옵션과 다른 옵션을 사용할 떄
사용하는 모듈입니다. 
EX) helm upgrade --install --reuse-values 
```
