about summary refs log tree commit diff
path: root/bundles/geopulse/items.py
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-02-23 14:30:47 +0100
committerRobert Günzler <r@gnzler.io>2026-02-23 14:30:47 +0100
commit29b57ab7cb0ab1a0c9c9261de843ddc24b81f278 (patch)
treebe0c6b4cbc36187be7dc03fe183cc6d23d94bc00 /bundles/geopulse/items.py
parent2417f5ff024f13c8f08f579872a6b25b3293d980 (diff)
deploy geopulse
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/geopulse/items.py')
-rw-r--r--bundles/geopulse/items.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/bundles/geopulse/items.py b/bundles/geopulse/items.py
new file mode 100644
index 0000000..f9fa882
--- /dev/null
+++ b/bundles/geopulse/items.py
@@ -0,0 +1,37 @@
+directories = {
+    "/var/lib/geopulse": {},
+}
+
+files = {
+    "/etc/deployments/geopulse/kube.yaml": {
+        "content_type": "mako",
+        "context": node.metadata.get("containers")["geopulse"],
+        "triggers": {"svc_s6rc:geopulse:restart"},
+    },
+    "/etc/deployments/geopulse/secret.yaml": {
+        "content_type": "mako",
+        "mode": "0600",
+        "triggers": {"svc_s6rc:geopulse:restart"},
+    },
+}
+
+actions = {
+    "keygen": {
+        "command": """
+            set -ex
+            cd /var/lib/geopulse/
+            curl -sSfL https://raw.githubusercontent.com/tess1o/geopulse/refs/tags/1.2.0/generate-keys.sh |
+                sed -e 's|KEYS_DIR="/keys"|KEYS_DIR="./keys"|' |
+                sh -
+        """,
+        "unless": """
+            cd /var/lib/geopulse/keys &&
+            test -f jwt-private-key.pem &&
+            test -f jwt-public-key.pem &&
+            test -f ai-encryption-key.txt
+        """,
+        "needs": {
+            "directory:/var/lib/geopulse",
+        },
+    },
+}