MCPcopy Create free account
hub / github.com/1Panel-dev/1Panel / NewWithClient

Function NewWithClient

core/utils/controller/controller.go:45–68  ·  view source on GitHub ↗
(client *ssh.SSHClient)

Source from the content-addressed store, hash-verified

43}
44
45func NewWithClient(client *ssh.SSHClient) (Controller, error) {
46 managerOptions := []string{"systemctl", "rc-service", "service"}
47 for _, item := range managerOptions {
48 stdout, err := client.Runf("which %s", item)
49 if err != nil || (len(strings.ReplaceAll(stdout, "\n", "")) == 0) {
50 continue
51 }
52 switch item {
53 case "systemctl":
54 mgr := manager.NewSystemd()
55 mgr.Client = client
56 return mgr, nil
57 case "rc-service":
58 mgr := manager.NewOpenrc()
59 mgr.Client = client
60 return mgr, nil
61 case "service":
62 mgr := manager.NewSysvinit()
63 mgr.Client = client
64 return mgr, nil
65 }
66 }
67 return nil, errors.New("not support such manager initializatio")
68}
69
70func Handle(operate, serviceName string) error {
71 service, err := LoadServiceName(serviceName)

Callers

nothing calls this directly

Calls 1

RunfMethod · 0.80

Tested by

no test coverage detected