I’m wrtinging a game server
I use jenkins to tar and deploy multiple node
But I can’t find a good tool to manager these erlang nodes
From experience, manager need(at least):
- show node(linux process) status, start/stop…
- running code(svn) version
- button or hook to run sh script, start/stop/restart…
As far as I know, different company will implement by themselves
So, if there’s any app design to work with this scenario
I try to use the features of the host-OS to deploy and manage erlang nodes.
Since Linux distributions differ much in their flavor of package-management, service-startup, firewall configuration and system-hardening, i choose the easy-way out and only target Red Hat Enterprise Linux(-clones).
I created this example project to show how to create a RPM that includes:
- the service implementation
- its systemd unit file
- firewalld service configuration
- selinux module
- the erlang runtime
When deployed, i can use
systemd to start/stop/status the service. The packet filter configuration is handled by
firewalld and the selinux module provides some hardening.
Since all files installed are managed by the
dnf package manager, i know what version is installed and which config files (if any) where changed after installation.
I can use
/usr/lib64/echotcp/bin/echotcp remsh to attach to the erlang shell of the running node if needed.
sorry for late reply, thanks for you code!
First of all
I have never use
Red Hat Enterprise, but I think it’s be similar to ubuntu
if it look like this?
service xxx start/stop/restart
[ - ] apparmor
[ - ] apport
we will open multiple node in a machine
but I don’t know if multiple node as
service will be conflict
in fact, we use a
server id to generate node name and cookie
-name example_1@ip --setcookie example_1
-name example_2@ip --setcookie example_2
we need a website(like jenkins) for other department to use(sorry, I have not mention before)
maybe look like:
name |pid |svn version |operation
example_1 |1111 |222 |start/stop/restart
example_2 |1112 |222 |start/stop/restart
I write some script too(but not in github and it’s confused now)
and I am finding a frameworks to work with