sillsdev / sillsdev/TheCombine
Investigate using Docker Hardened Images
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 22
- Forks
- 10
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 9
Description
GH Copilot says these are the DHIs we could consider using:
Searched for files matching **/Dockerfile*, 5 matches
Searched for regex ^FROM (**/Dockerfile*), 8 results
Fetched https://www.docker.com/products/hardened-images/
Fetched https://hub.docker.com/hardened-images/catalog
Yes — four of the six distinct base images have direct DHI equivalents. Here's the rundown:
| Dockerfile | Current image | DHI equivalent | Notes |
|---|---|---|---|
| Dockerfile (builder) | mcr.microsoft.com/dotnet/sdk:8.0.416-jammy |
dhi/dotnet |
Alpine/Debian, CIS/FIPS/STIG |
| Dockerfile (runtime) | mcr.microsoft.com/dotnet/aspnet:8.0.22-jammy |
dhi/aspnetcore |
Alpine/Debian, CIS/FIPS/STIG |
| Dockerfile (frontend builder) | node:22.21.1-bookworm-slim |
dhi/node |
Alpine/Debian, CIS/FIPS/STIG, Extended Lifecycle Support |
| Dockerfile (nginx runtime) | nginx:1.29.4 |
dhi/nginx |
Alpine/Debian, CIS/FIPS/STIG, Extended Lifecycle Support |
| Dockerfile / Dockerfile | python:3.12.12-slim-bookworm |
dhi/python |
Alpine/Debian, CIS/FIPS/STIG, Extended Lifecycle Support |
| Dockerfile | mongo:7.0.30-jammy |
dhi/mongodb |
linux/amd64 only (no arm64) — check your deployment arch |
| Dockerfile | public.ecr.aws/thecombine/aws-kubectl:0.4.2 |
❌ No DHI equivalent | Custom project image; not replaceable |
A few notes on adopting DHI:
- Drop-in replacement: DHI advertises these as drop-in swaps — change the
FROMline and update the digest. However, the tag scheme differs (DHI uses its own versioning), so you'd need to verify the exact tag and re-pin the digest. - MongoDB architecture caveat: The DHI MongoDB image only supports
linux/amd64, so if your deployment includesarm64nodes, you'd need to stick with the upstream image. - Microsoft images:
mcr.microsoft.com/dotnet/*are already maintained by Microsoft with security patching. Switching to DHI equivalents adds near-zero-CVE SBOMs and SLSA Build L3 provenance, but isn't strictly necessary if you trust Microsoft's cadence. - Builder-only stages: The
nodeandpython(in Dockerfile) anddotnet/sdkimages are only used in multi-stage build stages — they never ship to production — so the security benefit of hardening them is lower than for the runtime stages (nginx,aspnetcore).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the five Dockerfile* matches and the eight FROM lines identified in the issue. Compare the relevant DHI tags and digest-pinning requirements, then check runtime versus builder stages and the MongoDB linux/amd64 limitation. Done means documenting a justified image-by-image recommendation, including cases where the current image should remain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- devops, infrastructure, security
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100