Repository navigation
fix: faster health check and correct image labels - #25
Merged
Merged
Conversation
The inherited HEALTHCHECK has no interval, so docker only reports healthy after the default 30s although the server is up within seconds. Restate the same probe with --interval=10s and a start period. Override the labels inherited from distroless-exist (title, source, description, url) and set revision, created and version at build time. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
duncdrum
force-pushed
the
dp-image-hygiene
branch
from
October 15, 2026 07:02
d6773a7 to
40d0cb7
Compare
duncdrum
marked this pull request as ready for review
October 15, 2026 15:11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
--interval=10s --timeout=30s --start-period=60s --retries=3. The base image sets no interval, so docker only reportedhealthyafter the default 30s (about 50s in practice) although the server is up within seconds. Same exec-form command, so it still works without a shell or curl.distroless-exist(title,description,source,url). The workflow now setsrevision,createdandversionfor both the test build and the push-by-digest build.Verified
healthyin about 8s (was about 50s); labels as expected.docker build --checkandactionlintpass (apart from the existing SC2024/SC2046 shellcheck warnings).Not verified
created,revisionandversioncome from the workflow, so they are only visible on a CI-built image. I only checked the static labels locally.Related, not in this PR
${app.version}package names (pocom,travels,visits) are fixed in the repos' openfeat/hsg-embedding-vector-fieldPRs (pocom#102, travels#60, visits#49). A local image build with those heads showspocom-0.7.5,travels-0.8.4,visits-0.6.4. No Dockerfile change is needed for that.COPY --exclude=**/write.lockworkaround for stale Lucene lock files (from ci: native amd64/arm64 matrix build (stack 2/2) #23) exists because Lucene records the lock file's creation time before opening it, which overlayfs copy-up changes. Reported upstream as NativeFSLock.ensureValid() throws AlreadyClosedException when write.lock comes from a lower overlayfs layer apache/lucene#16844; the exclude can be dropped once that is fixed.adminpassword, running as root, noVOLUME, unpinned base tag.🤖 Generated with Claude Code