-
Notifications
You must be signed in to change notification settings - Fork 0
/
config-templates_darwin.go
88 lines (70 loc) · 1.88 KB
/
config-templates_darwin.go
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
package main
import (
"strings"
"text/template"
)
type syncLaunchdCfgAttrs struct {
BinDirectory, Tailnet, Device string
}
func getSyncLaunchdCfg() *template.Template {
tmpl, err := template.New("sync-launchd-cfg-mac").Parse(strings.TrimSpace(`
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.hemarkable.telltail-sync</string>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>{{.BinDirectory}}</string>
<key>ProgramArguments</key>
<array>
<string>./telltail-sync</string>
<string>--url</string>
<string>https://telltail.{{.Tailnet}}</string>
<string>--device</string>
<string>{{.Device}}</string>
</array>
</dict>
</plist>
`))
if err != nil {
// panicking is fine as here, as user cannot report anything about it
panic(err)
}
return tmpl
}
type centerLaunchdCfgAttrs struct {
BinDirectory, AuthKey string
}
func getCenterLaunchdCfg() *template.Template {
tmpl, err := template.New("center-systemd-cfg-linux").Parse(strings.TrimSpace(`
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.hemarkable.telltail-center</string>
<key>RunAtLoad</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>TS_AUTHKEY</key>
<string>{{.AuthKey}}</string>
</dict>
<key>WorkingDirectory</key>
<string>{{.BinDirectory}}</string>
<key>ProgramArguments</key>
<array>
<string>./telltail-center</string>
</array>
</dict>
</plist>
`))
if err != nil {
// panicking is fine as here, as user cannot report anything about it
panic(err)
}
return tmpl
}