From 69cea17dfd913a26be2a164b3220637cadd599ee Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Tue, 15 Nov 2022 23:27:37 -0800 Subject: [PATCH] Add simple unix socket server --- netsd/Handlers/Daemon.cs | 5 ----- netsd/Handlers/Init.cs | 18 ++++++++++++++++++ netsd/Program.cs | 10 ++++++++-- 3 files changed, 26 insertions(+), 7 deletions(-) delete mode 100644 netsd/Handlers/Daemon.cs create mode 100644 netsd/Handlers/Init.cs diff --git a/netsd/Handlers/Daemon.cs b/netsd/Handlers/Daemon.cs deleted file mode 100644 index a98325d..0000000 --- a/netsd/Handlers/Daemon.cs +++ /dev/null @@ -1,5 +0,0 @@ -namespace netsd.Handlers; - -public class Daemon -{ -} diff --git a/netsd/Handlers/Init.cs b/netsd/Handlers/Init.cs new file mode 100644 index 0000000..2f39e12 --- /dev/null +++ b/netsd/Handlers/Init.cs @@ -0,0 +1,18 @@ +namespace netsd.Handlers; + +public class Init +{ + private readonly WebApplicationBuilder _socketBuilder = WebApplication.CreateBuilder(); + + public Init() + { + _socketBuilder.WebHost.ConfigureKestrel(options => + { + options.ListenUnixSocket("/tmp/netsd.sock"); + }); + + var app = _socketBuilder.Build(); + + app.Run(); + } +} diff --git a/netsd/Program.cs b/netsd/Program.cs index 6b50873..066885b 100644 --- a/netsd/Program.cs +++ b/netsd/Program.cs @@ -1,8 +1,14 @@ using System.CommandLine; +using netsd.Handlers; -var daemonCommand = new Command("init", "Run and bring up all default services"); +var initCommand = new Command("init", "Run and bring up all default services"); var rootCommand = new RootCommand("Linux service manager written in C#"); -rootCommand.AddCommand(daemonCommand); +rootCommand.AddCommand(initCommand); + +initCommand.SetHandler((() => +{ + new Init(); +})); return await rootCommand.InvokeAsync(args);