aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdeploy/cloudflare.sh41
-rw-r--r--wrangler.toml12
2 files changed, 53 insertions, 0 deletions
diff --git a/deploy/cloudflare.sh b/deploy/cloudflare.sh
new file mode 100755
index 0000000..d64325f
--- /dev/null
+++ b/deploy/cloudflare.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Baut die Browserfassung und schiebt sie zu Cloudflare Workers (README § 15).
+#
+# 1. ./mvnw -Pwasm package — erzeugt target/web und lässt deploy/webpaket.sh darüber
+# laufen (wasm-opt, Quelltext-Tarball, 25-MiB-Prüfung). Bricht bei uneingecheckten
+# Änderungen ab, denn der beigelegte Quelltext muss der gebaute sein.
+# 2. wrangler deploy — lädt target/web nach wrangler.toml hoch.
+#
+# JAVA_HOME muss auf Oracle GraalVM 25.1 oder neuer zeigen; ist es nicht gesetzt, wird
+# /Library/Java/JavaVirtualMachines/graalvm-25.jdk genommen.
+#
+# Aufruf: deploy/cloudflare.sh [--nur-bauen | --nur-hochladen]
+
+set -eu
+
+wurzel="$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)"
+cd "$wurzel"
+
+: "${JAVA_HOME:=/Library/Java/JavaVirtualMachines/graalvm-25.jdk/Contents/Home}"
+export JAVA_HOME
+
+bauen=1
+hochladen=1
+case "${1:-}" in
+ --nur-bauen) hochladen=0 ;;
+ --nur-hochladen) bauen=0 ;;
+ '') ;;
+ *) echo "cloudflare: unbekannte Angabe „$1“ (--nur-bauen | --nur-hochladen)" >&2; exit 2 ;;
+esac
+
+if [ "$bauen" = 1 ]; then
+ ./mvnw -Pwasm package
+fi
+
+if [ "$hochladen" = 1 ]; then
+ if command -v wrangler >/dev/null 2>&1; then
+ wrangler deploy
+ else
+ npx --yes wrangler deploy
+ fi
+fi
diff --git a/wrangler.toml b/wrangler.toml
new file mode 100644
index 0000000..3647802
--- /dev/null
+++ b/wrangler.toml
@@ -0,0 +1,12 @@
+# Auslieferung über Cloudflare Workers (README § 15). Der Worker führt keinen eigenen
+# Code aus: hochgeladen wird allein das Verzeichnis target/web, das `-Pwasm package`
+# erzeugt und deploy/webpaket.sh auslieferfertig hinterlässt.
+#
+# Nicht zu verwechseln ist der Cloudflare-Worker mit target/web/worker.js — letzterer ist
+# ein Web Worker des Browsers und für Cloudflare nur eine statische Datei unter vielen.
+
+name = "aendggner"
+compatibility_date = "2026-08-22"
+
+[assets]
+directory = "./target/web"