diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..956f96f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM debian:12-slim as kubectl +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + curl \ + && rm -rf /var/lib/apt/lists/* +RUN V="$(curl -sSL https://dl.k8s.io/release/stable.txt)" \ + && curl -Lo /kubectl "https://dl.k8s.io/release/$V/bin/linux/amd64/kubectl" + +FROM debian:12-slim +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* +COPY --from=kubectl --chmod=0755 /kubectl /usr/local/bin/ +COPY k8sdeploy.sh /usr/local/bin/ +RUN useradd -m app +USER app +ENTRYPOINT ["k8sdeploy.sh"] diff --git a/README.md b/README.md index 721e56c..4c20a30 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -# k8sdeploy@v2 +# k8sdeploy@v1 diff --git a/action.yaml b/action.yaml index 38a588a..0fe3cdb 100644 --- a/action.yaml +++ b/action.yaml @@ -4,15 +4,12 @@ inputs: required: true registry_username: description: Registry username - default: ${{ forgejo.repository_owner }} + default: ${{ gitea.repository_owner }} registry_password: description: Registry password - workdir: - description: Working directory where to the action from - default: . runs: using: composite steps: - name: k8sdeploy - run: ${{ forgejo.action_path }}/entrypoint.sh + run: ${{ gitea.action_path }}/k8sdeploy.sh diff --git a/entrypoint.sh b/k8sdeploy.sh similarity index 62% rename from entrypoint.sh rename to k8sdeploy.sh index d60e163..fc27005 100755 --- a/entrypoint.sh +++ b/k8sdeploy.sh @@ -1,21 +1,17 @@ #!/bin/bash -e - -cd "$INPUT_WORKDIR" +# shellcheck disable=SC1091 set -a -# shellcheck disable=SC1091 . ./.env set +a -export K8S_NS; -K8S_NS="$(printf '%s' "${GITHUB_REPOSITORY//\//-}-$GITHUB_REF_NAME" \ - | tr '[:upper:]' '[:lower:]' | tr -c '[:lower:][:digit:]-' - \ - | sed 's/-\+/-/g; s/^-\+//; s/-$//')" +REGISTRY="${IMAGEAPP%%/*}" +NS="${GITHUB_REPOSITORY#*/}-${GITHUB_REF_NAME}" mkdir -p "$HOME/.kube/" echo "$INPUT_KUBECONFIG" > "$HOME/.kube/config" -kubectl get namespace "$K8S_NS" || kubectl create namespace "$K8S_NS" -kubectl config set-context --current --namespace="$K8S_NS" +kubectl get namespace "$NS" || kubectl create namespace "$NS" +kubectl config set-context --current --namespace="$NS" if [ -n "$INPUT_REGISTRY_PASSWORD" ]; then kubectl get secret regcred \