@cryptotaxi247 / kubo / commits / b5078b005

chore: remove deprecated go-ipfs Docker image publishing (#11081)

stop publishing to ipfs/go-ipfs entirely - the deprecation stub introduced in v0.39 is no longer needed. only ipfs/kubo is published. - remove legacy-name job from docker-image.yml workflow - remove .github/legacy/ (Dockerfile.goipfs-stub, goipfs_stub.sh) - update bin scripts to use ipfs/kubo as default

Marcin Rataj committed Nov 27, 2025 at 17:05 UTC b5078b005d7765cc50bb9bd40c974ad34e4b89e3
5 files changed +4 -99
.github/legacy/Dockerfile.goipfs-stub deleted
-26
@@ -1,26 +0,0 @@
1 -# syntax=docker/dockerfile:1
2 -# Stub Dockerfile for the deprecated 'ipfs/go-ipfs' image name.
3 -# This image redirects users to the new 'ipfs/kubo' name.
4 -FROM busybox:stable-glibc
5 -
6 -# Copy stub entrypoint that displays deprecation message
7 -COPY .github/legacy/goipfs_stub.sh /usr/local/bin/ipfs
8 -
9 -# Make it executable
10 -RUN chmod +x /usr/local/bin/ipfs
11 -
12 -# Use the same ports as the real image for compatibility
13 -EXPOSE 4001 4001/udp 5001 8080 8081
14 -
15 -# Create ipfs user for consistency
16 -ENV IPFS_PATH=/data/ipfs
17 -RUN mkdir -p $IPFS_PATH \
18 - && adduser -D -h $IPFS_PATH -u 1000 -G users ipfs \
19 - && chown ipfs:users $IPFS_PATH
20 -
21 -# Run as ipfs user
22 -USER ipfs
23 -
24 -# The stub script will run and exit with an error message
25 -ENTRYPOINT ["/usr/local/bin/ipfs"]
26 -CMD ["daemon"]
.github/legacy/goipfs_stub.sh deleted
-20
@@ -1,20 +0,0 @@
1 -#!/bin/sh
2 -# Stub script for the deprecated 'ipfs/go-ipfs' Docker image.
3 -# This informs users to switch to 'ipfs/kubo'.
4 -
5 -cat >&2 <<'EOF'
6 -ERROR: The name 'go-ipfs' is no longer used.
7 -
8 -Please update your Docker scripts to use 'ipfs/kubo' instead of 'ipfs/go-ipfs'.
9 -
10 -For example:
11 - docker pull ipfs/kubo:release
12 -
13 -More information:
14 - - https://github.com/ipfs/kubo#docker
15 - - https://hub.docker.com/r/ipfs/kubo
16 - - https://docs.ipfs.tech/install/run-ipfs-inside-docker/
17 -
18 -EOF
19 -
20 -exit 1
.github/workflows/docker-image.yml
-49
@@ -141,52 +141,3 @@ jobs:
141 cache-to: |
142 type=gha,mode=max
143 type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
144 -
145 - # Build and push stub image to the legacy ipfs/go-ipfs name
146 - # This redirects users to use ipfs/kubo instead
147 - legacy-name:
148 - needs: docker-hub
149 - if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
150 - name: Push stub to legacy ipfs/go-ipfs name
151 - runs-on: ubuntu-latest
152 - timeout-minutes: 5
153 - env:
154 - LEGACY_IMAGE_NAME: ipfs/go-ipfs
155 - steps:
156 - - name: Check out the repo
157 - uses: actions/checkout@v6
158 -
159 - - name: Set up QEMU
160 - uses: docker/setup-qemu-action@v3
161 -
162 - - name: Set up Docker Buildx
163 - uses: docker/setup-buildx-action@v3
164 -
165 - - name: Log in to Docker Hub
166 - uses: docker/login-action@v3
167 - with:
168 - username: ${{ vars.DOCKER_USERNAME }}
169 - password: ${{ secrets.DOCKER_PASSWORD }}
170 -
171 - - name: Convert tags to legacy image name
172 - id: legacy_tags
173 - run: |
174 - TAGS="${{ github.event.inputs.tags || needs.docker-hub.outputs.tags }}"
175 - if ! echo "$TAGS" | grep -q "kubo"; then
176 - echo "ERROR: Tags must contain kubo image name"
177 - exit 1
178 - fi
179 - echo "value<<EOF" >> $GITHUB_OUTPUT
180 - echo "$TAGS" | sed "s|ipfs/kubo|$LEGACY_IMAGE_NAME|g" >> $GITHUB_OUTPUT
181 - echo "EOF" >> $GITHUB_OUTPUT
182 - shell: bash
183 -
184 - - if: github.event_name != 'workflow_dispatch' || github.event.inputs.push == 'true'
185 - name: Build and push legacy stub image
186 - uses: docker/build-push-action@v6
187 - with:
188 - platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
189 - context: .
190 - push: true
191 - file: ./.github/legacy/Dockerfile.goipfs-stub
192 - tags: ${{ steps.legacy_tags.outputs.value }}
bin/get-docker-tags.sh
+1 -1
@@ -41,7 +41,7 @@ if [[ $GIT_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+-rc ]]; then
41 elif [[ $GIT_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
42 echoImageName "$GIT_TAG"
43 echoImageName "latest"
44 - echoImageName "release" # see: https://github.com/ipfs/go-ipfs/issues/3999#issuecomment-742228981
44 + echoImageName "release" # see: https://github.com/ipfs/kubo/issues/3999#issuecomment-742228981
45
46 elif [[ $GIT_BRANCH =~ ^bifrost-.* ]]; then
47 # sanitize the branch name since docker tags have stricter char limits than git branch names
bin/push-docker-tags.sh
+3 -3
@@ -7,7 +7,7 @@
7 # Run from ci to tag images based on the current branch or tag name.
8 # A bit like dockerhub autobuild config, but somewhere we can version control it.
9 #
10 -# The `docker-build` job builds the current commit in docker and tags it as ipfs/go-ipfs:wip
10 +# The `docker-build` job builds the current commit in docker and tags it as ipfs/kubo:wip
11 #
12 # Then the `docker-publish` job runs this script to decide what tag, if any,
13 # to publish to dockerhub.
@@ -42,7 +42,7 @@ GIT_TAG=${4:-$(git describe --tags --exact-match || echo "")}
42 DRY_RUN=${5:-false}
43
44 WIP_IMAGE_TAG=${WIP_IMAGE_TAG:-wip}
45 -IMAGE_NAME=${IMAGE_NAME:-ipfs/go-ipfs}
45 +IMAGE_NAME=${IMAGE_NAME:-ipfs/kubo}
46
47 pushTag () {
48 local IMAGE_TAG=$1
@@ -63,7 +63,7 @@ if [[ $GIT_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+-rc ]]; then
63 elif [[ $GIT_TAG =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
64 pushTag "$GIT_TAG"
65 pushTag "latest"
66 - pushTag "release" # see: https://github.com/ipfs/go-ipfs/issues/3999#issuecomment-742228981
66 + pushTag "release" # see: https://github.com/ipfs/kubo/issues/3999#issuecomment-742228981
67
68 elif [[ $GIT_BRANCH =~ ^bifrost-.* ]]; then
69 # sanitize the branch name since docker tags have stricter char limits than git branch names