external-dns Kubernetes, CI & IaC
Shell-less ExternalDNS Kubernetes DNS controller built from source via melange.
Size 155 MB Arch x86_64, aarch64 User nonroot (65532) Updated today Upstream kubernetes-sigs.github.io/external-dns/
Pull this image
docker pull ghcr.io/rtvkiz/minimal-external-dns:latest docker pull ghcr.io/rtvkiz/minimal-external-dns:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
Details
- Repository
- ghcr.io/rtvkiz/minimal-external-dns
- Size (compressed)
- 155 MB
- Built
- 2026-09-29T00:32:57Z (today)
- Architectures
- x86_64, aarch64
- Primary package
- external-dns
- Entrypoint
- /usr/bin/external-dns
- User
- nonroot (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-external-dns org.opencontainers.image.description Hardened shell-less ExternalDNS Kubernetes DNS controller built from source via melange with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/external-dns org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/external-dns
- User
- nonroot (65532)
- Working dir
- /
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-external-dns-dev org.opencontainers.image.description Dev variant of minimal-external-dns: same external-dns + shell + bind-tools (dig) + curl/openssl/jq. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/external-dns org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 0.23 | ghcr.io/rtvkiz/minimal-external-dns:0.23 | 2026-09-29 |
| 0.23.0-r0 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0 | 2026-09-29 |
| 0.23.0-r0-20260929 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260929 | 2026-09-29 |
| latest | ghcr.io/rtvkiz/minimal-external-dns:latest | 2026-09-29 |
| 0.23-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23-dev | 2026-09-29 |
| 0.23.0-r0-20260929-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260929-dev | 2026-09-29 |
| 0.23.0-r0-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-dev | 2026-09-29 |
| latest-dev | ghcr.io/rtvkiz/minimal-external-dns:latest-dev | 2026-09-29 |
| 0.23.0-r0-20260928 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260928 | 2026-09-28 |
| 0.23.0-r0-20260928-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260928-dev | 2026-09-28 |
| 0.23.0-r0-20260927 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260927 | 2026-09-27 |
| 0.23.0-r0-20260927-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260927-dev | 2026-09-27 |
| 0.23.0-r0-20260926 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260926 | 2026-09-26 |
| 0.23.0-r0-20260926-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260926-dev | 2026-09-26 |
| 0.23.0-r0-20260925 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260925 | 2026-09-25 |
| 0.23.0-r0-20260925-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260925-dev | 2026-09-25 |
| 0.23.0-r0-20260924 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260924 | 2026-09-24 |
| 0.23.0-r0-20260924-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260924-dev | 2026-09-24 |
| 0.23.0-r0-20260923 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260923 | 2026-09-23 |
| 0.23.0-r0-20260923-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260923-dev | 2026-09-23 |
| 0.23.0-r0-20260922 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260922 | 2026-09-22 |
| 0.23.0-r0-20260922-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260922-dev | 2026-09-22 |
| 0.23.0-r0-20260921 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260921 | 2026-09-21 |
| 0.23.0-r0-20260921-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260921-dev | 2026-09-21 |
| 0.23.0-r0-20260920 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260920 | 2026-09-20 |
| 0.23.0-r0-20260920-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260920-dev | 2026-09-20 |
| 0.23.0-r0-20260919 | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260919 | 2026-09-19 |
| 0.23.0-r0-20260919-dev | ghcr.io/rtvkiz/minimal-external-dns:0.23.0-r0-20260919-dev | 2026-09-19 |
| 0.22 | ghcr.io/rtvkiz/minimal-external-dns:0.22 | 2026-09-19 |
| 0.22.0-r0 | ghcr.io/rtvkiz/minimal-external-dns:0.22.0-r0 | 2026-09-19 |
| 0.22.0-r0-20260919 | ghcr.io/rtvkiz/minimal-external-dns:0.22.0-r0-20260919 | 2026-09-19 |
| 0.22-dev | ghcr.io/rtvkiz/minimal-external-dns:0.22-dev | 2026-09-19 |
| 0.22.0-r0-20260919-dev | ghcr.io/rtvkiz/minimal-external-dns:0.22.0-r0-20260919-dev | 2026-09-19 |
| 0.22.0-r0-dev | ghcr.io/rtvkiz/minimal-external-dns:0.22.0-r0-dev | 2026-09-19 |
14 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20260909 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20260909-r1 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20260909-r1 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20260909-r1 | — |
| ca-certificates.yaml | ee3eac73dda22e8dd32fa5fb3e3a1712a6e812d7 | Apache-2.0 |
| external-dns | 0.23.0-r0 | Apache-2.0 |
| images/external-dns/melange.yaml | 1bce6e63ea891bcced1fda6bdc6813ced3474c4e | — |
| sha256:6e9f8289c031444ff1d88e9e90a32e23a8c05cd0f1e73ac4bc81d7c774979c5f | 20230201 | — |
| sha256:ab055ecd48299d5c6676aba999eb157eec319549f4a319e5b06f59a77f95b873 | sha256:ab055ecd48299d5c6676aba999eb157eec319549f4a319e5b06f59a77f95b873 | — |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | — |
| wolfi-baselayout.yaml | a4472f6292a5e48d6d611bf24c6e119b1a483e66 | Apache-2.0 |
0 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| GO-2026-5932 | Unknown | golang.org/x/crypto | v0.57.0 | — |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-external-dns:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-external-dns:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-external-dns:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Kubernetes, CI & IaC images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.