You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
codeskyblue ff66abefcb
add reload support
8 years ago
Godeps remove outdated go-bindata-assetfs 8 years ago
docs add gif page 8 years ago
res add reload support 8 years ago
vendor/github.com remove outdated go-bindata-assetfs 8 years ago
.fsw.yml update self [[DDsupport channel 8 years ago
.gitignore use gopack to make the build 8 years ago
.gopack.yml add bindata for gopack 8 years ago
.travis.yml use gopack to make the build 8 years ago
LICENSE Initial commit 9 years ago
README.md add reload support 8 years ago
broadcast.go not close ch, because send data to closed channel will panic 8 years ago
broadcast_test.go log is ok to see in the web 8 years ago
build.sh update self [[DDsupport channel 8 years ago
config.go add config.yml file 8 years ago
deploy.sh try again -_- 8 years ago
equinox.key.enc add travis equinox.io support 8 years ago
equinox.pub add equinox self update support 8 years ago
fsm.go finish sub commands 8 years ago
gosuv.go add reload support 8 years ago
proctrl.go add retry wait state 8 years ago
res.go update readme 8 years ago
res_bindata.go update readme 8 years ago
res_nobindata.go update readme 8 years ago
utils.go add update confirm 8 years ago
web.go add reload support 8 years ago

README.md

gosuv

Build Status

Program should not use in production (current is in beta)

Process managerment writtern by golang, inspired by python-supervisor

Features

  • Realtime log view

  • Web control page

  • HTTP Basic auth

  • Github webhook

  • Single log page, include search support

  • 中文文档

Requirements

Go version at least 1.6+

Installation

Standalone binary can be download from https://dl.equinox.io/shengxiang/gosuv/stable

Standalone binary can be download from github releases

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

Usage

Start server in the background

gosuv start-server

Show server status

$ gosuv status
Server is running

Open web http://localhost:11313 to see the manager page.

gosuv web

Configuration

Default config file stored in directory $HOME/.gosuv/

  • file programs.yml contains all program settings.
  • file config.yml contains server config

File 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

Design

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

State

Only 4 states. ref

states

Plugin Design (todo)

Current plugins:

All command plugin will store in $HOME/.gosuv/cmdplugin, gosuv will treat this plugin as a subcommand.

for example:

$HOME/.gosuv/cmdplugin/ --.
	|- showpid/
		|- run

There is a directory showpid

When run gosuv showpid, file run will be called.

Use libs

LICENSE

MIT