1
0
mirror of https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git synced 2026-06-21 00:07:16 +03:00

Add Systemd init system support

Fixes #77
This commit is contained in:
Justin Zobel 2026-04-16 15:56:05 +09:30
parent c2810d16ea
commit 9e2e6d63af
5 changed files with 52 additions and 4 deletions

View File

@ -2,7 +2,7 @@ PREFIX ?= /
CLOUDS = $(sort $(notdir $(patsubst %/,%,$(wildcard lib/tiny-cloud/cloud/*/))))
SUBPACKAGES = core openrc $(CLOUDS)
SUBPACKAGES = core init $(CLOUDS)
.PHONY: check install $(SUBPACKAGES)
@ -22,9 +22,13 @@ core:
install -Dm755 -t "$(PREFIX)"/usr/sbin \
sbin/tiny-cloud
openrc:
install -Dm755 -t "$(PREFIX)"/etc/init.d \
dist/openrc/*
init:
[ $(command -v rc-status) ] && \
install -Dm755 -t "$(PREFIX)"/etc/init.d \
dist/openrc/*
[ $(command -v systemctl) ] && \
install -Dm755 -t "$(PREFIX)"/etc/systemd/system \
dist/systemd/*
$(CLOUDS):
install -Dm644 -t "$(PREFIX)"/usr/lib/tiny-cloud/cloud/$@ \

10
dist/systemd/tiny-cloud-boot.service vendored Normal file
View File

@ -0,0 +1,10 @@
[Unit]
Description=Tiny Cloud Bootstrap - boot phase
[Service]
Type=oneshot
ExecStart=tiny-cloud boot
Restart=no
[Install]
WantedBy=multi-user.target

11
dist/systemd/tiny-cloud-early.service vendored Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Tiny Cloud Bootstrap - early phase
After=network.target
[Service]
Type=oneshot
ExecStart=tiny-cloud early
Restart=no
[Install]
WantedBy=multi-user.target

11
dist/systemd/tiny-cloud-final.service vendored Normal file
View File

@ -0,0 +1,11 @@
[Unit]
Description=Tiny Cloud Bootstrap - final phase
After=tiny-cloud-boot.service tiny-cloud-main.service tiny-cloud-early.service
[Service]
Type=oneshot
ExecStart=tiny-cloud final
Restart=no
[Install]
WantedBy=multi-user.target

12
dist/systemd/tiny-cloud-main.service vendored Normal file
View File

@ -0,0 +1,12 @@
[Unit]
Description=Tiny Cloud Bootstrap - main phase
After=network.target sshd.service
[Service]
Type=oneshot
ExecStart=tiny-cloud main
Restart=no
[Install]
WantedBy=multi-user.target