cloudflared icon indicating copy to clipboard operation
cloudflared copied to clipboard

Add `--no-daemon` or `--foreground` option for supervised systems

Open jac-cbi opened this issue 4 years ago • 4 comments
trafficstars

I've recently moved most of my servers and VMs to Artix Linux (a derivative of Arch Linux, sans systemd). I chose the runit system for my init and process supervision system on my Artix boxes (s6 is a mess, and OpenRC, well, it's not a supervision system). This has been working great up until I attempted to move my web server from Gentoo to Artix. Everything went smoothly, except for cloudflared.

I use cloudflared for connecting to the Cloudflare network, which caches, and serves my websites. It's a traditional use of Argo tunnel, namely, my web server is not accessible from the Internet, only from CF via Argo tunnel.

Basically, If CF were to add a --no-daemon option, this would allow me to launch the process in a supervised manner, meaning that there is a parent process which receives SIGCHLD and can automatically restart the dead process. Additionally, this means I could allow cloudflared to automagically update itself, and once complete, it can just exit. No races, no PID tracking, and more importantly, no dropped log messages. (runit handles that).

jac-cbi avatar Feb 16 '21 16:02 jac-cbi

Upvote for including this, PID tracking is a pain.

stevenanthonyrevo avatar Feb 22 '21 01:02 stevenanthonyrevo

I must be missing something here...but cloudflared has always run in the foreground and runs fine under a supervision system in my experience...

andrewheberle avatar May 25 '21 04:05 andrewheberle

@andrewheberle Could you provide some more detail? What OS/distro/arch are you running on? What is the command line used to launch cloudflared?

jac-cbi avatar May 25 '21 15:05 jac-cbi

I am running cloudflared on Fedora 35 and installed it with the rpm package from the release page. On my system it runs in the foreground. Despite that I can only say that the Dockerfile and systemd service explicitly specify --no-autoupdate so maybe that flag is responsible for making it detach? Also --pidfile did nothing (trying to maybe force detaching) so I am not sure why you are seemingly experiencing something different.

septatrix avatar Mar 15 '22 19:03 septatrix