diff --git a/.gitea/actions/kubectl-setup/action.yaml b/.gitea/actions/kubectl-setup/action.yaml index 5a878fe..a270de6 100644 --- a/.gitea/actions/kubectl-setup/action.yaml +++ b/.gitea/actions/kubectl-setup/action.yaml @@ -3,13 +3,13 @@ description: "Reads kube config from inputs and sets kube config" inputs: kube_server: - description: "Kubernetes server address and port. Example (https://serverip:6443)" + description: "Kubernetes server address" required: true kube_ca_base64: - description: "Base64-encoded Kubernetes cluster CA certificate" + description: "Base64 encoded CA cert" required: true kube_token: - description: "Kubernetes ServiceAccount token" + description: "Kubernetes token" required: true runs: @@ -18,61 +18,28 @@ runs: - name: Create kubeconfig shell: bash run: | - set -euo pipefail - - # check arguments - ERROR=0 - - if [ -z "${{ inputs.kube_server }}" ]; then - echo "❌ ERROR: kube_server input is empty or not set" - $ERROR=1 - fi - - if [ -z "${{ inputs.kube_ca_base64 }}" ]; then - echo "❌ ERROR: kube_ca_base64 input is empty or not set" - $ERROR=1 - fi - - if [ -z "${{ inputs.kube_server }}" ]; then - echo "❌ ERROR: kube_token input is empty or not set" - $ERROR=1 - fi - - if [ "$ERROR" != 0 ]; then - exit "$ERROR" - fi - # end check arguments - - # creates kube config - 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 - - # sets KUBECONFIG environment variable - echo "KUBECONFIG=${GITHUB_TEMP}/.kube/config" >> "${GITHUB_ENV}" - - # tests communication to server (add v argument if debug is required) - # -k - allow insecure cert - # -s - silent - # -S - output errors - # -v - verbose - # curl -ksS -cacert <(echo "${{ inputs.kube_ca_base64 }}" | base64 -d) -H "Authorization: Bearer ${{ inputs.kube_token }}" ${{ inputs.kube_server }}/version - + using: "composite" + steps: + - name: Write kubeconfig + shell: bash + run: | + mkdir -p ~/.kube + cat > ~/.kube/config <