On 2.10.29 such a consumer was moved past a message now and then without handing it over; the controller's events consumer has seven filters, and a merge on the stream never reached it. The test reproduces the skip on 2.10.29 and keeps the image's release equal to the server it tests.
31 lines
1.7 KiB
Docker
31 lines
1.7 KiB
Docker
# nats's server image: the upstream server, plus an entrypoint that reloads it in place when the
|
|
# mesh rewrites its configuration. See entrypoint.sh for why that belongs here and not in the host.
|
|
#
|
|
# **Pinned to the multi-architecture index digest, not a platform's.** `docker manifest inspect`
|
|
# reports a platform manifest per architecture and the index that lists them; pinning a platform's
|
|
# digest builds on this workstation and fails on any node of another architecture, with an error
|
|
# that names a manifest rather than the mistake. This is the index — `docker pull` reports the same
|
|
# one, and `RepoDigests` confirms it.
|
|
#
|
|
# **The release the digest is, said here because a digest does not say it:**
|
|
#
|
|
# upstream: nats 2.11.17-alpine
|
|
#
|
|
# Kept equal to the server version cmd/nats-tools tests against (its go.mod), and a test there fails
|
|
# when they differ: that test is what says the server delivers every message to a consumer with
|
|
# several filters. 2.10.29 did not — it moved such a consumer past a message now and then without
|
|
# handing it over, and the controller never heard of a merge (novox/hq issue 266).
|
|
#
|
|
# Unlike every other module's Dockerfile, this builds no TypeScript and uses no mesh base image:
|
|
# the module's code is the server, which upstream already built. There is no BUILD_BASE here on
|
|
# purpose — nothing is compiled. The upstream image is declared in the manifest under build.on and
|
|
# arrives as NATS_BASE, like every other base the mesh copies into its own store before a build
|
|
# (novox/hq ADR 0097); the digest above is the index one for the reason given.
|
|
ARG NATS_BASE
|
|
FROM ${NATS_BASE}
|
|
|
|
COPY entrypoint.sh /usr/local/bin/mesh-nats-entrypoint
|
|
RUN chmod 0755 /usr/local/bin/mesh-nats-entrypoint
|
|
|
|
ENTRYPOINT ["/usr/local/bin/mesh-nats-entrypoint"]
|