Files
gitea/.gitea/actions/kubectl-setup/action.yaml
Márcio Fernandes 66f3a53144
All checks were successful
/ build-docker-image (push) Successful in 1m53s
,odified: .gitea/actions/kubectl-setup/action.yaml
2025-12-06 23:12:41 +00:00

54 lines
1.5 KiB
YAML

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" <<EOF
apiVersion: v1
kind: Config
clusters:
- cluster:
server: ${{ inputs.kube_server }}
certificate-authority-data: ${{ inputs.kube_ca_base64 }}
name: default
contexts:
- context:
cluster: default
user: default
name: default
current-context: default
users:
- name: default
user:
token: ${{ inputs.kube_token }}
EOF
echo "KUBECONFIG=${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