live wire
▸JAVA · Quarkus 4.0.0.Beta1 moves to Java 21, adds HTTP/3 and starts extension migration (Oct. 1)Quarkus▸SECURITY · X41 shows shared /dev/shm can turn Envoy hot restart into cross-container lateral movementX41 D-Sec▸DATA · AWS and Red Hat map Confluent Platform on ROSA with HCP, CFK and OpenShift security controlsAWS IBM & Red Hat▸API · Red Hat resolves intermittent 3scale API Manager latencyRed Hat Status▸AI · IBM shows Maximo workflows exposed as approval-gated MCP tools on OpenShiftIBM Community▸AI · vLLM adds day-zero NVIDIA Vera Rubin support and reports 7.8× per-GPU throughputvLLM▸INTEGRATION · Apache Camel 4.23 makes Kamelets visible to AI tooling and validationApache Camel▸SECURITY · OpenShift 4.14.75 fixes five CVEs, including two SQLite code-execution flawsRed Hat Customer Portal▸SUPPLY CHAIN · Red Hat maps CRA-ready open source practices as EU reporting rules take effectRed Hat Blog▸AI · Red Hat AI Inference on IBM Cloud adds an OpenAI-compatible Embeddings APIIBM Cloud▸API · Red Hat investigates degraded 3scale API Management SaaS APIsRed Hat Status▸PLATFORM · Red Hat and Cloudera validate a 100-VM analytics stack on OpenShift VirtualizationRed Hat Blog▸DEVELOPER HUB · Red Hat maps a four-zone, quota-aware Dev Spaces architectureRed Hat Developer▸INTEGRATION · Camel 4.23 teaches agent tools to discover and validate KameletsApache Camel▸JAVA · Quarkus 4.0.0.Beta1 moves to Java 21, adds HTTP/3 and starts extension migration (Oct. 1)Quarkus▸SECURITY · X41 shows shared /dev/shm can turn Envoy hot restart into cross-container lateral movementX41 D-Sec▸DATA · AWS and Red Hat map Confluent Platform on ROSA with HCP, CFK and OpenShift security controlsAWS IBM & Red Hat▸API · Red Hat resolves intermittent 3scale API Manager latencyRed Hat Status▸AI · IBM shows Maximo workflows exposed as approval-gated MCP tools on OpenShiftIBM Community▸AI · vLLM adds day-zero NVIDIA Vera Rubin support and reports 7.8× per-GPU throughputvLLM▸INTEGRATION · Apache Camel 4.23 makes Kamelets visible to AI tooling and validationApache Camel▸SECURITY · OpenShift 4.14.75 fixes five CVEs, including two SQLite code-execution flawsRed Hat Customer Portal▸SUPPLY CHAIN · Red Hat maps CRA-ready open source practices as EU reporting rules take effectRed Hat Blog▸AI · Red Hat AI Inference on IBM Cloud adds an OpenAI-compatible Embeddings APIIBM Cloud▸API · Red Hat investigates degraded 3scale API Management SaaS APIsRed Hat Status▸PLATFORM · Red Hat and Cloudera validate a 100-VM analytics stack on OpenShift VirtualizationRed Hat Blog▸DEVELOPER HUB · Red Hat maps a four-zone, quota-aware Dev Spaces architectureRed Hat Developer▸INTEGRATION · Camel 4.23 teaches agent tools to discover and validate KameletsApache Camel
upstreambeat.ai
guidePLATFORM

Paicku turns a Buildpacks image build into a Node.js integration test

The command-line tool and library wrap Pack, choose Podman or Docker, run the resulting image and expose cleanup controls to test code.

Buildpacks image test flow from source to running container and cleanup.
Side by side: what changed
By The News Desk· Oct 7, 2026the quick take — two AI hosts go live when you do

A new Red Hat Developer walkthrough shows how Paicku can move Cloud Native Buildpacks from a separate packaging step into a JavaScript integration test.

Paicku is both a command-line tool and a Node.js library. It wraps the Buildpacks pack command, downloads and configures the Pack CLI, detects an available Podman or Docker runtime and exposes the build-and-run sequence to application code.

That makes the project most useful where a team wants to test the container artifact it intends to ship rather than only exercising source code on the host.

Build an image without wiring Pack by hand

The walkthrough requires Node.js 20 or later plus Podman or Docker. From the command line, npx paicku build accepts an application path and an optional image name. If no builder is supplied, Paicku defaults to docker.io/paketobuildpacks/builder-ubi8-base, which uses Red Hat Universal Base Image.

Paicku configures Pack before each build and can select a runtime explicitly with --container-runtime. The resulting OCI image can then run normally under Podman or Docker.

The wrapper does not limit Buildpacks to JavaScript. Red Hat’s example uses both a Node.js application and a Java Maven sample; the builder determines which application languages the workflow can handle.

Put the image lifecycle inside the test

The more distinctive path uses Paicku as a development dependency. Test code creates a Paicku client, calls build() with a source path and builder, starts a container from the returned image object, sends an HTTP request to its exposed port and stops the container during cleanup.

Red Hat’s sample uses the built-in node:test runner and asserts that the packaged application returns HTTP 200. A finally block stops the container even when the assertion or request fails. If the image build itself fails, Paicku returns a PaickuError.

For CI systems, this collapses several setup tasks into one test-facing API: installing Pack, selecting Podman or Docker, creating the image, starting it, finding its URL and removing the runtime instance.

What to evaluate before adopting it

Teams should still choose their builder deliberately for production work instead of relying silently on the default. They should also budget for image-build latency: the example test reported a run of roughly 109 seconds, far longer than a typical unit test.

The practical fit is therefore an integration or pre-release stage where validating the actual Buildpacks output is worth the extra time. Paicku’s contribution is not a new image format or builder. It is a smaller JavaScript control surface around Pack and the container runtime, making the packaged artifact accessible to ordinary Node.js test code.

Filed by The News Desk. Corrections: desk@upstreambeat.ai · Our standards →

comments · 0

    Comments are moderated before they appear. Your email is used once to confirm it is you — never shown, never sold. Corrections and questions get an answer from the desk when we have one.