airflow Kubernetes, CI & IaC
Apache Airflow orchestration platform built from the ASF source distribution.
Pull this image
docker pull ghcr.io/rtvkiz/minimal-airflow:latest docker pull ghcr.io/rtvkiz/minimal-airflow: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-airflow
- Size (compressed)
- 246 MB
- Built
- 2026-09-29T00:30:07Z (today)
- Architectures
- x86_64, aarch64
- Primary package
- airflow
- Entrypoint
- /sbin/tini -- /usr/bin/airflow
- User
- airflow (65532)
- Working dir
- /opt/airflow
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-airflow org.opencontainers.image.description Hardened Apache Airflow built from the ASF source distribution org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/airflow org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /sbin/tini -- /usr/bin/airflow
- User
- airflow (65532)
- Working dir
- /opt/airflow
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-airflow-dev org.opencontainers.image.description Dev variant of minimal-airflow with a shell, package manager, and network debugging tools org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/airflow org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 3 | ghcr.io/rtvkiz/minimal-airflow:3 | 2026-09-29 |
| 3.3 | ghcr.io/rtvkiz/minimal-airflow:3.3 | 2026-09-29 |
| 3.3.2-r0 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0 | 2026-09-29 |
| 3.3.2-r0-20260929 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260929 | 2026-09-29 |
| latest | ghcr.io/rtvkiz/minimal-airflow:latest | 2026-09-29 |
| 3-dev | ghcr.io/rtvkiz/minimal-airflow:3-dev | 2026-09-29 |
| 3.3-dev | ghcr.io/rtvkiz/minimal-airflow:3.3-dev | 2026-09-29 |
| 3.3.2-r0-20260929-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260929-dev | 2026-09-29 |
| 3.3.2-r0-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-dev | 2026-09-29 |
| latest-dev | ghcr.io/rtvkiz/minimal-airflow:latest-dev | 2026-09-29 |
| 3.3.2-r0-20260928 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260928 | 2026-09-28 |
| 3.3.2-r0-20260928-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260928-dev | 2026-09-28 |
| 3.3.2-r0-20260927 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260927 | 2026-09-27 |
| 3.3.2-r0-20260927-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260927-dev | 2026-09-27 |
| 3.3.2-r0-20260926 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260926 | 2026-09-26 |
| 3.3.2-r0-20260926-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260926-dev | 2026-09-26 |
| 3.3.2-r0-20260925 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260925 | 2026-09-25 |
| 3.3.2-r0-20260925-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260925-dev | 2026-09-25 |
| 3.3.2-r0-20260924 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260924 | 2026-09-24 |
| 3.3.2-r0-20260924-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260924-dev | 2026-09-24 |
| 3.3.2-r0-20260923 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260923 | 2026-09-23 |
| 3.3.2-r0-20260923-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260923-dev | 2026-09-23 |
| 3.3.2-r0-20260922 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260922 | 2026-09-22 |
| 3.3.2-r0-20260922-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260922-dev | 2026-09-22 |
| 3.3.2-r0-20260921 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260921 | 2026-09-21 |
| 3.3.2-r0-20260921-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260921-dev | 2026-09-21 |
| 3.3.2-r0-20260920 | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260920 | 2026-09-20 |
| 3.3.2-r0-20260920-dev | ghcr.io/rtvkiz/minimal-airflow:3.3.2-r0-20260920-dev | 2026-09-20 |
157 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| airflow | 3.3.2-r0 | Apache-2.0 |
| alpine/ca-certificates | 20260909 | MPL-2.0 AND MIT |
| brotli | v1.2.0 | MIT |
| brotli.yaml | 9db3aeed30b6359289528ef564a4909f78faeac9 | Apache-2.0 |
| busybox | 1.38.0-r2 | GPL-2.0-only |
| busybox | 1.38.0-r2 | GPL-2.0-only |
| busybox | 1.38.0-r2 | — |
| busybox_mirror | 1_38_0 | GPL-2.0-only |
| busybox.yaml | 71881f600839f8cdaced7ecf938b4efc90a09c33 | Apache-2.0 |
| bzip2.yaml | 8867ad015582e91734eb840c4363388869f71fc5 | Apache-2.0 |
| 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 |
| cpython | v3.12.14 | PSF-2.0 |
| expat.yaml | dab6a75a661461bd0df375aac57d6c62655d076f | Apache-2.0 |
| gcc.yaml | 794cf72f88e1b408eca5da0dbf5c5ed25543606d | Apache-2.0 |
| gdbm | 1.26-r6 | GPL-3.0-or-later |
| gdbm | 1.26-r6 | GPL-3.0-or-later |
| gdbm | 1.26-r6 | — |
| gdbm.yaml | f003022285365e5de3bee7aa44caafa602eca04b | Apache-2.0 |
| git/bzip2 | bzip2-1.0.8 | MPL-2.0 AND MIT |
| git/gdbm | v1.26 | GPL-3.0-or-later |
| git/glibc | b4f51887c48ac82acfdb13f96d9eab5d120cb2b7 | LGPL-2.1-or-later |
| git/readline | readline-8.3 | GPL-3.0-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | — |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | — |
| glibc-2.44.yaml | 2f4fbb70b55156f2d4cabff471b50dab0e75aa89 | Apache-2.0 |
| gnutools/gcc | releases/gcc-16.2.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| idna | v3.15 | MIT |
| images/airflow/melange.yaml | 1bce6e63ea891bcced1fda6bdc6813ced3474c4e | — |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | — |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | — |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | — |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | — |
| libbz2-1 | 1.0.8-r24 | MPL-2.0 AND MIT |
| libbz2-1 | 1.0.8-r24 | (MPL-2.0 AND MIT) |
| libbz2-1 | 1.0.8-r24 | — |
| libcrypt1-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| libcrypt1-2.44 | 2.44-r7 | — |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | — |
| libexpat | R_2_8_5 | MIT |
| libexpat1 | 2.8.5-r0 | MIT |
| libexpat1 | 2.8.5-r0 | MIT |
| libexpat1 | 2.8.5-r0 | — |
| libffi | 3.8.0-r1 | MIT |
| libffi | v3.8.0 | MIT |
| libffi | 3.8.0-r1 | MIT |
| libffi | 3.8.0-r1 | — |
| libffi.yaml | 719d64d3fcaaae77a969bee96bbd6c1bbba9d9dd | Apache-2.0 |
| libgcc | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.2.0-r1 | — |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | — |
| libstdc++ | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libstdc++ | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libstdc++ | 16.2.0-r1 | — |
| libuuid | 2.42.4-r0 | GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-only AND LGPL-2.1-or-later AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND MIT AND CC-PDDC |
| libuuid | 2.42.4-r0 | (GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-only AND LGPL-2.1-or-later AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND MIT AND CC-PDDC) |
| libuuid | 2.42.4-r0 | — |
| libxcrypt | 4.5.2-r5 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | v4.5.2 | GPL-2.0-or-later AND LGPL-2.1-or-later |
| libxcrypt | 4.5.2-r5 | (GPL-2.0-or-later AND LGPL-2.1-or-later) |
| libxcrypt | 4.5.2-r5 | — |
| libxcrypt.yaml | e199a2ea58e2f64dce226ac5edb148fa8ff72664 | Apache-2.0 |
| mpdecimal | 4.0.1-r4 | BSD-2-Clause |
| mpdecimal | 4.0.1 | — |
| mpdecimal | 4.0.1-r4 | BSD-2-Clause |
| mpdecimal | 4.0.1-r4 | — |
| mpdecimal.yaml | ca139f6b8e2cd5077f2565e94731bbe8ccfe9ba0 | Apache-2.0 |
| msgpack-python | v1.2.1 | MIT |
| ncurses | 6.6.20260926-r0 | MIT |
| ncurses | 6.6.20260926-r0 | MIT |
| ncurses | 6.6.20260926-r0 | — |
| ncurses-snapshots | v6_6_20260926 | MIT |
| ncurses-terminfo-base | 6.6.20260926-r0 | MIT |
| ncurses-terminfo-base | 6.6.20260926-r0 | MIT |
| ncurses-terminfo-base | 6.6.20260926-r0 | — |
| ncurses.yaml | 49af4fd909fca8f288f9ca88f700cbb6bd987f33 | Apache-2.0 |
| openssl | openssl-4.0.2 | Apache-2.0 |
| openssl | openssl-3.6.4 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | — |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | — |
| openssl-4.0.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | — |
| openssl-provider-legacy-allowed.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl.yaml | be56cfaac075e77bffb92439e0438bb31a21a2c7 | Apache-2.0 |
| pip | 26.2.1 | MIT |
| pip | 26.2.1 | — |
| py3-pip-wheel | 26.2.1-r1 | MIT |
| py3-pip-wheel | 26.2.1-r1 | MIT |
| py3-pip-wheel | 26.2.1-r1 | — |
| py3-pip.yaml | bae801c8fe2d691ef6366301f33e76e049f4c736 | Apache-2.0 |
| python-3.12 | 3.12.14-r9 | PSF-2.0 |
| python-3.12 | 3.12.14-r9 | PSF-2.0 |
| python-3.12 | 3.12.14-r9 | — |
| python-3.12-base | 3.12.14-r9 | PSF-2.0 |
| python-3.12-base | 3.12.14-r9 | PSF-2.0 |
| python-3.12-base | 3.12.14-r9 | — |
| python-3.12.yaml | 0bec60b2e47ce757adc2340f526da8e90046e0b8 | Apache-2.0 |
| readline | 8.3-r3 | GPL-3.0-or-later |
| readline | 8.3-r3 | GPL-3.0-or-later |
| readline | 8.3-r3 | — |
| readline.yaml | 20a5359ac0a7a6aca23efa343f0f29c8d3ea1453 | Apache-2.0 |
| sha256:1f79ec773b4429103d447ada26045c73091093f6afaf5914e90df66bb95d62b5 | 20230201 | — |
| sha256:8650d2340c1f7a2102abaa24cf57386aa02254b031a89caeb6324c30ad081ce0 | sha256:8650d2340c1f7a2102abaa24cf57386aa02254b031a89caeb6324c30ad081ce0 | — |
| sqlite | 3.53.4 | — |
| sqlite-libs | 3.53.4-r2 | blessing |
| sqlite-libs | 3.53.4-r2 | blessing |
| sqlite-libs | 3.53.4-r2 | — |
| sqlite.yaml | 89df0d1a31c1a22d7d67ddf690145ffc5b9f759d | Apache-2.0 |
| tini | 0.19.0-r26 | MIT |
| tini | v0.19.0 | MIT |
| tini | 0.19.0-r26 | MIT |
| tini | 0.19.0-r26 | — |
| tini.yaml | ed6708a41ae306d9a14b1e088a7590c8278a9bab | Apache-2.0 |
| urllib3 | 2.7.0 | MIT |
| util-linux | v2.42.4 | GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-2.0-only AND GPL-1.0-only AND LGPL-2.1-or-later AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND MIT AND CC-PDDC |
| util-linux.yaml | adae743872184acfea818f26f89967f7d8bd1d91 | Apache-2.0 |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | — |
| wolfi-baselayout.yaml | a4472f6292a5e48d6d611bf24c6e119b1a483e66 | Apache-2.0 |
| xz | 5.8.4-r0 | GPL-3.0-or-later |
| xz | v5.8.4 | GPL-3.0-or-later |
| xz | 5.8.4-r0 | GPL-3.0-or-later |
| xz | 5.8.4-r0 | — |
| xz.yaml | 3976a1f9c66f7243a9af8522d471a9b10a99b75f | Apache-2.0 |
| zlib | 1.3.2.1_rc20260601-r0 | MPL-2.0 AND MIT |
| zlib | e3dc0a85b7032e98380dec011bc8f2c2ee0d8fca | MPL-2.0 AND MIT |
| zlib | 1.3.2.1_rc20260601-r0 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2.1_rc20260601-r0 | — |
| zlib.yaml | f2ad881d0053f3f3b6b639e041b171fc0e5b7244 | Apache-2.0 |
1 high11 medium1 low 0 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| CVE-2026-82049 | High | python-3.12 | 3.12.14-r9 | — |
| CVE-2025-12781 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2025-15366 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2025-15367 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-19672 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-3446 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-6019 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-77117 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-80489 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-8674 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-87910 | Medium | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-89092 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-15310 | Low | python-3.12 | 3.12.14-r9 | — |
| CVE-2026-3479 | Negligible | python-3.12 | 3.12.14-r9 | — |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-airflow: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-airflow: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-airflow: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.