modified: .gitea/actions/kubectl-setup/action.yaml
All checks were successful
/ build-docker-image (push) Successful in 13s

This commit is contained in:
2025-12-06 22:49:09 +00:00
parent f5d2ec5ef0
commit 473dd101dd

View File

@@ -3,13 +3,13 @@ description: "Reads kube config from inputs and sets kube config"
inputs: inputs:
kube_server: kube_server:
description: "Kubernetes server address and port. Example (https://serverip:6443)" description: "Kubernetes server address"
required: true required: true
kube_ca_base64: kube_ca_base64:
description: "Base64-encoded Kubernetes cluster CA certificate" description: "Base64 encoded CA cert"
required: true required: true
kube_token: kube_token:
description: "Kubernetes ServiceAccount token" description: "Kubernetes token"
required: true required: true
runs: runs:
@@ -18,61 +18,28 @@ runs:
- name: Create kubeconfig - name: Create kubeconfig
shell: bash shell: bash
run: | run: |
set -euo pipefail using: "composite"
steps:
# check arguments - name: Write kubeconfig
ERROR=0 shell: bash
run: |
if [ -z "${{ inputs.kube_server }}" ]; then mkdir -p ~/.kube
echo "❌ ERROR: kube_server input is empty or not set" cat > ~/.kube/config <<EOF
$ERROR=1 apiVersion: v1
fi kind: Config
clusters:
if [ -z "${{ inputs.kube_ca_base64 }}" ]; then - cluster:
echo "❌ ERROR: kube_ca_base64 input is empty or not set" server: ${{ inputs.kube_server }}
$ERROR=1 certificate-authority-data: ${{ inputs.kube_ca_base64 }}
fi name: default
contexts:
if [ -z "${{ inputs.kube_server }}" ]; then - context:
echo "❌ ERROR: kube_token input is empty or not set" cluster: default
$ERROR=1 user: default
fi name: default
current-context: default
if [ "$ERROR" != 0 ]; then users:
exit "$ERROR" - name: default
fi user:
# end check arguments token: ${{ inputs.kube_token }}
EOF
# creates kube config
mkdir -p "${GITHUB_TEMP}/.kube"
cat <<EOF > "${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