|
1 | 1 | # nsenter |
2 | 2 |
|
3 | 3 | [](https://github.com/alexei-led/nsenter/actions/workflows/ci.yaml) |
4 | | -[](https://github.com/alexei-led/nsenter/actions/workflows/release.yaml) |
5 | | - |
| 4 | +[](https://github.com/alexei-led/nsenter/actions/workflows/build-release.yaml) |
6 | 5 |
|
7 | 6 | ## Overview |
8 | 7 |
|
9 | 8 | Minimal `scratch`-based Docker image (~400KB) containing a single statically linked `nsenter` binary, built from [util-linux](https://github.com/util-linux/util-linux) sources. |
10 | 9 |
|
11 | | -Automatically updated weekly when new util-linux versions are released. |
| 10 | +## Docker Image |
12 | 11 |
|
13 | | -## Docker Images |
| 12 | +```bash |
| 13 | +docker pull ghcr.io/alexei-led/nsenter |
| 14 | +``` |
14 | 15 |
|
15 | | -| Registry | Image | Pull Command | |
16 | | -|----------|-------|-------------| |
17 | | -| **GHCR** (default) | `ghcr.io/alexei-led/nsenter` | `docker pull ghcr.io/alexei-led/nsenter` | |
18 | | -| DockerHub | `alexeiled/nsenter` | `docker pull alexeiled/nsenter` | |
| 16 | +Multi-arch: `linux/amd64` and `linux/arm64` (built natively, no QEMU emulation). |
19 | 17 |
|
20 | | -Both registries provide multi-arch images for `linux/amd64` and `linux/arm64`. |
| 18 | +> **Note:** Docker Hub images (`alexeiled/nsenter`) are deprecated and no longer updated. |
| 19 | +> Docker Hub has introduced increasingly restrictive policies for open-source projects — |
| 20 | +> including rate limits, image retention limits for free accounts, and removal of |
| 21 | +> free Team organizations. We've moved exclusively to GitHub Container Registry (GHCR), |
| 22 | +> which offers unlimited pulls for public packages with no retention restrictions. |
21 | 23 |
|
22 | 24 | ## Usage |
23 | 25 |
|
24 | | -Read the official `nsenter` [documentation](http://man7.org/linux/man-pages/man1/nsenter.1.html). |
| 26 | +Read the official `nsenter` [man page](http://man7.org/linux/man-pages/man1/nsenter.1.html). |
25 | 27 |
|
26 | 28 | ### Enter a Docker container's namespaces |
27 | 29 |
|
@@ -62,19 +64,18 @@ The script creates a temporary pod with `hostPID`, `hostNetwork`, and toleration |
62 | 64 | ## Building |
63 | 65 |
|
64 | 66 | ```sh |
65 | | -# Build with a specific util-linux version |
66 | 67 | docker build --build-arg UTIL_LINUX_VER=2.41.3 -t nsenter . |
67 | 68 | ``` |
68 | 69 |
|
69 | 70 | ## CI/CD |
70 | 71 |
|
71 | 72 | | Workflow | Trigger | What it does | |
72 | 73 | |----------|---------|-------------| |
73 | | -| `ci.yaml` | Push / PR | Hadolint + ShellCheck + build + integration tests | |
74 | | -| `release.yaml` | Tag push | Multi-arch build → GHCR + DockerHub + GitHub Release | |
75 | | -| `cron.yaml` | Weekly (Monday) | Check for new util-linux → auto-tag → triggers release | |
| 74 | +| **CI** | Push / PR | Hadolint + ShellCheck + build + integration tests | |
| 75 | +| **Build and Release** | Tag push | Native multi-arch build → GHCR + GitHub Release | |
76 | 76 |
|
77 | | -## License |
| 77 | +Releases are triggered by pushing a version tag (e.g., `2.41.3`) matching the upstream [util-linux](https://github.com/util-linux/util-linux/releases) version. |
78 | 78 |
|
79 | | -[MIT](LICENSE) |
| 79 | +## License |
80 | 80 |
|
| 81 | +[GPL-2.0](LICENSE) |
0 commit comments