name: Prepare kubectl tools and update helm chart to k8s
author: Jeff Kim
description: 'Prepare and update helm chart to k8s'
inputs:
  kube-version:
    description: 'kube version'
    required: false
    default: 'v1.28.0'
  helm-version:
    description: 'helm client version'
    required: false
    default: 'v3.7.2'
  plugin-version:
    description: 'helm plugin version'
    required: false
    default: '0.13.0'
  cluster:
    description: 'target k8s cluster name'
    required: true
    default: 'service-dev-1-28'
  gx-helm-s3-repo:
    description: 'groundx common helm chart repo name - gx-helm-chart-stable'
    required: false
    default: 'gx-helm-chart-stable'
  chart:
    description: 'project helm chart path'
    required: true
    default: 'fixtures/helm-chart/chart'
  release-name:
    description: 'project release name'
    required: true
    default: 'gx-project'
  namespace:
    description: 'project release namespace'
    required: true
    default: 'default'
  timeout:
    description: 'project release timeout'
    required: false
    default: '15m'
  chart-values:
    description: 'comma seperated chart values path'
    required: true
    default: 'values.yaml'
  values-to-override:
    description: 'comma seperated values to override'
    required: false
    default: ''
  path:
    description: 'Enter path helm chart dependency update'
    required: false
    default: '${{ github.workspace }}/fixtures/helm-chart/chart'
runs:
  using: "composite"
  steps:
    - uses: azure/setup-kubectl@v3
      with:
        version: ${{ inputs.kube-version }}
      id: setup-kube
    - uses: azure/setup-helm@v4.2.0
      with:
        version: ${{ inputs.helm-version }}
      id: setup-helm
    - name: get k8s  kube-config
      shell: bash
      run: |
        aws eks update-kubeconfig --name ${{ inputs.cluster }}
    - name: helm client init
      shell: bash
      run: |
        helm plugin install https://github.com/hypnoglow/helm-s3.git --version ${{ inputs.plugin-version }}
        helm repo add gx-helm-chart-stable s3://${{ inputs.gx-helm-s3-repo }}/charts
        helm repo update
