about summary refs log tree commit diff
path: root/bundles/s6/files/etc/s6-rc
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2025-09-07 17:32:13 +0200
committerRobert Günzler <r@gnzler.io>2025-09-07 17:42:42 +0200
commit38be6c13f76e893cf47636257071b440dec0c5b2 (patch)
treef7ded3235a7e3362cbd1ed3d91523968fe0faf90 /bundles/s6/files/etc/s6-rc
initial commit
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to 'bundles/s6/files/etc/s6-rc')
-rw-r--r--bundles/s6/files/etc/s6-rc/README18
-rw-r--r--bundles/s6/files/etc/s6-rc/services/default/type1
-rw-r--r--bundles/s6/files/etc/s6-rc/system.conf3
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-log/consumer-for1
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-log/notification-fd1
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-log/pipeline-name1
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-log/run10
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-log/type1
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-srv/producer-for1
-rwxr-xr-xbundles/s6/files/etc/s6-rc/templates/service/+service-srv/run6
-rw-r--r--bundles/s6/files/etc/s6-rc/templates/service/+service-srv/type1
11 files changed, 44 insertions, 0 deletions
diff --git a/bundles/s6/files/etc/s6-rc/README b/bundles/s6/files/etc/s6-rc/README
new file mode 100644
index 0000000..bd9014c
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/README
@@ -0,0 +1,18 @@
+
+./services
+----------
+this is the base s6-rc service tree that is merged with the services generated
+by `s6-rc-generate`.
+There MUST at least be a default target, most commonly a `bundle` that declares
+the set of services that should run on boot.
+
+./templates
+-----------
+defines a set of services templates `s6-rc-generate` uses as input,
+the string `+service` will be replaced with the target service name
+(works in file names and inside files)
+
+./generate
+----------
+defines a set of services `s6-rc-generate` should generate,
+the names MUST be in the format <template>.<service>
diff --git a/bundles/s6/files/etc/s6-rc/services/default/type b/bundles/s6/files/etc/s6-rc/services/default/type
new file mode 100644
index 0000000..757b422
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/services/default/type
@@ -0,0 +1 @@
+bundle
diff --git a/bundles/s6/files/etc/s6-rc/system.conf b/bundles/s6/files/etc/s6-rc/system.conf
new file mode 100644
index 0000000..066fe0a
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/system.conf
@@ -0,0 +1,3 @@
+# location of deployment charts for container services
+deployments_dir=/etc/deployments
+www_dir=/var/www
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-log/consumer-for b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/consumer-for
new file mode 100644
index 0000000..83c1762
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/consumer-for
@@ -0,0 +1 @@
++service-srv
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-log/notification-fd b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-log/pipeline-name b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/pipeline-name
new file mode 100644
index 0000000..0db7d83
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/pipeline-name
@@ -0,0 +1 @@
++service
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-log/run b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/run
new file mode 100644
index 0000000..d558f3c
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/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/bundles/s6/files/etc/s6-rc/templates/service/+service-log/type b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-log/type
@@ -0,0 +1 @@
+longrun
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/producer-for b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/producer-for
new file mode 100644
index 0000000..cba6eea
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/producer-for
@@ -0,0 +1 @@
++service-log
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/run b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/run
new file mode 100755
index 0000000..87531f7
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/run
@@ -0,0 +1,6 @@
+#!/bin/execlineb -P
+
+# route all logs to stdout
+fdmove -c 2 1
+
+exec /etc/service/+service.run
diff --git a/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/type b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/bundles/s6/files/etc/s6-rc/templates/service/+service-srv/type
@@ -0,0 +1 @@
+longrun