about summary refs log tree commit diff
path: root/bundles/svtree-www/items.py
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/svtree-www/items.py')
-rw-r--r--bundles/svtree-www/items.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/bundles/svtree-www/items.py b/bundles/svtree-www/items.py
new file mode 100644
index 0000000..086bc33
--- /dev/null
+++ b/bundles/svtree-www/items.py
@@ -0,0 +1,43 @@
+if node.os != "alpine":
+    raise BundleError(f"{node.name}: OS {node.os} is not supported.")
+
+from os.path import join
+
+files = {
+    "/etc/s6-rc/templates/www/+service-srv/run": { "mode": "0755" },
+    "/etc/s6-rc/templates/www/+service-log/run": { "mode": "0755" },
+    "/etc/s6-rc/src/default/contents.d/www": {
+        "content_type": "text",
+        "content": "",
+        "triggers": {
+            "svc_openrc:svtree:reload",
+        },
+    },
+    "/etc/s6-rc/src/www/type": {
+        "content_type": "text",
+        "content": "bundle",
+        "triggers": {
+            "svc_openrc:svtree:reload",
+        },
+    },
+}
+
+repo.libs.gen.add_files_recursive(
+    files,
+    join(repo.bundles_dir, "svtree-www", "files"),
+)
+
+# TODO: can we use purge = True here?
+
+directories = {
+    "/etc/s6-rc/src/www/contents.d": {}
+}
+
+for www, _ in node.metadata.get("www", {}).items():
+    svc_s6rc[www] = {
+        "bundle": "www",
+        "generate": "www",
+        "triggers": {
+            "svc_openrc:svtree:reload",
+        },
+    }