From b72f6ba9f7a6987f184ac510491e452c3ea855b1 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 24 May 2022 18:21:20 -0400 Subject: Init urbit harbor This is mostly stubbed out and needs some work to be functional... the idea is to run urbit ships as systemd services, and provide a simple interface for managing them. --- Urbit/Harbor.hs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Urbit/Harbor.hs (limited to 'Urbit/Harbor.hs') diff --git a/Urbit/Harbor.hs b/Urbit/Harbor.hs new file mode 100644 index 0000000..d95f1a0 --- /dev/null +++ b/Urbit/Harbor.hs @@ -0,0 +1,39 @@ +{- + +Urbit Harbor is a supervisor for Urbit ships on the local machine. It does no +orchestration, it just manages systemd services. + +Plan: + - make this run 10 fake galaxies + - make this run 100 fake ships + +- Requirements: + - setup new ship + +Setup process: + + + dir=/var/urbit/harbor + urbit -c $dir/zod -k $dir/zod.key -x # one-time setup + + systemctl --user enable $dir/zod.service # nees fullpath + systemctl --user start zod.service + +Service Template: + + [Service] + ExecStart=urbit -tq /var/urbit/harbor/zod # maybe want -d? + ExecStartPre=mkdir -p /var/urbit/harbor/zod + + [Unit] + Description=zod + + [Install] + WantedBy=multi-user.target + +TODO: + - use systemd.resource-control to limit memory/CPU for ships + - Urbit.Cloud controller will set different limits by reading/editing the + ini file, and change price to customer + - figure out what firewall stuff i need to do +-} -- cgit v1.2.3