From e6f57bee94df19a0ea2a1c3da9d480fc76c28598 Mon Sep 17 00:00:00 2001 From: Daniel Widgren Date: Thu, 6 Aug 2026 12:50:09 +0200 Subject: [PATCH] chore: announce the rename from the image itself, and stop rebuilding ghcr.io/widgrensit/asobi_lua is the old name for what is now ghcr.io/widgrensit/asobi. The Lua runtime stopped being a separate application when it merged, so the name described a part rather than the whole, and this repo has held no source of its own since. The risk in retiring a tag is silence: stop publishing and :latest simply freezes, with nobody told. So the last build says so on every start, where an operator will actually meet it - the image is renamed, tags already published keep working and are never deleted, but nothing new lands here. Verified rather than assumed: the notice prints, the node still boots behind it, and docker stop still exits 0 in 5s, so inserting a shell in front of tini has not broken signal propagation. --- Dockerfile | 6 +++++- entrypoint.sh | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100755 entrypoint.sh diff --git a/Dockerfile b/Dockerfile index e3bdcb5..9c5ca47 100644 --- a/Dockerfile +++ b/Dockerfile @@ -69,5 +69,9 @@ ENV ASOBI_DB_SOCKET_OPTS=inet # expose distribution. ENV ERLANG_COOKIE=asobi_lua -ENTRYPOINT ["tini", "--"] +COPY --chown=asobi:asobi entrypoint.sh /app/entrypoint.sh + +# tini stays PID 1; the notice runs in front of the node and execs it, so +# signals and exit codes are unchanged. +ENTRYPOINT ["tini", "--", "/app/entrypoint.sh"] CMD ["bin/asobi_lua", "foreground"] diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 0000000..bdb4bc2 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,31 @@ +#!/bin/sh +# Says the image was renamed, then runs the node. +# +# ghcr.io/widgrensit/asobi_lua is the old name for what is now +# ghcr.io/widgrensit/asobi. This image stops being rebuilt after this release, +# so anything still pulling it silently stops receiving fixes - and a tag that +# quietly stops moving is the worst way to retire a name. Say it in the logs of +# every start, where an operator will actually meet it. +# +# Existing tags keep working and are never deleted. Nothing breaks today. +set -e + +printf '\n' >&2 +printf '========================================================================\n' >&2 +printf ' ghcr.io/widgrensit/asobi_lua has been renamed.\n' >&2 +printf '\n' >&2 +printf ' Use: ghcr.io/widgrensit/asobi\n' >&2 +printf '\n' >&2 +printf ' Same image contents: the game backend, the Lua runtime and the\n' >&2 +printf ' operator console. The Lua runtime stopped being a separate\n' >&2 +printf ' application, so the old name described a part rather than the whole.\n' >&2 +printf '\n' >&2 +printf ' Change the image name in your compose file or manifest. Nothing else\n' >&2 +printf ' changes - same tags, same ports, same environment variables.\n' >&2 +printf '\n' >&2 +printf ' THIS IMAGE IS NO LONGER REBUILT. Tags already published keep working\n' >&2 +printf ' and are not going away, but they will not receive fixes.\n' >&2 +printf '========================================================================\n' >&2 +printf '\n' >&2 + +exec "$@"