diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..ba0f824 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +.gitattributes text eol=lf +*.yaml text eol=lf +*.yml text eol=lf +*.md text eol=lf diff --git a/.gitea/workflows/trigger-renovate.yaml b/.gitea/workflows/trigger-renovate.yaml new file mode 100644 index 0000000..339d9e6 --- /dev/null +++ b/.gitea/workflows/trigger-renovate.yaml @@ -0,0 +1,42 @@ +name: Trigger Renovate + +on: + workflow_dispatch: {} + +jobs: + trigger-renovate: + name: Trigger Renovate + runs-on: runner-slim-amd64 + env: + KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }} + steps: + - name: Create a one-off Renovate job + shell: bash + run: | + set -eu + + if [ -z "${KUBE_CONFIG}" ]; then + echo "KUBE_CONFIG is not set or is empty." + exit 1 + fi + + WORK_DIR="${RUNNER_TEMP:-/tmp}/renovate-${GITHUB_RUN_ID:-$$}" + mkdir -p "${WORK_DIR}" + trap 'rm -rf "${WORK_DIR}"' EXIT + + apk add --no-cache curl + KUBECTL_VERSION="$(curl -fsSL https://dl.k8s.io/release/stable.txt)" + curl -fsSLo "${WORK_DIR}/kubectl" "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" + chmod 0755 "${WORK_DIR}/kubectl" + + KUBECONFIG="${WORK_DIR}/kubeconfig" + umask 077 + printf '%s' "${KUBE_CONFIG}" | tr -d '\r' > "${KUBECONFIG}" + + RUN_ID="$(printf '%s' "${GITHUB_RUN_ID:-$(date -u +%Y%m%d%H%M%S)}" | tr -cd 'a-z0-9')" + JOB_NAME="renovate-manual-${RUN_ID}" + + "${WORK_DIR}/kubectl" --kubeconfig "${KUBECONFIG}" version --client + "${WORK_DIR}/kubectl" --kubeconfig "${KUBECONFIG}" --namespace cronjobs get cronjob renovate + "${WORK_DIR}/kubectl" --kubeconfig "${KUBECONFIG}" --namespace cronjobs create job "${JOB_NAME}" --from=cronjob/renovate + "${WORK_DIR}/kubectl" --kubeconfig "${KUBECONFIG}" --namespace cronjobs get job "${JOB_NAME}" -o wide