You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apisix.apache.org by Bisakh Mondal <bi...@gmail.com> on 2021/04/10 07:44:47 UTC

[DISCUSS] Run manager-api of APISIX dashboard as OS daemon

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.

Re: [DISCUSS] Run manager-api of APISIX dashboard as OS daemon

Posted by JunXu Chen <ch...@apache.org>.
sure, it includes web.

On Sat, 10 Apr 2021 at 21:33, Zhiyuan Ju <ju...@apache.org> wrote:

> Hi,
>
> Just to make sure, will this service including web by default?
>
> Currently, Dashboard consists web & manager api ^_^
>
> JunXu Chen <ch...@apache.org>于2021年4月10日 周六下午9:08写道:
>
> > hi, Bisakh
> >
> > takama/daemon <https://github.com/takama/daemon>  Looks good to me.
> >
> >
> > And I prefer to use `apisix-dashboard` as the service name, because
> > `manager-api` is not easy to understand, except for those involved in the
> > development of `manager-api`.
> >
> >
> >
> > On Sat, 10 Apr 2021 at 15:45, Bisakh Mondal <bi...@gmail.com>
> > wrote:
> >
> > > 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.
> > >
> >
> --
> 来自 琚致远
>

Re: [DISCUSS] Run manager-api of APISIX dashboard as OS daemon

Posted by Zhiyuan Ju <ju...@apache.org>.
Hi,

Just to make sure, will this service including web by default?

Currently, Dashboard consists web & manager api ^_^

JunXu Chen <ch...@apache.org>于2021年4月10日 周六下午9:08写道:

> hi, Bisakh
>
> takama/daemon <https://github.com/takama/daemon>  Looks good to me.
>
>
> And I prefer to use `apisix-dashboard` as the service name, because
> `manager-api` is not easy to understand, except for those involved in the
> development of `manager-api`.
>
>
>
> On Sat, 10 Apr 2021 at 15:45, Bisakh Mondal <bi...@gmail.com>
> wrote:
>
> > 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.
> >
>
-- 
来自 琚致远

Re: [DISCUSS] Run manager-api of APISIX dashboard as OS daemon

Posted by JunXu Chen <ch...@apache.org>.
hi, Bisakh

takama/daemon <https://github.com/takama/daemon>  Looks good to me.


And I prefer to use `apisix-dashboard` as the service name, because
`manager-api` is not easy to understand, except for those involved in the
development of `manager-api`.



On Sat, 10 Apr 2021 at 15:45, Bisakh Mondal <bi...@gmail.com>
wrote:

> 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.
>