diff --git a/act-runners/fatboy/Dockerfile b/act-runners/fatboy/Dockerfile index f2e1b95..e8727cd 100644 --- a/act-runners/fatboy/Dockerfile +++ b/act-runners/fatboy/Dockerfile @@ -1,60 +1,64 @@ -FROM gitea/act_runner:0.3.0 +FROM ubuntu:22.04 -RUN echo "build started.." && \ -apk add --no-cache openssh-client curl ansible nodejs rclone rsync nodejs envsubst bash tar jq +ENV DEBIAN_FRONTEND=noninteractive -RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -RUN chmod +x ./kubectl -RUN mv ./kubectl /usr/local/bin +# --------------------------------------------------------- +# Base dependencies +# --------------------------------------------------------- +RUN apt-get update && apt-get install -y \ + curl \ + wget \ + jq \ + bash \ + tar \ + rsync \ + rclone \ + ansible \ + openssh-client \ + iptables \ + uidmap \ + slirp4netns \ + fuse-overlayfs \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* +# --------------------------------------------------------- +# Install ACT Runner +# --------------------------------------------------------- +RUN curl -L https://dl.gitea.com/act_runner/0.6.0/act_runner-0.6.0-linux-amd64 \ + -o /usr/local/bin/act_runner && \ + chmod +x /usr/local/bin/act_runner -RUN curl -fsSL https://get.helm.sh/helm-v3.14.4-linux-amd64.tar.gz \ - -o helm.tar.gz && \ - tar -zxvf helm.tar.gz && \ - mv linux-amd64/helm /usr/local/bin/helm && \ - rm -rf linux-amd64 helm.tar.gz - +# --------------------------------------------------------- +# Install kubectl +# --------------------------------------------------------- +RUN curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" && \ + chmod +x kubectl && mv kubectl /usr/local/bin/ +# --------------------------------------------------------- +# Install Helm +# --------------------------------------------------------- RUN HELM_VERSION=$(curl -s https://api.github.com/repos/helm/helm/releases/latest | jq -r .tag_name) && \ curl -fsSL https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz -o helm.tar.gz && \ tar -zxvf helm.tar.gz && \ mv linux-amd64/helm /usr/local/bin/helm && \ rm -rf linux-amd64 helm.tar.gz - -RUN echo "build started.." && \ -apk add --no-cache openssh-client curl ansible nodejs rclone rsync nodejs envsubst bash tar jq - -RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -RUN chmod +x ./kubectl -RUN mv ./kubectl /usr/local/bin - - -RUN curl -fsSL https://get.helm.sh/helm-v3.14.4-linux-amd64.tar.gz \ - -o helm.tar.gz && \ - tar -zxvf helm.tar.gz && \ - mv linux-amd64/helm /usr/local/bin/helm && \ - rm -rf linux-amd64 helm.tar.gz - - -RUN HELM_VERSION=$(curl -s https://api.github.com/repos/helm/helm/releases/latest | jq -r .tag_name) && \ - curl -fsSL https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz -o helm.tar.gz && \ - tar -zxvf helm.tar.gz && \ - mv linux-amd64/helm /usr/local/bin/helm && \ - rm -rf linux-amd64 helm.tar.gz - - -# BUILDKIT +# --------------------------------------------------------- +# Install BuildKit (buildkitd + buildctl) +# --------------------------------------------------------- ENV BUILDKIT_VERSION=v0.28.0 -# Install full BuildKit (buildkitd + buildctl + rootlesskit) RUN curl -L "https://github.com/moby/buildkit/releases/download/${BUILDKIT_VERSION}/buildkit-${BUILDKIT_VERSION}.linux-amd64.tar.gz" \ | tar -xz -C /usr/local/bin --strip-components=1 -# Rootless dependencies for Alpine -RUN apk add --no-cache \ - fuse-overlayfs \ - slirp4netns \ - shadow +# --------------------------------------------------------- +# Install rootlesskit (required for BuildKit rootless) +# --------------------------------------------------------- +RUN curl -L https://github.com/rootless-containers/rootlesskit/releases/download/v1.1.1/rootlesskit-x86_64.tar.gz \ + | tar -xz -C /usr/local/bin -################### \ No newline at end of file +# --------------------------------------------------------- +# Default entrypoint +# --------------------------------------------------------- +ENTRYPOINT ["/usr/local/bin/act_runner"]