name: Install operator-sdk
description: |
  Installs the operator-sdk binary.
inputs:
  version:
    description: "Version of the operator-sdk to install"
    required: true
runs:
  using: 'composite'
  steps:

  - name: Install curl gpg
    shell: bash
    run: |
      sudo apt update
      sudo apt install curl gpg -y

  - name: Install operator-sdk
    shell: bash
    run: |
      export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac)
      export OS=$(uname | awk '{print tolower($0)}')
      export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/${{ inputs.version }}
      curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH}
      gpg --keyserver keyserver.ubuntu.com --recv-keys 052996E2A20B5C7E
      curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt
      curl -LO ${OPERATOR_SDK_DL_URL}/checksums.txt.asc
      gpg -u "Operator SDK (release) <cncf-operator-sdk@cncf.io>" --verify checksums.txt.asc
      grep operator-sdk_${OS}_${ARCH} checksums.txt | sha256sum -c -
      chmod +x operator-sdk_${OS}_${ARCH} && sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk
      rm checksums.txt checksums.txt.asc
