refactor: convert JNLP agents to sidecars

Rather than try to derive these agents from the CloudBees Core Agent
image, let's instead build up stand-alone images independent of the
current CloudBees version, so we can reclaim a bit of control over the
shape of the image.

Change-Id: I33bd79768b9f73eb79df39ca9594445d3853a2ac
Signed-off-by: Chris Kay <chris.kay@arm.com>
diff --git a/cloudbees-amd64-jenkins-jobs/Dockerfile b/cloudbees-amd64-jenkins-jobs/Dockerfile
index 01fa997..3d98e56 100644
--- a/cloudbees-amd64-jenkins-jobs/Dockerfile
+++ b/cloudbees-amd64-jenkins-jobs/Dockerfile
@@ -1,6 +1,6 @@
 # syntax=docker/dockerfile:1
 
-FROM trustedfirmware/ci-uv-agent@sha256:acf692bcf0e2bd38e7cac2e0825ea1af7a94f16928735c1a41f5f67177d957e8
+FROM trustedfirmware/ci-uv-agent:latest
 
 ENV PATH="/home/jenkins/.venv/bin:${PATH}"
 
@@ -11,3 +11,5 @@
     uv venv "/home/jenkins/.venv" --python "$(cat "/tmp/.python-version")" --python-preference only-managed
     uv pip install --requirements "/tmp/requirements.txt"
 EOF
+
+CMD ["cat"]
diff --git a/cloudbees-amd64-uv/Dockerfile b/cloudbees-amd64-uv/Dockerfile
index 0f91c5f..1d9a010 100644
--- a/cloudbees-amd64-uv/Dockerfile
+++ b/cloudbees-amd64-uv/Dockerfile
@@ -1,6 +1,16 @@
 # syntax=docker/dockerfile:1
 
-FROM ghcr.io/astral-sh/uv:0.9.18@sha256:5713fa8217f92b80223bc83aac7db36ec80a84437dbc0d04bbc659cae030d8c9 AS uv
-FROM cloudbees/cloudbees-core-agent:2.528.3.35200@sha256:7481f1e8df6a3a2891e6707f4e4da5995046ddf58804a5aaaa1588ba9169e7d9
+FROM astral/uv:0.9.18-alpine3.22
 
-COPY --from=uv --chown=root:root --chmod=0755 /uv /uvx /usr/local/bin/
+RUN <<'EOF'
+    addgroup -g 1000 jenkins
+    adduser -D -u 1000 -G jenkins jenkins
+EOF
+
+USER jenkins
+
+WORKDIR /home/jenkins
+VOLUME /home/jenkins/.jenkins
+VOLUME /home/jenkins/agent
+
+ENTRYPOINT ["cat"]