Update .gitea/workflows/build.yaml
This commit is contained in:
@@ -140,10 +140,49 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p "${HOME}/.kube"
|
mkdir -p "${HOME}/.kube"
|
||||||
printf '%s' "${KUBE_CONFIG_DATA}" | base64 --decode > "${HOME}/.kube/config"
|
|
||||||
|
# Normaliza saltos de línea, CRLF, espacios o tabulaciones que
|
||||||
|
# hayan podido introducirse al copiar el secret en la interfaz.
|
||||||
|
KUBE_CONFIG_B64="$(
|
||||||
|
printf '%s' "${KUBE_CONFIG_DATA}" \
|
||||||
|
| tr -d '\r\n\t '
|
||||||
|
)"
|
||||||
|
|
||||||
|
if [ -z "${KUBE_CONFIG_B64}" ]; then
|
||||||
|
echo "ERROR: KUBE_CONFIG_DATA quedó vacío después de normalizarlo."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! printf '%s' "${KUBE_CONFIG_B64}" \
|
||||||
|
| grep -Eq '^[A-Za-z0-9+/]*={0,2}$'; then
|
||||||
|
echo "ERROR: KUBE_CONFIG_DATA contiene caracteres que no pertenecen a Base64."
|
||||||
|
echo "Vuelve a generar el secret codificando el archivo kubeconfig completo."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $(( ${#KUBE_CONFIG_B64} % 4 )) -ne 0 ]; then
|
||||||
|
echo "ERROR: la longitud de KUBE_CONFIG_DATA no es válida para Base64."
|
||||||
|
echo "Probablemente el valor fue copiado de forma incompleta."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! printf '%s' "${KUBE_CONFIG_B64}" \
|
||||||
|
| base64 --decode > "${HOME}/.kube/config"; then
|
||||||
|
echo "ERROR: no fue posible decodificar KUBE_CONFIG_DATA."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
chmod 600 "${HOME}/.kube/config"
|
chmod 600 "${HOME}/.kube/config"
|
||||||
export KUBECONFIG="${HOME}/.kube/config"
|
export KUBECONFIG="${HOME}/.kube/config"
|
||||||
|
|
||||||
|
if ! grep -q '^apiVersion:' "${KUBECONFIG}" \
|
||||||
|
|| ! grep -q '^clusters:' "${KUBECONFIG}" \
|
||||||
|
|| ! grep -q '^contexts:' "${KUBECONFIG}"; then
|
||||||
|
echo "ERROR: el contenido decodificado no parece ser un kubeconfig válido."
|
||||||
|
echo "No pegues el YAML sin codificar ni una cadena ya recortada."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Instala kubectl únicamente si el runner no lo incluye.
|
# Instala kubectl únicamente si el runner no lo incluye.
|
||||||
if ! command -v kubectl >/dev/null 2>&1; then
|
if ! command -v kubectl >/dev/null 2>&1; then
|
||||||
case "$(uname -m)" in
|
case "$(uname -m)" in
|
||||||
|
|||||||
Reference in New Issue
Block a user