From 44d92a826a8789060fc08a8b60ccff77f42941f5 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Mon, 22 Sep 2025 20:12:34 +0200 Subject: support generating services at runtime MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Robert Günzler --- templates/service/+service-log/consumer-for | 1 + templates/service/+service-log/notification-fd | 1 + templates/service/+service-log/pipeline-name | 1 + templates/service/+service-log/run | 10 ++++++++++ templates/service/+service-log/type | 1 + templates/service/+service-srv/producer-for | 1 + templates/service/+service-srv/run | 6 ++++++ templates/service/+service-srv/type | 1 + 8 files changed, 22 insertions(+) create mode 100644 templates/service/+service-log/consumer-for create mode 100644 templates/service/+service-log/notification-fd create mode 100644 templates/service/+service-log/pipeline-name create mode 100644 templates/service/+service-log/run create mode 100644 templates/service/+service-log/type create mode 100644 templates/service/+service-srv/producer-for create mode 100755 templates/service/+service-srv/run create mode 100644 templates/service/+service-srv/type (limited to 'templates') diff --git a/templates/service/+service-log/consumer-for b/templates/service/+service-log/consumer-for new file mode 100644 index 0000000..83c1762 --- /dev/null +++ b/templates/service/+service-log/consumer-for @@ -0,0 +1 @@ ++service-srv diff --git a/templates/service/+service-log/notification-fd b/templates/service/+service-log/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/templates/service/+service-log/notification-fd @@ -0,0 +1 @@ +3 diff --git a/templates/service/+service-log/pipeline-name b/templates/service/+service-log/pipeline-name new file mode 100644 index 0000000..0db7d83 --- /dev/null +++ b/templates/service/+service-log/pipeline-name @@ -0,0 +1 @@ ++service diff --git a/templates/service/+service-log/run b/templates/service/+service-log/run new file mode 100644 index 0000000..d558f3c --- /dev/null +++ b/templates/service/+service-log/run @@ -0,0 +1,10 @@ +#!/bin/execlineb -P + +envfile -I /etc/s6-rc/system.conf +importas -sCuD "/run/log" s6_log_dir s6_log_dir + +envfile -I /etc/s6-rc/+service.conf +importas -sCuD "n3 s2000000 T" s6_log_directives s6_log_directives + +foreground { install -d ${s6_log_dir}/+service } +exec -c s6-log -d3 -b -- ${s6_log_directives} ${s6_log_dir}/+service diff --git a/templates/service/+service-log/type b/templates/service/+service-log/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/templates/service/+service-log/type @@ -0,0 +1 @@ +longrun diff --git a/templates/service/+service-srv/producer-for b/templates/service/+service-srv/producer-for new file mode 100644 index 0000000..cba6eea --- /dev/null +++ b/templates/service/+service-srv/producer-for @@ -0,0 +1 @@ ++service-log diff --git a/templates/service/+service-srv/run b/templates/service/+service-srv/run new file mode 100755 index 0000000..b0fe4f2 --- /dev/null +++ b/templates/service/+service-srv/run @@ -0,0 +1,6 @@ +#!/bin/execlineb -P + +# route all logs to stdout +fdmove -c 2 1 + +exec +statedir/services/+service.run diff --git a/templates/service/+service-srv/type b/templates/service/+service-srv/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/templates/service/+service-srv/type @@ -0,0 +1 @@ +longrun -- cgit 1.4.1