Process management writtern by golang, inspired by python-supervisor
I have been using python-supervisor for many years and there are something uncomfortable feelings.
supervisorctl reload
will cause supervisord restartedWeb control page
HTTP Basic auth
Github webhook
Single log page, include search support
中文文档
Go version at least 1.6+
Standalone binary can be download from one of the following addresses
Branch | Source | Address |
---|---|---|
latest | equinox | https://dl.equinox.io/shengxiang/gosuv/stable |
stable | github | https://github.com/codeskyblue/gosuv/releases/latest |
Or if you have go enviroment, you can also build from source.
go get -d github.com/codeskyblue/gosuv
cd $GOPATH/src/github.com/codeskyblue/gosuv
go build
If you want to build a standalone binary, run the following command.
go get github.com/elazarl/go-bindata-assetfs/...
go-bindata-assetfs -tags bindata res/...
go build -tags bindata
After you installed gosuv, the first thing is to start server.
gosuv start-server
Show server status
$ gosuv status
Server is running
Open web http://localhost:11313 to see the manager page. And follow the gif to add a program to gosuv.
Default config file stored in directory $HOME/.gosuv/
, Set env-var GOSUV_HOME_DIR
can change config file store directory.
programs.yml
contains all program settings.config.yml
contains server configFile config.yml
can be generated by gosuv conftest
Example config.yaml
server:
httpauth:
enabled: false
username: uu
password: pp
addr: :11313
client:
server_url: http://localhost:11313
Logs can be found in $HOME/.gosuv/log/
Edit config file(default located in $HOME/.gosuv/programs.yml
) and run gosuv reload
will take effect immediately.
HTTP is follow the RESTFul guide.
Get or Update program
<GET|PUT> /api/programs/:name
Add new program
POST /api/programs
Del program
DELETE /api/programs/:name
Only 4 states. ref
Configuration example
- demo-program:
command: ...
notifications:
pushover:
api_key: [token]
users:
- [user1]
- [user2]
Now only support pushover, and only status change to fatal will get notified.
This is feature that will helps update your deployment environment once your updated in the github.
This part is set in the programs.yml
, take look the example
- demo-program:
command: python app.py
directory: /opt/demo
webhook:
github:
secret: 123456
command: git pull origin master
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型