AppRunner: Support Nodejs 24.0.2
Change-Id: I37659d91d8211d5cfb4240a885da5a51ef43774a
diff --git a/apps/app-runner/Dockerfile.nodejs.24.0.2 b/apps/app-runner/Dockerfile.nodejs.24.0.2
new file mode 100644
index 0000000..0c0397c
--- /dev/null
+++ b/apps/app-runner/Dockerfile.nodejs.24.0.2
@@ -0,0 +1,8 @@
+FROM library/node:24.0.2-alpine3.20
+
+ARG TARGETARCH
+
+RUN apk update
+RUN apk add gcc g++ make musl-dev python3 py3-setuptools
+
+COPY app-runner_${TARGETARCH} /usr/bin/app-runner
diff --git a/apps/app-runner/Makefile b/apps/app-runner/Makefile
index eeffb68..86ec333 100644
--- a/apps/app-runner/Makefile
+++ b/apps/app-runner/Makefile
@@ -10,6 +10,7 @@
manifest_dest_nextjs_deno_2_0_0=docker://docker.io/$(repo_name)/app-runner:nextjs-deno-2.0.0
manifest_dest_deno_2_2_0=docker://docker.io/$(repo_name)/app-runner:deno-2.2.0
manifest_dest_nodejs_23_1_0=docker://docker.io/$(repo_name)/app-runner:nodejs-23.1.0
+manifest_dest_nodejs_24_0_2=docker://docker.io/$(repo_name)/app-runner:nodejs-24.0.2
endif
clean:
@@ -119,7 +120,7 @@
$(podman) manifest push $(repo_name)/app-runner:nextjs-deno-2.0.0 $(manifest_dest_nextjs_deno_2_0_0)
$(podman) manifest rm $(repo_name)/app-runner:nextjs-deno-2.0.0
-# Nextjs
+# Nodejs
push_nodejs_23_1_0_arm64: clean build_arm64
$(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nodejs-23.1.0-arm64 -f Dockerfile.nodejs.23.1.0 $(docker_flags) .
@@ -133,6 +134,18 @@
$(podman) manifest create $(repo_name)/app-runner:nodejs-23.1.0 $(repo_name)/app-runner:nodejs-23.1.0-arm64 $(repo_name)/app-runner:nodejs-23.1.0-amd64
$(podman) manifest push --purge $(repo_name)/app-runner:nodejs-23.1.0 $(manifest_dest_nodejs_23_1_0)
+push_nodejs_24_0_2_arm64: clean build_arm64
+ $(podman) build --platform linux/arm64 --tag=$(repo_name)/app-runner:nodejs-24.0.2-arm64 -f Dockerfile.nodejs.24.0.2 $(docker_flags) .
+ $(podman) push $(repo_name)/app-runner:nodejs-24.0.2-arm64
+
+push_nodejs_24_0_2_amd64: clean build_amd64
+ $(podman) build --platform linux/amd64 --tag=$(repo_name)/app-runner:nodejs-24.0.2-amd64 -f Dockerfile.nodejs.24.0.2 $(docker_flags) .
+ $(podman) push $(repo_name)/app-runner:nodejs-24.0.2-amd64
+
+push_nodejs_24_0_2: push_nodejs_24_0_2_arm64 push_nodejs_24_0_2_amd64
+ $(podman) manifest create $(repo_name)/app-runner:nodejs-24.0.2 $(repo_name)/app-runner:nodejs-24.0.2-arm64 $(repo_name)/app-runner:nodejs-24.0.2-amd64
+ $(podman) manifest push --purge $(repo_name)/app-runner:nodejs-24.0.2 $(manifest_dest_nodejs_24_0_2)
+
# Deno
push_deno_2_2_0_arm64: clean build_arm64
@@ -150,4 +163,4 @@
# all
-push: push_golang_1_22_0 push_golang_1_20_0 push_hugo push_php_8_2_apache push_nextjs_deno_2_0_0 push_nodejs_23_1_0 push_deno_2_2_0
+push: push_golang_1_22_0 push_golang_1_20_0 push_hugo push_php_8_2_apache push_nextjs_deno_2_0_0 push_nodejs_23_1_0 push_nodejs_24_0_2 push_deno_2_2_0
diff --git a/apps/app-runner/server.go b/apps/app-runner/server.go
index ef14842..83bcac4 100644
--- a/apps/app-runner/server.go
+++ b/apps/app-runner/server.go
@@ -60,7 +60,9 @@
http.HandleFunc("/update", s.handleUpdate)
http.HandleFunc("/ready", s.handleReady)
http.HandleFunc("/logs", s.handleLogs)
- go s.pingManager()
+ if s.managerAddr != "" && s.appId != "" {
+ go s.pingManager()
+ }
if err := s.run(); err != nil {
return err
}
diff --git a/charts/app-runner/Chart.yaml b/charts/app-runner/Chart.yaml
index b1bad90..0edd283 100644
--- a/charts/app-runner/Chart.yaml
+++ b/charts/app-runner/Chart.yaml
@@ -2,5 +2,5 @@
name: app-runner
description: A Helm chart for PCloud App Runner
type: application
-version: 0.0.1
-appVersion: "0.0.1"
+version: 0.0.4
+appVersion: "0.0.4"
diff --git a/charts/app-runner/templates/install.yaml b/charts/app-runner/templates/install.yaml
index 3279d4b..8a1a8c7 100644
--- a/charts/app-runner/templates/install.yaml
+++ b/charts/app-runner/templates/install.yaml
@@ -49,7 +49,7 @@
ports:
- name: api
port: 80
- targetPort: api
+ targetPort: dodo-api
protocol: TCP
---
apiVersion: apps/v1
@@ -91,7 +91,7 @@
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- - name: api
+ - name: dodo-api
containerPort: {{ .Values.apiPort }}
protocol: TCP
{{- if .Values.appPorts }}
diff --git a/core/installer/app_configs/dodo_app.cue b/core/installer/app_configs/dodo_app.cue
index 2966704..33dbb82 100644
--- a/core/installer/app_configs/dodo_app.cue
+++ b/core/installer/app_configs/dodo_app.cue
@@ -456,7 +456,11 @@
type: "nodejs:23.1.0"
}
-#NodeJSApp: #NodeJS2310
+#NodeJS2402: #NodeJSAppTmpl & {
+ type: "nodejs:24.0.2"
+}
+
+#NodeJSApp: #NodeJS2310 | #NodeJS2402
#App: #GoApp | #HugoApp | #PHPApp | #NextjsApp | #NodeJSApp | #DenoApp
diff --git a/core/installer/samples/canvas.rest b/core/installer/samples/canvas.rest
index 7454e5e..d2a0c8c 100644
--- a/core/installer/samples/canvas.rest
+++ b/core/installer/samples/canvas.rest
@@ -37,14 +37,12 @@
"repository": "https://code.v1.dodo.cloud/pcloud",
"rootDir": "apps/canvas/back"
},
- "type": "nodejs:23.1.0",
+ "type": "nodejs:24.0.2",
"volume": ["data"],
"preBuildCommands": [{
"bin": "cd ../front && npm install && npm run build"
}, {
- "bin": "npx prisma deploy"
- }, {
- "bin": "npx prisma generate"
+ "bin": "npx prisma migrate dev"
}]
}
],