name: Setup kubectl description: "Reads kube config from inputs and sets kube config" inputs: kube_server: description: "Kubernetes server address" required: true kube_ca_base64: description: "Base64 encoded CA cert" required: true kube_token: description: "Kubernetes token" required: true test_connection: description: "If 'true', a curl is executed to test connection" required: false default: "false" runs: using: "composite" steps: - name: Create kubeconfig shell: bash run: | mkdir -p "${GITHUB_TEMP}/.kube" cat > "${GITHUB_TEMP}/.kube/config" <> "${GITHUB_ENV}" - name: Test connection if: ${{ inputs.test_connection == 'true' }} shell: bash run: | echo "Testing connection to cluster..." curl -ksS \ --cacert <(echo "${{ inputs.kube_ca_base64 }}" | base64 -d) \ -H "Authorization: Bearer ${{ inputs.kube_token }}" \ ${{ inputs.kube_server }}/version