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);