-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathreadme
100 lines (89 loc) · 8.04 KB
/
readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# ![](https://fonts.gstatic.com/s/i/materialiconsoutlined/flare/v4/24px.svg) Service
[![](https://img.shields.io/github/v/release/codemodify/systemkit-service?style=flat-square)](https://github.com/codemodify/systemkit-service/releases/latest)
![](https://img.shields.io/github/languages/code-size/codemodify/systemkit-service?style=flat-square)
![](https://img.shields.io/github/last-commit/codemodify/systemkit-service?style=flat-square)
[![](https://img.shields.io/badge/license-0--license-brightgreen?style=flat-square)](https://github.com/codemodify/TheFreeLicense)
![](https://img.shields.io/github/workflow/status/codemodify/systemkit-service/qa?style=flat-square)
![](https://img.shields.io/github/issues/codemodify/systemkit-service?style=flat-square)
[![](https://goreportcard.com/badge/github.com/codemodify/systemkit-service?style=flat-square)](https://goreportcard.com/report/github.com/codemodify/systemkit-service)
[![](https://img.shields.io/badge/godoc-reference-brightgreen?style=flat-square)](https://godoc.org/github.com/codemodify/systemkit-service)
![](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)
![](https://img.shields.io/gitter/room/codemodify/systemkit-service?style=flat-square)
![](https://img.shields.io/github/contributors/codemodify/systemkit-service?style=flat-square)
![](https://img.shields.io/github/stars/codemodify/systemkit-service?style=flat-square)
![](https://img.shields.io/github/watchers/codemodify/systemkit-service?style=flat-square)
![](https://img.shields.io/github/forks/codemodify/systemkit-service?style=flat-square)
# ![](https://fonts.gstatic.com/s/i/materialicons/extension/v5/24px.svg) What
>Robust cross platform _`CREATE`_ / _`DELETE`_ / _`START`_ / _`STOP`_ / _`QUERY`_ system service for Go
>
> _This repo is a cross platform reference implementation of the [<u>__SERVICE__</u>](https://github.com/codemodify/systemkit-service-spec) spec_
# ![](https://fonts.gstatic.com/s/i/materialicons/code/v5/24px.svg) References
|
---: | ---
Spec for portable SERVICE | https://github.com/codemodify/systemkit-service-spec
Command line tool | https://github.com/codemodify/systemkit-service-cli
Samples & Tests | https://github.com/codemodify/systemkit-service-tests
Init Frameworks | https://github.com/codemodify/systemkit-service-encoders-rc_d
| https://github.com/codemodify/systemkit-service-encoders-launchd
| https://github.com/codemodify/systemkit-service-encoders-systemd
| https://github.com/codemodify/systemkit-service-encoders-systemv
| https://github.com/codemodify/systemkit-service-encoders-upstart
# ![](https://fonts.gstatic.com/s/i/materialicons/code/v5/24px.svg) How
>```go
>go get github.com/codemodify/systemkit-service
>~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ ~~~~
>func main() {
> mySrevice := service.NewServiceFromConfig(service.Config{
> Name: "test-service",
> Description: "Test Service",
> Executable: "/bin/sleep",
> Args: []string{"40"},
> WorkingDirectory: "/tmp",
> Restart: true,
> DelayBeforeRestart: 10,
> StdOut: service.LogConfig{
> Disable: true,
> },
> StdErr: service.LogConfig{
> Disable: true,
> },
> })
>
> err := mySrevice.Install()
> if err != nil {
> fmt.Println(err.String())
> }
>}
>```
>API |
>--- | ---
>_`Install()`_ | Installs the service
>_`Uninstall()`_ | Deletes the service
>_`Start()`_ | Starts the service
>_`Stop()`_ | Stops the service
>_`Info()`_ | Queries the service
>___ | ___
>_`NewServiceFromSERVICE()`_ | Service from portable `SERVICE` definition
>_`NewServiceFromName()`_ | Service by finding in the system using its name
>_`NewServiceFromPlatformTemplate()`_ | Service from a platform dependent template
# ![](https://fonts.gstatic.com/s/i/materialicons/power/v5/24px.svg) Support
| | <img src="https://img.icons8.com/color/30/000000/verified-account.png" width="20" /> 100% <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" width="20" /> in progress
---: | --- | ---
__systemd__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://img.icons8.com/color/48/000000/raspberry-pi.png" /> <img src="https://upload.wikimedia.org/wikipedia/commons/a/a5/Archlinux-icon-crystal-64.svg" width="48" /> <img src="https://img.icons8.com/color/48/000000/debian.png"/> <img src="https://img.icons8.com/color/48/000000/ubuntu--v1.png"/> <img src="https://img.icons8.com/color/48/000000/suse.png"/> <img src="https://img.icons8.com/color/48/000000/centos.png"/> <img src="https://upload.wikimedia.org/wikipedia/commons/3/3f/Fedora_logo.svg" width="40" /> <img src="https://img.icons8.com/color/48/000000/red-hat.png"/> <img src="https://img.icons8.com/color/48/000000/linux-mint.png"/> <img src="https://img.icons8.com/color/48/000000/mandriva.png"/>
__rc.d__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://upload.wikimedia.org/wikipedia/en/thumb/d/df/Freebsd_logo.svg/2880px-Freebsd_logo.svg.png" width="100" /> <img src="https://www.netbsd.org/images/NetBSD-tb.png" width="50" /> <img src="https://upload.wikimedia.org/wikipedia/en/8/83/OpenBSD_Logo_-_Cartoon_Puffy_with_textual_logo_below.svg" width="80" />
__procd__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/commons/9/92/Openwrt_Logo.svg" width="150" /> <img src="https://pulpstone.pw/wp-content/uploads/lede_574-423-e1510414969868.png" width="100" />
__sysvinit__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://img.icons8.com/color/48/000000/linux.png" />
__launchd__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://img.icons8.com/color/48/000000/mac-os.png"/>
__Service Control Manager__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://img.icons8.com/color/48/000000/windows-10.png"/>
__cygserver__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/commons/2/29/Cygwin_logo.svg" width="40" />
__OpenRC__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/commons/4/48/Gentoo_Linux_logo_matte.svg" width="40" />
__Shepherd__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/commons/f/f6/Hurd-logo.svg" width="40" />
__Mudur__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> |
__init__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> |
__cinit__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> |
__runit__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/commons/0/02/Void_Linux_logo.svg" width="48" />
__minit__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> |
__Initng__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | Berry Linux
__Android Init__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://img.icons8.com/color/48/000000/android-os.png"/>
__UpStart__ | <img src="https://img.icons8.com/color/30/000000/verified-account.png" /> | <img src="https://img.icons8.com/color/48/000000/chrome--v1.png"/> <img src="https://img.icons8.com/color/48/000000/ubuntu--v1.png"/>
__Service Management Facility__ | <img src="https://img.icons8.com/color/30/000000/in-progress--v1.png" /> | <img src="https://upload.wikimedia.org/wikipedia/en/8/89/IllumosPhoenixRGB.png" width="40" /> <img src="https://upload.wikimedia.org/wikipedia/commons/e/ee/Aktualne_logo_Oracle_Solaris_OS_OSos.png" width="110" />