diff --git a/images/koolbox/Dockerfile b/images/koolbox/Dockerfile
deleted file mode 100644
index 3027bdad2ab002f752adcbff6993041c1253b7be..0000000000000000000000000000000000000000
--- a/images/koolbox/Dockerfile
+++ /dev/null
@@ -1,190 +0,0 @@
-# kubectl CLI cache
-FROM quay.io/fedora/fedora:38 as kubectl
-
-# renovate: datasource=github-releases depName=kubernetes/kubernetes
-ARG KUBECTL_VERSION=v1.28.2
-ENV KUBECTL_VERSION=${KUBECTL_VERSION}
-
-RUN curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
-    && curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl-convert" \
-    && curl -LO "https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256" \
-    && curl -LO "https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/amd64/kubectl-convert.sha256" \
-    && echo "$(<kubectl.sha256) kubectl" | sha256sum --check \
-    && echo "$(<kubectl-convert.sha256) kubectl-convert" | sha256sum --check \
-    && install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
-    && install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
-
-# Release CLI cache
-FROM registry.gitlab.com/gitlab-org/release-cli:latest@sha256:5a71acbadc47c1971100f5246b09f88ba09e84ebe7769e425475dce85245a2bf as release-cli
-
-# Semantic Version Util - svu - https://github.com/caarlos0/svu
-FROM ghcr.io/caarlos0/svu:v1.11.0 as svu
-
-# git-chglog cache
-FROM quay.io/git-chglog/git-chglog:0.15.4 as git-chglog
-
-# Helm CLI cache
-FROM quay.io/fedora/fedora:38 as helm
-
-# renovate: datasource=github-releases depName=helm/helm
-ARG HELM_VERSION=v3.13.0
-ENV HELM_VERSION=${HELM_VERSION}
-
-RUN curl -L "https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz" | tar xvzf - linux-amd64/helm --strip-components=1 \
-    && install -o root -g root -m 0755 helm /usr/local/bin/helm
-
-# Flux CLI cache
-FROM quay.io/fedora/fedora:38 as flux
-
-# renovate: datasource=github-releases depName=fluxcd/flux2
-ARG FLUX_VERSION=v2.1.1
-ENV FLUX_VERSION=${FLUX_VERSION}
-
-RUN curl -L https://github.com/fluxcd/flux2/releases/download/${FLUX_VERSION}/flux_$(sed 's/^v//g' <<<${FLUX_VERSION})_linux_amd64.tar.gz | tar xvzf - flux \
-    && install -o root -g root -m 0755 flux /usr/local/bin/flux
-
-# kustomize CLI cache
-FROM quay.io/fedora/fedora:38 as kustomize
-
-# renovate: datasource=github-releases depName=kubernetes-sigs/kustomize
-ARG KUSTOMIZE_VERSION=4.1.3
-ENV KUSTOMIZE_VERSION=${KUSTOMIZE_VERSION}
-
-RUN curl -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz | tar xvzf - kustomize \
-    && install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
-
-# kubeval CLI cache
-FROM quay.io/fedora/fedora:38 as kubeval
-
-# renovate: datasource=github-releases depName=instrumenta/kubeval
-ARG KUBEVAL_VERSION=v0.16.1
-ENV KUBEVAL_VERSION=${KUBEVAL_VERSION}
-
-RUN curl -L https://github.com/instrumenta/kubeval/releases/download/${KUBEVAL_VERSION}/kubeval-linux-amd64.tar.gz | tar xvzf - kubeval \
-    && install -o root -g root -m 0755 kubeval /usr/local/bin/kubeval
-
-# SOPS CLI cache
-FROM quay.io/fedora/fedora:38 as sops
-
-# renovate: datasource=github-releases depName=mozilla/sops
-ARG SOPS_VERSION=v3.8.1
-ENV SOPS_VERSION=${SOPS_VERSION}
-
-RUN curl -L https://github.com/getsops/sops/releases/download/${SOPS_VERSION}/sops-${SOPS_VERSION}.linux > ./sops \
-    && install -o root -g root -m 0755 sops /usr/local/bin/sops
-
-# yq CLI cache
-FROM quay.io/fedora/fedora:38 as yq
-
-# renovate: datasource=github-releases depName=mikefarah/yq
-ARG YQ_VERSION=v4.35.1
-ENV YQ_VERSION=${YQ_VERSION}
-
-RUN curl -L https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 > ./yq \
-    && install -o root -g root -m 0755 yq /usr/local/bin/yq
-
-FROM quay.io/fedora/fedora:38 as helm-docs
-
-# renovate: datasource=github-releases depName=norwoodj/helm-docs
-ARG HELM_DOCS_VERSION=v1.11.0
-ENV HELM_DOCS_VERSION=${HELM_DOCS_VERSION}
-
-RUN curl -L https://github.com/norwoodj/helm-docs/releases/download/${HELM_DOCS_VERSION}/helm-docs_$(sed 's/^v//g' <<<${HELM_DOCS_VERSION})_Linux_x86_64.tar.gz | tar xvzf - helm-docs \
-    && install -o root -g root -m 0755 helm-docs /usr/local/bin/helm-docs
-
-# kubectl-krew CLI cache
-FROM quay.io/fedora/fedora:38 as kubectl-krew
-
-# renovate: datasource=github-releases depName=kubernetes-sigs/krew
-ARG KREW_VERSION=v0.4.4
-ENV KREW_VERSION=${KREW_VERSION}
-
-RUN set -x; mkdir -p /opt/krew; cd "/opt/krew" && \
-  OS="$(uname | tr '[:upper:]' '[:lower:]')" && \
-  ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" && \
-  KREW="krew-${OS}_${ARCH}" && \
-  curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/download/${KREW_VERSION}/${KREW}.tar.gz" && \
-  tar zxvf "${KREW}.tar.gz" && \
-  mv "${KREW}" /opt/krew/krew
-
-# kubectl-krew CLI cache
-FROM quay.io/fedora/fedora:38 as mdbook
-
-# renovate: datasource=github-releases depName=kubernetes-sigs/krew
-ARG MDBOOK_VERSION=v0.4.18
-ENV MDBOOK_VERSION=${MDBOOK_VERSION}
-
-RUN curl -L "https://github.com/rust-lang/mdBook/releases/download/${MDBOOK_VERSION}/mdbook-${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz" | tar xvzf - mdbook \
-    && install -o root -g root -m 0755 mdbook /usr/local/bin/mdbook
-
-# Terraform CLI
-FROM quay.io/shivering-isles/opentf:0.2.1 as opentf
-
-# Actual start of container build
-FROM quay.io/fedora/fedora:38
-
-ARG MAINTAINER="unmaintained"
-LABEL maintainer=$MAINTAINER
-
-RUN dnf install -y \
-      bash \
-      ca-certificates \
-      openssh-clients \
-      openssl \
-      gnupg \
-      ansible \
-      make \
-      rsync \
-      curl \
-      git \
-      jq \
-      httpd-tools \
-      python3 \
-      libvirt-client \
-      vim \
-      bash-completion \
-      butane \
-      iputils \
-      procps-ng \
-      findutils \
-    && dnf clean all
-
-# Make koolbox self-aware
-COPY koolbox.dummy /usr/local/bin/koolbox
-
-# External tools
-COPY --from=kubectl /usr/local/bin/kubectl /usr/local/bin/kubectl
-COPY --from=kubectl /usr/local/bin/kubectl-convert /usr/local/bin/kubectl-convert
-COPY --from=helm /usr/local/bin/helm /usr/local/bin/helm
-COPY --from=helm-docs /usr/local/bin/helm-docs /usr/local/bin/helm-docs
-COPY --from=flux /usr/local/bin/flux /usr/local/bin/flux
-COPY --from=kustomize /usr/local/bin/kustomize /usr/local/bin/kustomize
-COPY --from=kubeval /usr/local/bin/kubeval /usr/local/bin/kubeval
-COPY --from=sops /usr/local/bin/sops /usr/local/bin/sops
-COPY --from=yq /usr/local/bin/yq /usr/local/bin/yq
-COPY --from=kubectl-krew /opt/krew/krew /usr/local/bin/kubectl-krew
-COPY --from=mdbook /usr/local/bin/mdbook /usr/local/bin/mdbook
-COPY --from=release-cli /usr/local/bin/release-cli /usr/local/bin/release-cli
-COPY --from=git-chglog /usr/local/bin/git-chglog /usr/local/bin/git-chglog
-COPY --from=svu /usr/bin/svu /usr/local/bin/svu
-COPY --from=opentf /usr/local/bin/opentf /usr/local/bin/opentf
-
-RUN true \
-    && echo "command -v kubectl-krew >/dev/null && export PATH=\"${KREW_ROOT:-$HOME/.krew}/bin:$PATH\"" >> /root/.bashrc \
-    && echo "command -v flux >/dev/null && . <(flux completion bash)" >> /root/.bashrc \
-    && echo "command -v kustomize >/dev/null && . <(kustomize completion bash)" >> /root/.bashrc \
-    && echo "command -v kubectl >/dev/null && . <(kubectl completion bash)" >> /root/.bashrc \
-    && echo "command -v helm >/dev/null && . <(helm completion bash)" >> /root/.bashrc \
-    && echo "command -v mdbook >/dev/null && . <(mdbook completions bash)" >> /root/.bashrc \
-    && ln -s /usr/local/bin/opentf /usr/local/bin/terraform \
-    && true
-
-RUN true \
-   && /usr/local/bin/kubectl-krew install cyclonus \
-   && /usr/local/bin/kubectl-krew install outdated \
-   && /usr/local/bin/kubectl-krew install access-matrix \
-   && true
-
-# Create workspace
-RUN mkdir /workspace
-WORKDIR /workspace
diff --git a/images/koolbox/Earthfile b/images/koolbox/Earthfile
index c254a834397e41b98dff88e4483ea06f5320a38a..cb4855f5b73cc96e3c615940bf550085327cd323 100644
--- a/images/koolbox/Earthfile
+++ b/images/koolbox/Earthfile
@@ -1,15 +1,87 @@
 VERSION 0.7
 
+container-internal:
+    # Actual start of container build
+    FROM ../mirror+fedora
+
+    ARG MAINTAINER="unmaintained"
+    LABEL maintainer=$MAINTAINER
+
+    RUN dnf install -y \
+        bash \
+        ca-certificates \
+        openssh-clients \
+        openssl \
+        gnupg \
+        ansible \
+        make \
+        rsync \
+        curl \
+        git \
+        jq \
+        httpd-tools \
+        python3 \
+        libvirt-client \
+        vim \
+        bash-completion \
+        butane \
+        iputils \
+        procps-ng \
+        findutils \
+        && dnf clean all
+
+    # Make koolbox self-aware
+    COPY koolbox.dummy /usr/local/bin/koolbox
+
+    # External tools
+    COPY ../tools+kubectl/kubectl /usr/local/bin/kubectl
+    COPY ../tools+kubectl/kubectl-convert /usr/local/bin/kubectl-convert
+    COPY ../tools+helm/helm /usr/local/bin/helm
+    COPY ../tools+helm-docs/helm-docs /usr/local/bin/helm-docs
+    COPY ../tools+flux/flux /usr/local/bin/flux
+    COPY ../tools+kustomize/kustomize /usr/local/bin/kustomize
+    COPY ../tools+kubeval/kubeval /usr/local/bin/kubeval
+    COPY ../tools+sops/sops /usr/local/bin/sops
+    COPY ../tools+yq/yq /usr/local/bin/yq
+    COPY ../tools+kubectl-krew/krew /usr/local/bin/kubectl-krew
+    COPY ../tools+mdbook/mdbook /usr/local/bin/mdbook
+    COPY ../tools+release-cli/release-cli /usr/local/bin/release-cli
+    COPY ../tools+git-chglog/git-chglog /usr/local/bin/git-chglog
+    COPY ../tools+svu/svu /usr/local/bin/svu
+    COPY ../opentf+build/tofu /usr/local/bin/opentf
+
+    RUN true \
+        && echo "command -v kubectl-krew >/dev/null && export PATH=\"${KREW_ROOT:-$HOME/.krew}/bin:$PATH\"" >> /root/.bashrc \
+        && echo "command -v flux >/dev/null && . <(flux completion bash)" >> /root/.bashrc \
+        && echo "command -v kustomize >/dev/null && . <(kustomize completion bash)" >> /root/.bashrc \
+        && echo "command -v kubectl >/dev/null && . <(kubectl completion bash)" >> /root/.bashrc \
+        && echo "command -v helm >/dev/null && . <(helm completion bash)" >> /root/.bashrc \
+        && echo "command -v mdbook >/dev/null && . <(mdbook completions bash)" >> /root/.bashrc \
+        && ln -s /usr/local/bin/opentf /usr/local/bin/terraform \
+        && true
+
+    RUN true \
+    && /usr/local/bin/kubectl-krew install cyclonus \
+    && /usr/local/bin/kubectl-krew install outdated \
+    && /usr/local/bin/kubectl-krew install access-matrix \
+    && true
+
+    # Create workspace
+    RUN mkdir /workspace
+    WORKDIR /workspace
+
+
 container:
     FROM ../mirror+alpine
     ARG registry=quay.io/shivering-isles/koolbox
     COPY .release ./
     ARG tag=$(awk -F'=' '$1 == "release" {print $2}' .release)
     ARG latest=false
-    FROM DOCKERFILE --platform=linux/amd64 -f "./Dockerfile" "./"
     IF [ $latest = "true" ]
+        FROM +container-internal
         SAVE IMAGE --push ${registry}:latest
     ELSE
+        FROM +container-internal
         LABEL "quay.expires-after"="12w"
     END
     SAVE IMAGE --push ${registry}:${tag}
\ No newline at end of file
diff --git a/images/opentf/.release b/images/opentf/.release
index 15daeb6b1493316c2289f761e5071e4a07503a4f..30d338f3ef0e08bba45abda89a4073a413405604 100644
--- a/images/opentf/.release
+++ b/images/opentf/.release
@@ -1 +1 @@
-release=0.2.1
+release=1.6.0-alpha2
diff --git a/images/opentf/Earthfile b/images/opentf/Earthfile
index dc65fac0a37f6f3791173d34d714b85b79c9c6b3..2280bcaa17fa9da91bffd0172dd8a769c8cef052 100644
--- a/images/opentf/Earthfile
+++ b/images/opentf/Earthfile
@@ -3,7 +3,7 @@ VERSION 0.7
 build:
     FROM ../mirror+golang
     WORKDIR /go-workdir
-    GIT CLONE https://github.com/opentofu/opentofu.git ./
+    GIT CLONE --branch=v1.6.0-alpha2 https://github.com/opentofu/opentofu.git ./
     ENV CGO_ENABLED=0
     RUN go build -ldflags "-s -w" -mod=readonly -trimpath ./cmd/tofu
     SAVE ARTIFACT ./tofu ./tofu
diff --git a/images/tools/.skip-earthly b/images/tools/.skip-earthly
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/images/tools/Earthfile b/images/tools/Earthfile
new file mode 100644
index 0000000000000000000000000000000000000000..7c044557f0d25b0b5a5a7d2d9ba1fd954f7bb8f8
--- /dev/null
+++ b/images/tools/Earthfile
@@ -0,0 +1,147 @@
+VERSION 0.7
+
+kubectl:
+    # kubectl CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=kubernetes/kubernetes
+    ARG KUBECTL_VERSION=v1.28.2
+    ENV KUBECTL_VERSION=${KUBECTL_VERSION}
+
+    RUN curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl" \
+        && curl -LO "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl-convert" \
+        && curl -LO "https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/amd64/kubectl.sha256" \
+        && curl -LO "https://dl.k8s.io/${KUBECTL_VERSION}/bin/linux/amd64/kubectl-convert.sha256" \
+        && echo "$(<kubectl.sha256) kubectl" | sha256sum --check \
+        && echo "$(<kubectl-convert.sha256) kubectl-convert" | sha256sum --check \
+        && install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl \
+        && install -o root -g root -m 0755 kubectl-convert /usr/local/bin/kubectl-convert
+    SAVE ARTIFACT /usr/local/bin/kubectl ./kubectl
+    SAVE ARTIFACT /usr/local/bin/kubectl-convert ./kubectl-convert
+
+release-cli:
+    FROM registry.gitlab.com/gitlab-org/release-cli:latest@sha256:5a71acbadc47c1971100f5246b09f88ba09e84ebe7769e425475dce85245a2bf
+    SAVE ARTIFACT /usr/local/bin/release-cli ./release-cli
+
+svu:
+    # Semantic Version Util - svu - https://github.com/caarlos0/svu
+    FROM ghcr.io/caarlos0/svu:v1.11.0
+    SAVE ARTIFACT /usr/bin/svu ./svu
+
+git-chglog:
+    # git-chglog cache
+    FROM quay.io/git-chglog/git-chglog:0.15.4
+    SAVE ARTIFACT /usr/local/bin/git-chglog ./git-chglog
+
+helm:
+    # Helm CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=helm/helm
+    ARG HELM_VERSION=v3.13.0
+    ENV HELM_VERSION=${HELM_VERSION}
+
+    RUN curl -L "https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz" | tar xvzf - linux-amd64/helm --strip-components=1 \
+        && install -o root -g root -m 0755 helm /usr/local/bin/helm
+    SAVE ARTIFACT /usr/local/bin/helm ./helm
+
+flux:
+    # Flux CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=fluxcd/flux2
+    ARG FLUX_VERSION=v2.1.1
+    ENV FLUX_VERSION=${FLUX_VERSION}
+
+    RUN curl -L https://github.com/fluxcd/flux2/releases/download/${FLUX_VERSION}/flux_$(sed 's/^v//g' <<<${FLUX_VERSION})_linux_amd64.tar.gz | tar xvzf - flux \
+        && install -o root -g root -m 0755 flux /usr/local/bin/flux
+    SAVE ARTIFACT /usr/local/bin/flux ./flux
+
+kustomize:
+    # kustomize CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=kubernetes-sigs/kustomize
+    ARG KUSTOMIZE_VERSION=4.1.3
+    ENV KUSTOMIZE_VERSION=${KUSTOMIZE_VERSION}
+
+    RUN curl -L https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_amd64.tar.gz | tar xvzf - kustomize \
+        && install -o root -g root -m 0755 kustomize /usr/local/bin/kustomize
+    SAVE ARTIFACT /usr/local/bin/kustomize ./kustomize
+
+kubeval:
+    # kubeval CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=instrumenta/kubeval
+    ARG KUBEVAL_VERSION=v0.16.1
+    ENV KUBEVAL_VERSION=${KUBEVAL_VERSION}
+
+    RUN curl -L https://github.com/instrumenta/kubeval/releases/download/${KUBEVAL_VERSION}/kubeval-linux-amd64.tar.gz | tar xvzf - kubeval \
+        && install -o root -g root -m 0755 kubeval /usr/local/bin/kubeval
+    SAVE ARTIFACT /usr/local/bin/kubeval ./kubeval
+
+sops:
+    # SOPS CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=mozilla/sops
+    ARG SOPS_VERSION=v3.8.1
+    ENV SOPS_VERSION=${SOPS_VERSION}
+
+    RUN curl -L https://github.com/getsops/sops/releases/download/${SOPS_VERSION}/sops-${SOPS_VERSION}.linux > ./sops \
+        && install -o root -g root -m 0755 sops /usr/local/bin/sops
+    SAVE ARTIFACT /usr/local/bin/sops ./sops
+
+yq:
+    # yq CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=mikefarah/yq
+    ARG YQ_VERSION=v4.35.1
+    ENV YQ_VERSION=${YQ_VERSION}
+
+    RUN curl -L https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64 > ./yq \
+        && install -o root -g root -m 0755 yq /usr/local/bin/yq
+    SAVE ARTIFACT /usr/local/bin/yq ./yq
+
+helm-docs:
+    # helm CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=norwoodj/helm-docs
+    ARG HELM_DOCS_VERSION=v1.11.0
+    ENV HELM_DOCS_VERSION=${HELM_DOCS_VERSION}
+
+    RUN curl -L https://github.com/norwoodj/helm-docs/releases/download/${HELM_DOCS_VERSION}/helm-docs_$(sed 's/^v//g' <<<${HELM_DOCS_VERSION})_Linux_x86_64.tar.gz | tar xvzf - helm-docs \
+        && install -o root -g root -m 0755 helm-docs /usr/local/bin/helm-docs
+    SAVE ARTIFACT /usr/local/bin/helm-docs ./helm-docs
+
+kubectl-krew:
+    # kubectl-krew CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=kubernetes-sigs/krew
+    ARG KREW_VERSION=v0.4.4
+    ENV KREW_VERSION=${KREW_VERSION}
+
+    RUN set -x; mkdir -p /opt/krew; cd "/opt/krew" && \
+    OS="$(uname | tr '[:upper:]' '[:lower:]')" && \
+    ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" && \
+    KREW="krew-${OS}_${ARCH}" && \
+    curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/download/${KREW_VERSION}/${KREW}.tar.gz" && \
+    tar zxvf "${KREW}.tar.gz" && \
+    mv "${KREW}" /opt/krew/krew
+    SAVE ARTIFACT /opt/krew/krew ./krew
+
+mdbook:
+    # mdbook CLI cache
+    FROM ../mirror+fedora
+
+    # renovate: datasource=github-releases depName=kubernetes-sigs/krew
+    ARG MDBOOK_VERSION=v0.4.18
+    ENV MDBOOK_VERSION=${MDBOOK_VERSION}
+
+    RUN curl -L "https://github.com/rust-lang/mdBook/releases/download/${MDBOOK_VERSION}/mdbook-${MDBOOK_VERSION}-x86_64-unknown-linux-gnu.tar.gz" | tar xvzf - mdbook \
+        && install -o root -g root -m 0755 mdbook /usr/local/bin/mdbook
+    SAVE ARTIFACT /usr/local/bin/mdbook ./mdbook
\ No newline at end of file