name: Setup kubectl description: "Reads kube config from inputs and sets KUBECONFIG" inputs: kube_server: description: "Kubernetes API server address" required: true kube_ca_base64: description: "Base64-encoded CA certificate" required: true kube_token: description: "ServiceAccount token" required: true runs: using: "composite" steps: - name: Create kubeconfig shell: bash run: | set -x mkdir -p "${GITHUB_TEMP}/.kube" cat < "${GITHUB_TEMP}/.kube/config" apiVersion: v1 kind: Config clusters: - cluster: certificate-authority-data: ${{ inputs.kube_ca_base64 }} server: ${{ inputs.kube_server }} name: cluster contexts: - context: cluster: cluster namespace: default user: user name: context current-context: context users: - name: user user: token: ${{ inputs.kube_token }} EOF echo "config created - ${GITHUB_TEMP}/.kube/config" ls -lah ${GITHUB_TEMP}/.kube/config echo "KUBECONFIG=${GITHUB_TEMP}/.kube/config" >> "${GITHUB_ENV}" # curl -vk \ # --cacert ca.crt \ # -H "Authorization: Bearer $KUBE_TOKEN" \ # https://:6443/version