From 38be6c13f76e893cf47636257071b440dec0c5b2 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Sun, 7 Sep 2025 17:32:13 +0200 Subject: initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- bundles/s6/items.py | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 bundles/s6/items.py (limited to 'bundles/s6/items.py') diff --git a/bundles/s6/items.py b/bundles/s6/items.py new file mode 100644 index 0000000..2fd8370 --- /dev/null +++ b/bundles/s6/items.py @@ -0,0 +1,62 @@ +if node.os != "alpine": + raise BundleError(f"{node.name}: OS {node.os} is not supported.") + +from os.path import join + +files = { + "/bin/svdn": {"mode": "0755"}, + "/bin/svup": {"mode": "0755"}, + "/bin/svls": {"mode": "0755"}, + "/bin/svre": {"mode": "0755"}, + "/bin/s6-rc-recompile": {"mode": "0755"}, + "/bin/s6-rc-generate": {"mode": "0755"}, + "/etc/init.d/s6-rc-init": {"mode": "0755"}, + "/etc/init.d/s6-rc-up": {"mode": "0755"}, + "/etc/periodic/15min/s6-rc-metrics": {"mode": "0755"}, + + "/etc/s6-rc/templates/service/+service-srv/run": {"mode": "0755"}, + "/etc/s6-rc/templates/service/+service-log/run": {"mode": "0755"}, + "/etc/s6-rc/services/default/contents.d/services": { + "content_type": "text", + "content": "", + "triggers": { + "svc_openrc:s6-rc-up:restart", + }, + }, + "/etc/s6-rc/services/services/type": { + "content_type": "text", + "content": "bundle", + "triggers": { + "svc_openrc:s6-rc-up:restart", + }, + }, +} + +directories = { + "/etc/s6-rc/services/services/contents.d": {} +} + +repo.libs.gen.add_files_recursive( + files, + join(repo.path, "bundles", "s6", "files"), +) + +svc_openrc = { + "s6-rc-init": { + "enabled": True, + "running": True, + "needs": {"file:/etc/init.d/s6-rc-init"}, + }, + "s6-rc-up": { + "enabled": True, + "running": True, + "needs": {"file:/etc/init.d/s6-rc-up"}, + }, +} + + +for service, _ in node.metadata.get("services", {}).items(): + svc_s6rc[service] = { + "bundle": "services", + "generate": "service", + } -- cgit 1.4.1