AppRunner: Include ssh client and keygen tools

Change-Id: I4ef99076df3dbf7bfeb62b60c1980c308f925e11
diff --git a/apps/app-runner/Dockerfile.deno.2.2.0 b/apps/app-runner/Dockerfile.deno.2.2.0
index bc2014e..6145bf9 100644
--- a/apps/app-runner/Dockerfile.deno.2.2.0
+++ b/apps/app-runner/Dockerfile.deno.2.2.0
@@ -2,4 +2,9 @@
 
 ARG TARGETARCH
 
+RUN apk update
+# TODO(gio): git and openssh is not generally required, we need it for canvas.
+# Instead allow dodo-app definition to include required tool list.
+RUN apk add openssh-keygen openssh
+
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.golang.1.20.0 b/apps/app-runner/Dockerfile.golang.1.20.0
index 16f484f..d93eb56 100644
--- a/apps/app-runner/Dockerfile.golang.1.20.0
+++ b/apps/app-runner/Dockerfile.golang.1.20.0
@@ -2,4 +2,7 @@
 
 ARG TARGETARCH
 
+RUN apk update
+RUN apk add openssh-keygen openssh
+
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.golang.1.22.0 b/apps/app-runner/Dockerfile.golang.1.22.0
index af75fe6..3106d0a 100644
--- a/apps/app-runner/Dockerfile.golang.1.22.0
+++ b/apps/app-runner/Dockerfile.golang.1.22.0
@@ -2,4 +2,7 @@
 
 ARG TARGETARCH
 
+RUN apk update
+RUN apk add openssh-keygen openssh
+
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.golang.1.24.0 b/apps/app-runner/Dockerfile.golang.1.24.0
index 692818b..040619a 100644
--- a/apps/app-runner/Dockerfile.golang.1.24.0
+++ b/apps/app-runner/Dockerfile.golang.1.24.0
@@ -2,4 +2,7 @@
 
 ARG TARGETARCH
 
+RUN apk update
+RUN apk add openssh-keygen openssh
+
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.hugo b/apps/app-runner/Dockerfile.hugo
index 490d5c5..4a8d4df 100644
--- a/apps/app-runner/Dockerfile.hugo
+++ b/apps/app-runner/Dockerfile.hugo
@@ -2,4 +2,7 @@
 
 ARG TARGETARCH
 
+RUN apk update
+RUN apk add openssh-keygen openssh
+
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.nextjs.deno.2.0.0 b/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
index eb59713..98f62ed 100644
--- a/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
+++ b/apps/app-runner/Dockerfile.nextjs.deno.2.0.0
@@ -2,11 +2,4 @@
 
 ARG TARGETARCH
 
-# COPY --from=denoland/deno:alpine-2.0.0 /bin/deno /usr/bin/deno
-
-# RUN apk add --update npm
-
-RUN apt-get update -y
-RUN apt-get install -y npm
-
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.nodejs.23.1.0 b/apps/app-runner/Dockerfile.nodejs.23.1.0
index 6bb9cb8..bed0f5c 100644
--- a/apps/app-runner/Dockerfile.nodejs.23.1.0
+++ b/apps/app-runner/Dockerfile.nodejs.23.1.0
@@ -2,11 +2,7 @@
 
 ARG TARGETARCH
 
-# COPY --from=denoland/deno:alpine-2.0.0 /bin/deno /usr/bin/deno
-
-# RUN apk add --update npm
-
-# RUN apt-get update -y
-# RUN apt-get install -y npm
+RUN apk update
+RUN apk add openssh-keygen openssh
 
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.nodejs.24.0.2 b/apps/app-runner/Dockerfile.nodejs.24.0.2
index 0c0397c..8c8c4aa 100644
--- a/apps/app-runner/Dockerfile.nodejs.24.0.2
+++ b/apps/app-runner/Dockerfile.nodejs.24.0.2
@@ -3,6 +3,8 @@
 ARG TARGETARCH
 
 RUN apk update
-RUN apk add gcc g++ make musl-dev python3 py3-setuptools
+# TODO(gio): git and openssh is not generally required, we need it for canvas.
+# Instead allow dodo-app definition to include required tool list.
+RUN apk add gcc g++ git make musl-dev python3 py3-setuptools openssh-keygen openssh
 
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Dockerfile.php.8.2.apache b/apps/app-runner/Dockerfile.php.8.2.apache
index 34a11a7..0af1eb5 100644
--- a/apps/app-runner/Dockerfile.php.8.2.apache
+++ b/apps/app-runner/Dockerfile.php.8.2.apache
@@ -1,6 +1,9 @@
 FROM php:8.2-apache-bookworm
 ARG TARGETARCH
 
+RUN apt-get update -y
+RUN apt-get install -y openssh-client
+
 RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
 
 COPY app-runner_${TARGETARCH} /usr/bin/app-runner