|
4 | 4 | # Developer Images
|
5 | 5 |
|
6 | 6 | [](https://github.com/devfile/developer-images/actions/workflows/ubi9-build.yaml)
|
| 7 | +[](https://github.com/devfile/developer-images/actions/workflows/ubi10-build.yaml) |
7 | 8 |
|
8 | 9 | Containers images with tools for developers 👨💻👩💻
|
9 | 10 |
|
10 | 11 | ## Developer Base Image
|
11 | 12 |
|
12 |
| -### Red Hat Universal Base Image ([UBI](https://developers.redhat.com/articles/ubi-faq#)) based image ([quay.io/devfile/base-developer-image:ubi9-latest](https://quay.io/repository/devfile/base-developer-image)) |
| 13 | +### Red Hat Universal Base Image ([UBI](https://developers.redhat.com/articles/ubi-faq#)) based images |
13 | 14 |
|
14 |
| -Run the following command to test it with Docker: |
| 15 | +Available versions: |
| 16 | +- **UBI 9**: [quay.io/devfile/base-developer-image:ubi9-latest](https://quay.io/repository/devfile/base-developer-image) |
| 17 | +- **UBI 10**: [quay.io/devfile/base-developer-image:ubi10-latest](https://quay.io/repository/devfile/base-developer-image) |
15 | 18 |
|
| 19 | +Run the following commands to test with Docker: |
| 20 | + |
| 21 | +**UBI 9:** |
16 | 22 | ```bash
|
17 | 23 | $ docker run -ti --rm \
|
18 | 24 | quay.io/devfile/base-developer-image:ubi9-latest \
|
19 | 25 | bash
|
20 | 26 | ```
|
| 27 | + |
| 28 | +**UBI 10:** |
| 29 | +```bash |
| 30 | +$ docker run -ti --rm \ |
| 31 | + quay.io/devfile/base-developer-image:ubi10-latest \ |
| 32 | + bash |
| 33 | +``` |
21 | 34 | ### Included Development Tools
|
22 | 35 |
|
23 |
| -| Tool | ubi9 based image | |
24 |
| -|---------------------|-------------------------------------| |
25 |
| -| `bash` |`bash` | |
26 |
| -| `bat` |`<gh releases>` | |
27 |
| -| `buildah` |`buildah` | |
28 |
| -| `curl` |`curl` | |
29 |
| -| `ps` |`ps` | |
30 |
| -| `diff` |`diffutils` | |
31 |
| -| `emacs` |`NOT AVAILABLE (fedora only)` | |
32 |
| -| `fish` |`NOT AVAILABLE (fedora only)` | |
33 |
| -| `gh` |`<gh releases>` | |
34 |
| -| `git` |`git` | |
35 |
| -| `git-lfs` |`git-lfs` | |
36 |
| -| `ip` |`iproute` | |
37 |
| -| `jq` |`jq` | |
38 |
| -| `htop` |`NOT AVAILABLE (fedora only)` | |
39 |
| -| `kubedock` |`<gh releases>` | |
40 |
| -| `less` |`less` | |
41 |
| -| `lsof` |`lsof` | |
42 |
| -| `man` |`man` | |
43 |
| -| `nano` |`nano` | |
44 |
| -| `netcat` |`NOT AVAILABLE` | |
45 |
| -| `netstat` |`net-tools` | |
46 |
| -| `openssh-client` |`openssh-clients` | |
47 |
| -| `podman` |`podman` | |
48 |
| -| `7z` |`p7zip-plugins` | |
49 |
| -| `ripgrep` |`<gh releases>` | |
50 |
| -| `rsync` |`rsync` | |
51 |
| -| `scp` |`openssh-clients` | |
52 |
| -| `screen` |`NOT AVAILABLE` | |
53 |
| -| `sed` |`sed` | |
54 |
| -| `shasum` |`perl-Digest-SHA` | |
55 |
| -| `socat` |`socat` | |
56 |
| -| `sudo` |`sudo` | |
57 |
| -| `ss` |`NOT AVAILABLE` | |
58 |
| -| `ssl-cert` |`NOT AVAILABLE` | |
59 |
| -| `stow` |`stow` | |
60 |
| -| `tail` |`<built in>` | |
61 |
| -| `tar` |`tar` | |
62 |
| -| `time` |`time` | |
63 |
| -| `tldr` |`NOT AVAILABLE (fedora only)` | |
64 |
| -| `tmux` |`NOT AVAILABLE (fedora only)` | |
65 |
| -| `vim` |`vim` | |
66 |
| -| `wget` |`wget` | |
67 |
| -| `zip` |`zip` | |
68 |
| -| `zsh` |`NOT AVAILABLE (fedora only)` | |
69 |
| -| **TOTAL SIZE** | **903MB** (341MB compressed) | |
| 36 | +| Tool | ubi9 based image | ubi10 based image | |
| 37 | +|---------------------|-------------------------------------|-------------------------------------| |
| 38 | +| `bash` |`bash` |`bash` | |
| 39 | +| `bat` |`<gh releases>` |`<gh releases>` | |
| 40 | +| `buildah` |`buildah` |`buildah` | |
| 41 | +| `curl` |`curl` |`curl` | |
| 42 | +| `ps` |`ps` |`ps` | |
| 43 | +| `diff` |`diffutils` |`diffutils` | |
| 44 | +| `emacs` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 45 | +| `fish` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 46 | +| `gh` |`<gh releases>` |`<gh releases>` | |
| 47 | +| `git` |`git` |`git` | |
| 48 | +| `git-lfs` |`git-lfs` |`git-lfs` | |
| 49 | +| `ip` |`iproute` |`iproute` | |
| 50 | +| `jq` |`jq` |`jq` | |
| 51 | +| `htop` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 52 | +| `kubedock` |`<gh releases>` |`<gh releases>` | |
| 53 | +| `less` |`less` |`less` | |
| 54 | +| `lsof` |`lsof` |`lsof` | |
| 55 | +| `man` |`man` |`man` | |
| 56 | +| `nano` |`nano` |`nano` | |
| 57 | +| `netcat` |`NOT AVAILABLE` |`NOT AVAILABLE` | |
| 58 | +| `netstat` |`net-tools` |`net-tools` | |
| 59 | +| `openssh-client` |`openssh-clients` |`openssh-clients` | |
| 60 | +| `podman` |`podman` |`podman` | |
| 61 | +| `7z` |`p7zip-plugins` |`p7zip-plugins` | |
| 62 | +| `ripgrep` |`<gh releases>` |`<gh releases>` | |
| 63 | +| `rsync` |`rsync` |`rsync` | |
| 64 | +| `scp` |`openssh-clients` |`openssh-clients` | |
| 65 | +| `screen` |`NOT AVAILABLE` |`NOT AVAILABLE` | |
| 66 | +| `sed` |`sed` |`sed` | |
| 67 | +| `shasum` |`perl-Digest-SHA` |`perl-Digest-SHA` | |
| 68 | +| `socat` |`socat` |`socat` | |
| 69 | +| `sudo` |`sudo` |`sudo` | |
| 70 | +| `ss` |`NOT AVAILABLE` |`NOT AVAILABLE` | |
| 71 | +| `ssl-cert` |`NOT AVAILABLE` |`NOT AVAILABLE` | |
| 72 | +| `stow` |`stow` |`stow` | |
| 73 | +| `tail` |`<built in>` |`<built in>` | |
| 74 | +| `tar` |`tar` |`tar` | |
| 75 | +| `time` |`time` |`time` | |
| 76 | +| `tldr` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 77 | +| `tmux` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 78 | +| `vim` |`vim` |`vim` | |
| 79 | +| `wget` |`wget` |`wget` | |
| 80 | +| `zip` |`zip` |`zip` | |
| 81 | +| `zsh` |`NOT AVAILABLE (fedora only)` |`NOT AVAILABLE (fedora only)` | |
| 82 | +| **TOTAL SIZE** | **903MB** (341MB compressed) | **TODO** | |
70 | 83 |
|
71 | 84 | ### Extending the base image
|
72 | 85 | When extending the base image, `source kubedock_setup` should be called in the new image's entrypoint to set up kubedock support. This sets up a wrapper for podman to use kubedock for the following podman commands if the `KUBEDOCK_ENABLED` env variable is set to `true`:
|
@@ -171,10 +184,30 @@ docker run -ti --rm \
|
171 | 184 | #### Java
|
172 | 185 | JAVA_HOME_8, JAVA_HOME_11, JAVA_HOME_17, JAVA_HOME_21
|
173 | 186 |
|
| 187 | +## Configuration |
| 188 | + |
| 189 | +### Registry Override |
| 190 | + |
| 191 | +The workflows support using custom container registries through the `REGISTRY` environment variable. This is useful for forks that want to publish to their own registry. |
| 192 | + |
| 193 | +**Default behavior:** Images are published to `quay.io/devfile` |
| 194 | + |
| 195 | +**To override in a fork:** |
| 196 | +1. Go to your repository **Settings** → **Secrets and Variables** → **Actions** → **Variables** |
| 197 | +2. Add a repository variable: `REGISTRY` = `your-registry.com/your-namespace` |
| 198 | +3. All workflows will automatically use your custom registry |
| 199 | + |
| 200 | +**Example registry formats:** |
| 201 | +- `quay.io/youruser` |
| 202 | +- `ghcr.io/youruser` |
| 203 | +- `docker.io/youruser` |
| 204 | +- `your-private-registry.com/namespace` |
| 205 | + |
174 | 206 | # Builds
|
175 | 207 |
|
176 | 208 | This repo contains [actions](https://github.com/devfile/developer-images/actions), including:
|
177 |
| -* [](https://github.com/devfile/developer-images/actions/workflows/ubi9-build.yaml) |
| 209 | +* [](https://github.com/devfile/developer-images/actions/workflows/ubi9-build.yaml) |
| 210 | +* [](https://github.com/devfile/developer-images/actions/workflows/ubi10-build.yaml) |
178 | 211 |
|
179 | 212 | Downstream builds can be found at the link below, which is _internal to Red Hat_. Stable builds can be found by replacing the 3.x with a specific version like 3.2.
|
180 | 213 |
|
|
0 commit comments