From 3b8f043d5b25c77d8b215300e5b0da7fdad67b47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 11:44:22 +0000 Subject: [PATCH 01/30] teste --- .../buildkit-build-push-dev/action.yaml | 87 +++++++++++++++++++ .gitea/workflows/ssh-client-build-deploy.yaml | 8 +- fatboy-debian/Dockerfile | 68 +++++++++++++++ 3 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 .gitea/actions/buildkit-build-push-dev/action.yaml create mode 100644 fatboy-debian/Dockerfile diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml new file mode 100644 index 0000000..d68b65f --- /dev/null +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -0,0 +1,87 @@ +name: BuildKit Build and push - dev +description: "Build and push images using remote Buildkit" +inputs: + registry_addr: + description: registry address + required: true + registry_username: + description: "registry username" + required: true + registry_password: + description: "registry password" + required: true + buildkit_addr: + description: "buildkit address" + required: true + tags: + description: "image tags / buildctl image name" + required: true + context: + description: "buildctl build context" + required: false + default: "." + dockerfile: + description: "buildctl build dockerfile/folder" + required: true + default: "." + filename: + description: "Docker file name (Default: Dockerfile)" + required: true + default: "Dockerfile" + build_args: + description: "Build arguments (multiline KEY=VALUE)" + required: false + default: "" +runs: + using: "composite" + steps: + - name: run buildctl build and push + shell: bash + run: | + ############################################### + # Create DOCKER_CONFIG for this pipeline + ############################################### + + DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" + mkdir -p "$DOCKER_CONFIG_DIR" + + trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT + + AUTH=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + + cat > "$DOCKER_CONFIG_DIR/config.json" <&1 - name: Build and push ssh-client container images - uses: ./.gitea/limbo_actions/buildkit-build-push + uses: ./.gitea/actions/buildkit-build-push-dev with: tags: git.limbosolutions.com/kb/ssh-client - registry_addr: ${{ vars.GITLIMBO_DOCKER_REGISTRY_ADDRESS }} - registry_username: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }} - registry_password: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }} + registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} + registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }} + registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }} buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }} dockerfile: ${{gitea.workspace}}/docker/ssh-client context: ${{gitea.workspace}}/docker/ssh-client diff --git a/fatboy-debian/Dockerfile b/fatboy-debian/Dockerfile new file mode 100644 index 0000000..94a6fbf --- /dev/null +++ b/fatboy-debian/Dockerfile @@ -0,0 +1,68 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive + +# --------------------------------------------------------- +# Base dependencies +# --------------------------------------------------------- +RUN apt-get update && apt-get install -y \ + tini \ + 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 + +# --------------------------------------------------------- +# 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 + +# --------------------------------------------------------- +# Install BuildKit (buildkitd + buildctl) +# --------------------------------------------------------- +ENV BUILDKIT_VERSION=v0.28.0 + +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 + +# --------------------------------------------------------- +# 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 + +# --------------------------------------------------------- +# Default entrypoint +# --------------------------------------------------------- + +WORKDIR /data +ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/act_runner"] +CMD ["daemon", "--config", "/etc/act_runner/config.yaml"] \ No newline at end of file -- 2.52.0 From 05e66726b06e4dce7a79b45bc19e88e19bdbeefc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 11:48:25 +0000 Subject: [PATCH 02/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index d68b65f..4ffdfdd 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -76,7 +76,7 @@ runs: ############################################### buildctl \ - --addr tcp://${{ inputs.buildkit_addr }} \ + --addr ${{ inputs.buildkit_addr }} \ build \ --frontend=dockerfile.v0 \ --local context=${{ inputs.context }} \ -- 2.52.0 From e519f5366768b62bb1a215a1ab61da76f1f982c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 11:49:25 +0000 Subject: [PATCH 03/30] modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/workflows/ssh-client-build-deploy.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 8822b1b..8cc65f8 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -33,8 +33,4 @@ jobs: buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }} dockerfile: ${{gitea.workspace}}/docker/ssh-client context: ${{gitea.workspace}}/docker/ssh-client - - - - -- 2.52.0 From 53f1508ebb5993e41527e547349916568495fc54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 11:51:12 +0000 Subject: [PATCH 04/30] modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/workflows/ssh-client-build-deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 8cc65f8..d1c9d0a 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -26,7 +26,7 @@ jobs: - name: Build and push ssh-client container images uses: ./.gitea/actions/buildkit-build-push-dev with: - tags: git.limbosolutions.com/kb/ssh-client + tags: oci.limbosolutions.com/public/ssh-client registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }} registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }} -- 2.52.0 From 795c5a1b1ef220b8cfabdf6540b8572fe7c08c7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 11:58:56 +0000 Subject: [PATCH 05/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml --- .../buildkit-build-push-dev/action.yaml | 73 ++++++++++--------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 4ffdfdd..84c5a0c 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,50 +38,51 @@ runs: - name: run buildctl build and push shell: bash run: | - ############################################### - # Create DOCKER_CONFIG for this pipeline - ############################################### + ############################################### + # Create DOCKER_CONFIG for this pipeline + ############################################### - DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" - mkdir -p "$DOCKER_CONFIG_DIR" + DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" + mkdir -p "$DOCKER_CONFIG_DIR" - trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT + trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT - AUTH=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + AUTH=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) - cat > "$DOCKER_CONFIG_DIR/config.json" < "$DOCKER_CONFIG_DIR/config.json" < Date: Sat, 2 May 2026 12:00:08 +0000 Subject: [PATCH 06/30] modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index d1c9d0a..d9b116d 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -33,4 +33,5 @@ jobs: buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }} dockerfile: ${{gitea.workspace}}/docker/ssh-client context: ${{gitea.workspace}}/docker/ssh-client + -- 2.52.0 From 478855ad86fba12844532e3caf982d91e5f59bce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:08:01 +0000 Subject: [PATCH 07/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .../buildkit-build-push-dev/action.yaml | 67 +++++++------------ .gitea/workflows/ssh-client-build-deploy.yaml | 3 +- 2 files changed, 27 insertions(+), 43 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 84c5a0c..99b64b0 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,51 +38,34 @@ runs: - name: run buildctl build and push shell: bash run: | - ############################################### - # Create DOCKER_CONFIG for this pipeline - ############################################### + ############################################### + # Build args + ############################################### - DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" - mkdir -p "$DOCKER_CONFIG_DIR" + BUILD_ARG_FLAGS="" + while IFS= read -r line; do + [[ -z "$line" ]] && continue + BUILD_ARG_FLAGS="$BUILD_ARG_FLAGS --opt build-arg:${line}" + done <<< "${{ inputs.build_args }}" - trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT + echo "Using build args: $BUILD_ARG_FLAGS" - AUTH=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + ############################################### + # Inline auth for BuildKit remote push + ############################################### - cat > "$DOCKER_CONFIG_DIR/config.json" < Date: Sat, 2 May 2026 12:12:24 +0000 Subject: [PATCH 08/30] modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/workflows/ssh-client-build-deploy.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 82b9e04..7faad37 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -27,7 +27,7 @@ jobs: - name: Build and push ssh-client container images uses: ./.gitea/actions/buildkit-build-push-dev with: - tags: oci.limbosolutions.com/public/ssh-client + tags: oci.limbosolutions.com/public/ssh-client:latest registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }} registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }} -- 2.52.0 From a97646abcf05d408ee56b8bc863e730c7ef212b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:35:23 +0000 Subject: [PATCH 09/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .../buildkit-build-push-dev/action.yaml | 26 +++---------------- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 99b64b0..e7042c2 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,27 +38,9 @@ runs: - name: run buildctl build and push shell: bash run: | - ############################################### - # Build args - ############################################### - - BUILD_ARG_FLAGS="" - while IFS= read -r line; do - [[ -z "$line" ]] && continue - BUILD_ARG_FLAGS="$BUILD_ARG_FLAGS --opt build-arg:${line}" - done <<< "${{ inputs.build_args }}" - - echo "Using build args: $BUILD_ARG_FLAGS" - - ############################################### - # Inline auth for BuildKit remote push - ############################################### - - AUTH_INLINE=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) - - ############################################### - # Build + push using BuildKit REMOTE + INLINE AUTH - ############################################### + AUTH_JSON=$(printf '{"auths":{"%s":{"auth":"%s"}}}' \ + "${{ inputs.registry_addr }}" \ + "$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0)") buildctl \ --addr ${{ inputs.buildkit_addr }} \ @@ -68,4 +50,4 @@ runs: --local dockerfile=${{ inputs.dockerfile }} \ --opt filename=${{ inputs.filename }} \ $BUILD_ARG_FLAGS \ - --output type=image,name=${{ inputs.tags }},push=true,registry.auth=$AUTH_INLINE + --output type=image,name=${{ inputs.tags }},push=true,registry.config=$AUTH_JSON diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 7faad37..521e25b 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -21,6 +21,7 @@ jobs: env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 4de2adfeb05ca38dd75913f104d2b55ad8e0d650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:37:38 +0000 Subject: [PATCH 10/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 11 +++++++---- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index e7042c2..302e5ba 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,10 +38,13 @@ runs: - name: run buildctl build and push shell: bash run: | - AUTH_JSON=$(printf '{"auths":{"%s":{"auth":"%s"}}}' \ - "${{ inputs.registry_addr }}" \ - "$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0)") + AUTH_INLINE=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + AUTH_JSON=$(jq -n \ + --arg reg "${{ inputs.registry_addr }}" \ + --arg auth "$AUTH_INLINE" \ + '{auths: {($reg): {auth: $auth}}}') + buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ @@ -50,4 +53,4 @@ runs: --local dockerfile=${{ inputs.dockerfile }} \ --opt filename=${{ inputs.filename }} \ $BUILD_ARG_FLAGS \ - --output type=image,name=${{ inputs.tags }},push=true,registry.config=$AUTH_JSON + --output type=image,name=${{ inputs.tags }},push=true,registry.config="$AUTH_JSON" diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 521e25b..baaf8f6 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -22,6 +22,7 @@ jobs: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From be050a27fbeba69bfc67dbf628ce005f67a74bff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:39:22 +0000 Subject: [PATCH 11/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .../buildkit-build-push-dev/action.yaml | 18 +++++++++++++----- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 302e5ba..630bf7a 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -40,11 +40,19 @@ runs: run: | AUTH_INLINE=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) - AUTH_JSON=$(jq -n \ - --arg reg "${{ inputs.registry_addr }}" \ - --arg auth "$AUTH_INLINE" \ - '{auths: {($reg): {auth: $auth}}}') - + read -r -d '' AUTH_JSON <<'EOF' + { + "auths": { + "__REGISTRY__": { + "auth": "__AUTH__" + } + } + } + EOF + + AUTH_JSON="${AUTH_JSON/__REGISTRY__/${{ inputs.registry_addr }}}" + AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" + buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index baaf8f6..521e25b 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -22,7 +22,6 @@ jobs: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" - run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 21b7f625c72a31e285bae9378d7ef0729d754302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:42:06 +0000 Subject: [PATCH 12/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 +- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 630bf7a..0c697a2 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,7 +38,7 @@ runs: - name: run buildctl build and push shell: bash run: | - AUTH_INLINE=$(printf "%s:%s" "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + AUTH_INLINE=$(printf '%s:%s' "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) read -r -d '' AUTH_JSON <<'EOF' { diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 521e25b..e646d86 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -22,6 +22,7 @@ jobs: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 3ba44942ff40b66737a460aff79d243624103028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:45:00 +0000 Subject: [PATCH 13/30] 1 --- .../buildkit-build-push-dev/action.yaml | 19 +++++++------------ .gitea/workflows/ssh-client-build-deploy.yaml | 3 +-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 0c697a2..00ded0b 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -38,20 +38,15 @@ runs: - name: run buildctl build and push shell: bash run: | - AUTH_INLINE=$(printf '%s:%s' "${{ inputs.registry_username }}" "${{ inputs.registry_password }}" | base64 -w0) + set -euo pipefail + echo "USERNAME RAW: ${{ inputs.registry_username }}" + echo "PASSWORD RAW: ${{ inputs.registry_password }}" + USER="${{ inputs.registry_username }}" + PASS="${{ inputs.registry_password }}" - read -r -d '' AUTH_JSON <<'EOF' - { - "auths": { - "__REGISTRY__": { - "auth": "__AUTH__" - } - } - } - EOF + AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) - AUTH_JSON="${AUTH_JSON/__REGISTRY__/${{ inputs.registry_addr }}}" - AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" + echo "AUTH_INLINE generated successfully" buildctl \ --addr ${{ inputs.buildkit_addr }} \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index e646d86..71c45f7 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -21,8 +21,7 @@ jobs: env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" - - + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 6c4bf9ce6bbc0e6e78f2d1127ed58796152bc4bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:47:04 +0000 Subject: [PATCH 14/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 7 +++---- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 00ded0b..c8c45c5 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -39,10 +39,9 @@ runs: shell: bash run: | set -euo pipefail - echo "USERNAME RAW: ${{ inputs.registry_username }}" - echo "PASSWORD RAW: ${{ inputs.registry_password }}" - USER="${{ inputs.registry_username }}" - PASS="${{ inputs.registry_password }}" + + USER='${{ inputs.registry_username }}' + PASS='${{ inputs.registry_password }}' AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 71c45f7..5dd9d05 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -21,6 +21,7 @@ jobs: env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 95b106678805267e8eb54378519cdbdee70993ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:49:38 +0000 Subject: [PATCH 15/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 10 ++++++++++ .gitea/workflows/ssh-client-build-deploy.yaml | 3 +-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index c8c45c5..39da143 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -47,6 +47,16 @@ runs: echo "AUTH_INLINE generated successfully" + + # Build build-arg flags + BUILD_ARG_FLAGS="" + while IFS= read -r line; do + [[ -z "$line" ]] && continue + BUILD_ARG_FLAGS="$BUILD_ARG_FLAGS --opt build-arg:${line}" + done <<< "${{ inputs.build_args }}" + + echo "Using build args: $BUILD_ARG_FLAGS" + buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 5dd9d05..cc0bc0d 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -21,8 +21,7 @@ jobs: env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" - - + run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From b0affd096e45f3370306ddbfab87828c2ff451d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:52:10 +0000 Subject: [PATCH 16/30] 2 --- .gitea/actions/buildkit-build-push-dev/action.yaml | 13 +++++++++++++ .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 39da143..81e7282 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -47,6 +47,19 @@ runs: echo "AUTH_INLINE generated successfully" + # Build JSON safely + read -r -d '' AUTH_JSON <<'EOF' + { + "auths": { + "__REGISTRY__": { + "auth": "__AUTH__" + } + } + } + EOF + + AUTH_JSON="${AUTH_JSON/__REGISTRY__/${{ inputs.registry_addr }}}" + AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" # Build build-arg flags BUILD_ARG_FLAGS="" diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index cc0bc0d..79ed2dd 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -16,7 +16,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" -- 2.52.0 From ea2c067fda513be32676acf90cd468c1a05d9e92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 12:54:08 +0000 Subject: [PATCH 17/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 8 +++++--- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 81e7282..d5f6aea 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -44,7 +44,6 @@ runs: PASS='${{ inputs.registry_password }}' AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) - echo "AUTH_INLINE generated successfully" # Build JSON safely @@ -61,12 +60,14 @@ runs: AUTH_JSON="${AUTH_JSON/__REGISTRY__/${{ inputs.registry_addr }}}" AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" - # Build build-arg flags + # FIX: avoid unbound variable + BUILD_ARGS="${{ inputs.build_args:-}}" + BUILD_ARG_FLAGS="" while IFS= read -r line; do [[ -z "$line" ]] && continue BUILD_ARG_FLAGS="$BUILD_ARG_FLAGS --opt build-arg:${line}" - done <<< "${{ inputs.build_args }}" + done <<< "$BUILD_ARGS" echo "Using build args: $BUILD_ARG_FLAGS" @@ -79,3 +80,4 @@ runs: --opt filename=${{ inputs.filename }} \ $BUILD_ARG_FLAGS \ --output type=image,name=${{ inputs.tags }},push=true,registry.config="$AUTH_JSON" + diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 79ed2dd..cc0bc0d 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -16,6 +16,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" -- 2.52.0 From 068142690cae6a0eb21bcfbd15849cfb532aa7c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 13:01:17 +0000 Subject: [PATCH 18/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 ++ .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index d5f6aea..78586e5 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -71,6 +71,8 @@ runs: echo "Using build args: $BUILD_ARG_FLAGS" + echo "build and push image ${{ inputs.registry_username }}" + buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index cc0bc0d..79ed2dd 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -16,7 +16,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" -- 2.52.0 From b32bbb7743726a347f46c1cab443a0c4a2e10916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 13:04:45 +0000 Subject: [PATCH 19/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 9 ++++++--- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 78586e5..3b1ccb8 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -57,7 +57,11 @@ runs: } EOF - AUTH_JSON="${AUTH_JSON/__REGISTRY__/${{ inputs.registry_addr }}}" + # Escape slashes in registry + REG_ESCAPED="${{ inputs.registry_addr }}" + REG_ESCAPED="${REG_ESCAPED//\//\\/}" + + AUTH_JSON="${AUTH_JSON/__REGISTRY__/$REG_ESCAPED}" AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" # FIX: avoid unbound variable @@ -70,8 +74,7 @@ runs: done <<< "$BUILD_ARGS" echo "Using build args: $BUILD_ARG_FLAGS" - - echo "build and push image ${{ inputs.registry_username }}" + echo "build and push image to ${{ inputs.registry_addr }}" buildctl \ --addr ${{ inputs.buildkit_addr }} \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 79ed2dd..b08bde9 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -15,6 +15,7 @@ jobs: - name: Checkout code uses: actions/checkout@v2 + - name: Fetch limbo public actions env: -- 2.52.0 From b5207d2ccab874889925775766ee8d480e6dc65a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 13:10:00 +0000 Subject: [PATCH 20/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 +- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 3b1ccb8..387d30b 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -84,5 +84,5 @@ runs: --local dockerfile=${{ inputs.dockerfile }} \ --opt filename=${{ inputs.filename }} \ $BUILD_ARG_FLAGS \ - --output type=image,name=${{ inputs.tags }},push=true,registry.config="$AUTH_JSON" + --output type=image,name=${{ inputs.tags }},push=true" diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index b08bde9..d1a1902 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -16,7 +16,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" -- 2.52.0 From fd014891237a15d92f81b6d02a9db2e950996e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 13:14:46 +0000 Subject: [PATCH 21/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 6 +----- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 387d30b..150d3c2 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -46,7 +46,6 @@ runs: AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) echo "AUTH_INLINE generated successfully" - # Build JSON safely read -r -d '' AUTH_JSON <<'EOF' { "auths": { @@ -57,14 +56,12 @@ runs: } EOF - # Escape slashes in registry REG_ESCAPED="${{ inputs.registry_addr }}" REG_ESCAPED="${REG_ESCAPED//\//\\/}" AUTH_JSON="${AUTH_JSON/__REGISTRY__/$REG_ESCAPED}" AUTH_JSON="${AUTH_JSON/__AUTH__/$AUTH_INLINE}" - # FIX: avoid unbound variable BUILD_ARGS="${{ inputs.build_args:-}}" BUILD_ARG_FLAGS="" @@ -84,5 +81,4 @@ runs: --local dockerfile=${{ inputs.dockerfile }} \ --opt filename=${{ inputs.filename }} \ $BUILD_ARG_FLAGS \ - --output type=image,name=${{ inputs.tags }},push=true" - + --output type=image,name=${{ inputs.tags }},push=true,registry.config="$AUTH_JSON" diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index d1a1902..6d3e91a 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -17,6 +17,7 @@ jobs: uses: actions/checkout@v2 - name: Fetch limbo public actions + env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" -- 2.52.0 From 0aa7540a5ca17626e35e987e17c72a5560f09aee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sat, 2 May 2026 23:58:55 +0000 Subject: [PATCH 22/30] modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/workflows/ssh-client-build-deploy.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 6d3e91a..cf01191 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -17,7 +17,6 @@ jobs: uses: actions/checkout@v2 - name: Fetch limbo public actions - env: RUNNER_TEMP: "${{ runner.temp }}" WORKSPACE: "${{ gitea.workspace }}" @@ -26,7 +25,7 @@ jobs: curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 - name: Build and push ssh-client container images - uses: ./.gitea/actions/buildkit-build-push-dev + uses: ./.gitea/limbo_actions/buildkit-build-push with: tags: oci.limbosolutions.com/public/ssh-client:latest registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} -- 2.52.0 From ff23482844da6e807ccc57621edbd556700beff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:28:09 +0000 Subject: [PATCH 23/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .../buildkit-build-push-dev/action.yaml | 25 ++++++++----------- .gitea/workflows/ssh-client-build-deploy.yaml | 2 +- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 150d3c2..5ac31a8 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -39,31 +39,27 @@ runs: shell: bash run: | set -euo pipefail + DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" + mkdir -p "$DOCKER_CONFIG_DIR" + + # clean up + trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT + USER='${{ inputs.registry_username }}' PASS='${{ inputs.registry_password }}' - AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) echo "AUTH_INLINE generated successfully" - - read -r -d '' AUTH_JSON <<'EOF' + cat > "$DOCKER_CONFIG_DIR/config.json" <&1 - name: Build and push ssh-client container images - uses: ./.gitea/limbo_actions/buildkit-build-push + uses: ./.gitea/actions/buildkit-build-push-dev with: tags: oci.limbosolutions.com/public/ssh-client:latest registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} -- 2.52.0 From cc27f20148c74598db7b4147335c740b2cd5bf22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:29:46 +0000 Subject: [PATCH 24/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 5 ++--- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 5ac31a8..9753213 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -48,9 +48,8 @@ runs: USER='${{ inputs.registry_username }}' PASS='${{ inputs.registry_password }}' - AUTH_INLINE=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) - echo "AUTH_INLINE generated successfully" - cat > "$DOCKER_CONFIG_DIR/config.json" < "$DOCKER_CONFIG_DIR/config.json" <&1 -- 2.52.0 From c45e16af9e224200f7aa0bf4f02391fd919e25c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:31:48 +0000 Subject: [PATCH 25/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 3 ++- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 9753213..d72f9b8 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -59,11 +59,12 @@ runs: } EOF + # Build build-arg flags BUILD_ARG_FLAGS="" while IFS= read -r line; do [[ -z "$line" ]] && continue BUILD_ARG_FLAGS="$BUILD_ARG_FLAGS --opt build-arg:${line}" - done <<< "$BUILD_ARGS" + done <<< "${{ inputs.build_args }}" echo "Using build args: $BUILD_ARG_FLAGS" diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 24d37af..6868754 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -12,7 +12,6 @@ jobs: runs-on: ["oci-image-builder", "amd64"] steps: - - name: Checkout code uses: actions/checkout@v2 -- 2.52.0 From c3f7dce13cc26873350f6a31bd1a4bd8d6be41e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:33:44 +0000 Subject: [PATCH 26/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 4 +++- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index d72f9b8..e87715c 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -69,7 +69,9 @@ runs: echo "Using build args: $BUILD_ARG_FLAGS" echo "build and push image to ${{ inputs.registry_addr }}" - + + cat "$DOCKER_CONFIG_DIR/config.json" + buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 6868754..7476bbc 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -22,6 +22,7 @@ jobs: run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 + - name: Build and push ssh-client container images uses: ./.gitea/actions/buildkit-build-push-dev with: -- 2.52.0 From 73892b4c06784a6d7a09b32817ba0ed24f51d474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:38:45 +0000 Subject: [PATCH 27/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 8 +++----- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index e87715c..43d316f 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -39,8 +39,8 @@ runs: shell: bash run: | set -euo pipefail - DOCKER_CONFIG_DIR="${RUNNER_TEMP}/.buildctl_docker" - mkdir -p "$DOCKER_CONFIG_DIR" + DOCKER_CONFIG="${RUNNER_TEMP}/.buildctl_docker" + mkdir -p "$DOCKER_CONFIG" # clean up trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT @@ -49,7 +49,7 @@ runs: USER='${{ inputs.registry_username }}' PASS='${{ inputs.registry_password }}' AUTH=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) - cat > "$DOCKER_CONFIG_DIR/config.json" < "$DOCKER_CONFIG/config.json" <&1 - - name: Build and push ssh-client container images uses: ./.gitea/actions/buildkit-build-push-dev with: -- 2.52.0 From 6b88933e06ddb2174f863b87df46a295e38bbb37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:40:52 +0000 Subject: [PATCH 28/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml aa --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 +- .gitea/workflows/ssh-client-build-deploy.yaml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 43d316f..8b717e5 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -43,7 +43,7 @@ runs: mkdir -p "$DOCKER_CONFIG" # clean up - trap 'rm -rf "$DOCKER_CONFIG_DIR"' EXIT + trap 'rm -rf "$DOCKER_CONFIG"' EXIT USER='${{ inputs.registry_username }}' diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index 6868754..e03de9b 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -18,6 +18,7 @@ jobs: - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" + WORKSPACE: "${{ gitea.workspace }}" run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 6edddbd0902b86728d5acaccfd29615c9c108943 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 00:49:06 +0000 Subject: [PATCH 29/30] modified: .gitea/actions/buildkit-build-push-dev/action.yaml modified: .gitea/workflows/ssh-client-build-deploy.yaml --- .gitea/actions/buildkit-build-push-dev/action.yaml | 2 +- .gitea/workflows/ssh-client-build-deploy.yaml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml index 8b717e5..5f18d56 100644 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ b/.gitea/actions/buildkit-build-push-dev/action.yaml @@ -70,7 +70,7 @@ runs: echo "build and push image to ${{ inputs.registry_addr }}" - buildctl \ + DOCKER_CONFIG="$DOCKER_CONFIG" buildctl \ --addr ${{ inputs.buildkit_addr }} \ build \ --frontend=dockerfile.v0 \ diff --git a/.gitea/workflows/ssh-client-build-deploy.yaml b/.gitea/workflows/ssh-client-build-deploy.yaml index e03de9b..6868754 100644 --- a/.gitea/workflows/ssh-client-build-deploy.yaml +++ b/.gitea/workflows/ssh-client-build-deploy.yaml @@ -18,7 +18,6 @@ jobs: - name: Fetch limbo public actions env: RUNNER_TEMP: "${{ runner.temp }}" - WORKSPACE: "${{ gitea.workspace }}" run: | curl -fsSL https://git.limbosolutions.com/kb/gitea/raw/branch/main/cloud-scripts/setup-limbo-actions.sh | bash 2>&1 -- 2.52.0 From 9bd367ac8f5fb2ca4f6a75e5cbc05fa17a0e5312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Fernandes?= Date: Sun, 3 May 2026 01:03:44 +0000 Subject: [PATCH 30/30] moved containers to oci.limbosolutions.com --- .../buildkit-build-push-dev/action.yaml | 81 ------------------- .gitea/workflows/ssh-client-build-deploy.yaml | 2 +- .gitea/workflows/ssh-server-build-deploy.yaml | 8 +- README.md | 8 +- docker/ssh-server/README.md | 8 +- docker/ssh-server/build.env | 2 +- fatboy-debian/Dockerfile | 68 ---------------- 7 files changed, 14 insertions(+), 163 deletions(-) delete mode 100644 .gitea/actions/buildkit-build-push-dev/action.yaml delete mode 100644 fatboy-debian/Dockerfile diff --git a/.gitea/actions/buildkit-build-push-dev/action.yaml b/.gitea/actions/buildkit-build-push-dev/action.yaml deleted file mode 100644 index 5f18d56..0000000 --- a/.gitea/actions/buildkit-build-push-dev/action.yaml +++ /dev/null @@ -1,81 +0,0 @@ -name: BuildKit Build and push - dev -description: "Build and push images using remote Buildkit" -inputs: - registry_addr: - description: registry address - required: true - registry_username: - description: "registry username" - required: true - registry_password: - description: "registry password" - required: true - buildkit_addr: - description: "buildkit address" - required: true - tags: - description: "image tags / buildctl image name" - required: true - context: - description: "buildctl build context" - required: false - default: "." - dockerfile: - description: "buildctl build dockerfile/folder" - required: true - default: "." - filename: - description: "Docker file name (Default: Dockerfile)" - required: true - default: "Dockerfile" - build_args: - description: "Build arguments (multiline KEY=VALUE)" - required: false - default: "" -runs: - using: "composite" - steps: - - name: run buildctl build and push - shell: bash - run: | - set -euo pipefail - DOCKER_CONFIG="${RUNNER_TEMP}/.buildctl_docker" - mkdir -p "$DOCKER_CONFIG" - - # clean up - trap 'rm -rf "$DOCKER_CONFIG"' EXIT - - - USER='${{ inputs.registry_username }}' - PASS='${{ inputs.registry_password }}' - AUTH=$(printf '%s:%s' "$USER" "$PASS" | base64 -w0) - cat > "$DOCKER_CONFIG/config.json" <&1 - name: Build and push ssh-client container images - uses: ./.gitea/actions/buildkit-build-push-dev + uses: ./.gitea/limbo_actions/buildkit-build-push with: tags: oci.limbosolutions.com/public/ssh-client:latest registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} diff --git a/.gitea/workflows/ssh-server-build-deploy.yaml b/.gitea/workflows/ssh-server-build-deploy.yaml index 7125052..eb8e706 100644 --- a/.gitea/workflows/ssh-server-build-deploy.yaml +++ b/.gitea/workflows/ssh-server-build-deploy.yaml @@ -25,10 +25,10 @@ jobs: - name: Build and push ssh-image container image uses: ./.gitea/limbo_actions/buildkit-build-push with: - tags: git.limbosolutions.com/kb/ssh-server - registry_addr: ${{ vars.GITLIMBO_DOCKER_REGISTRY_ADDRESS }} - registry_username: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_USERNAME }} - registry_password: ${{ secrets.GITLIMBO_DOCKER_REGISTRY_PASSWORD }} + tags: oci.limbosolutions.com/public/ssh-server + registry_addr: ${{ vars.OCI_LIMBO_REGISTRY_ADDRESS }} + registry_username: ${{ secrets.OCI_LIMBO_REGISTRY_USERNAME }} + registry_password: ${{ secrets.OCI_LIMBO_REGISTRY_PASSWORD }} buildkit_addr: ${{ vars.BUILDKIT_ADDRESS }} dockerfile: ${{gitea.workspace}}/docker/ssh-server context: ${{gitea.workspace}}/docker/ssh-server diff --git a/README.md b/README.md index 2522a20..76fef8e 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ ssh -f -N -L localhost:8001:target-server:80 usr@jump-machine.local ``` bash podman container run \ -v $HOME/.ssh:/root/.ssh:ro,Z \ - git.limbosolutions.com/kb/ssh-client:latest + oci.limbosolutions.com/public/ssh-client:latest ``` ### kubernetes @@ -71,7 +71,7 @@ metadata: spec: containers: - name: ssh-client - image: git.limbosolutions.com/kb/ssh-client:latest + image: oci.limbosolutions.com/public/ssh-client:latest tty: true command: ["bash", "-c"] args: @@ -120,10 +120,10 @@ spec: ``` bash podman build docker/ssh-client \ --build-context ssh-client=docker/ssh-client \ - -t git.limbosolutions.com/kb/ssh-client:local-dev + -t oci.limbosolutions.com/public/ssh-client:local-dev podman container run -it \ -v $HOME/.ssh:/root/.ssh:ro,Z \ - git.limbosolutions.com/kb/ssh-client:local-dev \ + oci.limbosolutions.com/public/ssh-client:local-dev \ /bin/bash ``` diff --git a/docker/ssh-server/README.md b/docker/ssh-server/README.md index c1c92c1..e9dbc6b 100644 --- a/docker/ssh-server/README.md +++ b/docker/ssh-server/README.md @@ -18,7 +18,7 @@ server: ## Podman ``` bash -podman pull git.limbosolutions.com/kb/ssh-server:latest +podman pull oci.limbosolutions.com/public/ssh-server:latest podman container run \ -p 2222:22 \ @@ -26,14 +26,14 @@ podman container run \ -v ./local/config:/etc/app/config \ -v ./local/server-certs:/etc/ssh/certs \ -v ./local/home:/home \ - git.limbosolutions.com/kb/ssh-server:latest + oci.limbosolutions.com/public/ssh-server:latest ``` ## docker ``` bash -docker pull git.limbosolutions.com/kb/ssh-server:latest +docker pull oci.limbosolutions.com/public/ssh-server:latest docker container run \ -p 2222:22 \ @@ -41,7 +41,7 @@ docker container run \ -v ./local/config:/etc/app/config \ -v ./local/server-certs:/etc/ssh/certs \ -v ./local/home:/home \ - git.limbosolutions.com/kb/ssh-server:latest + oci.limbosolutions.com/public/ssh-server:latest ``` diff --git a/docker/ssh-server/build.env b/docker/ssh-server/build.env index c8ac9b6..68f3696 100644 --- a/docker/ssh-server/build.env +++ b/docker/ssh-server/build.env @@ -1,2 +1,2 @@ -BUILD_ENV_IMAGE_TAG="git.limbosolutions.com/kb/ssh-server:latest" +BUILD_ENV_IMAGE_TAG="oci.limbosolutions.com/public/ssh-server:latest" BUILD_CLI="docker" \ No newline at end of file diff --git a/fatboy-debian/Dockerfile b/fatboy-debian/Dockerfile deleted file mode 100644 index 94a6fbf..0000000 --- a/fatboy-debian/Dockerfile +++ /dev/null @@ -1,68 +0,0 @@ -FROM ubuntu:22.04 - -ENV DEBIAN_FRONTEND=noninteractive - -# --------------------------------------------------------- -# Base dependencies -# --------------------------------------------------------- -RUN apt-get update && apt-get install -y \ - tini \ - 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 - -# --------------------------------------------------------- -# 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 - -# --------------------------------------------------------- -# Install BuildKit (buildkitd + buildctl) -# --------------------------------------------------------- -ENV BUILDKIT_VERSION=v0.28.0 - -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 - -# --------------------------------------------------------- -# 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 - -# --------------------------------------------------------- -# Default entrypoint -# --------------------------------------------------------- - -WORKDIR /data -ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/act_runner"] -CMD ["daemon", "--config", "/etc/act_runner/config.yaml"] \ No newline at end of file -- 2.52.0