Hi everyone,

The discussion is regarding an open issue (#842
<https://github.com/apache/apisix-dashboard/issues/842>) on the Apache
APISIX Dashboard repository where the idea of running the manager-api as os
service gained relevance. We are currently running the manager-api binary
using `nohup` and detaching it simultaneously from the controlling terminal
to make it immune to SIGHUP.

There is also an open PR (#1667
<https://github.com/apache/apisix-dashboard/pull/1667>) where I have
written a systemd unit file that runs it as a systemd service that will
work for most of the Linux system. However, after discussing with Junxu
Chen we concluded that we should go for a platform-independent way to
achieve this instead of writing configuration files for each platform.

So the quest for a good, less bloated package has begun and here I am
listing the packages that I think, should serve our purpose.
1. https://github.com/takama/daemon [supports Linux, win, osx] (easy APIs,
uses OS-specific service manager under the hood, no nasty multiple forks)
2. https://github.com/kardianos/service [more stars]
3. https://github.com/sevlyar/go-daemon [Doesn't support windows till now]

I have tested the first one on Linux for a simple gin server and found it
really easy to use with less addition of bootstrap code. (the code
<https://pastebin.com/T4jkiNxa> & the screenshot
<https://user-images.githubusercontent.com/41498427/114141510-4da36a80-992f-11eb-9ead-6293446ec2cd.png>
)

It would be really great if you could help me to select the best one upon
using your domain expertise. Recommendation of a good package is highly
welcome :)
Also what should be the ideal name for our service, `manager-api`,
`apisix-dashboard` or anything else? Thanks.

Best,
Bisakh.

Reply via email to