Blob


1 .\"
2 .\" Copyright (c) 2022 Stefan Sperling
3 .\"
4 .\" Permission to use, copy, modify, and distribute this software for any
5 .\" purpose with or without fee is hereby granted, provided that the above
6 .\" copyright notice and this permission notice appear in all copies.
7 .\"
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 .\"
16 .Dd $Mdocdate$
17 .Dt GOTD 8
18 .Os
19 .Sh NAME
20 .Nm gotd
21 .Nd Game of Trees Daemon
22 .Sh SYNOPSIS
23 .Nm
24 .Op Fl dnv
25 .Op Fl f Ar config-file
26 .Sh DESCRIPTION
27 .Nm
28 is a Git repository server which listens on a
29 .Xr unix 4
30 socket and relies on its companion tool
31 .Xr gotsh 1
32 to handle Git-protocol communication over the network, via
33 .Xr ssh 1 .
34 .Pp
35 The Git repository format is described in
36 .Xr git-repository 5 .
37 .Pp
38 .Nm
39 requires a configuration file in order to run.
40 The configuration file format is described in
41 .Xr gotd.conf 5 .
42 .Pp
43 It is recommended to restrict
44 .Xr ssh 1
45 features available to users of
46 .Nm .
47 See
48 .Xr gotsh 1
49 for details.
50 .Pp
51 The options for
52 .Nm
53 are as follows:
54 .Bl -tag -width Ds
55 .It Fl d
56 Do not daemonize.
57 Send log output to stderr.
58 .It Fl f Ar config-file
59 Set the path to the configuration file.
60 If not specified, the file
61 .Pa /etc/gotd.conf
62 will be used.
63 .It Fl n
64 Configtest mode.
65 Only check the configuration file for validity.
66 .It Fl v
67 Verbose mode.
68 Verbosity increases if this option is used multiple times.
69 .El
70 .Sh FILES
71 .Bl -tag -width Ds -compact
72 .It Pa /etc/gotd.conf
73 Default location of the configuration file.
74 .It Pa /var/run/gotd.sock
75 Default location of the unix socket which
76 .Nm
77 is listening on.
78 This path can be configured in
79 .Xr gotd.conf 5 .
80 .El
81 .Sh EXAMPLES
82 Create an empty repository to be served by
83 .Nm ,
84 ensuring that it can only be accessed by the _gotd user:
85 .Pp
86 .Dl # mkdir -p /git/myrepo.git
87 .Dl # chmod 700 /git/myrepo.git
88 .Dl # chown _gotd /git/myrepo.git
89 .Dl # su -m _gotd -c 'gotadmin init /git/myrepo.git'
90 .Pp
91 Add the new repository to
92 .Xr gotd.conf 5
93 granting read-write access to the flan_hacker user account, and
94 restart
95 .Nm :
96 .Pp
97 .Dl # cat >> /etc/gotd.conf <<EOF
98 .Dl repository 'myrepo' {
99 .Dl path '/git/myrepo.git'
100 .Dl permit rw flan_hacker
101 .Dl }
102 .Dl EOF
103 .Dl # rcctl restart gotd
104 .Pp
105 The flan_hacker user can now populate the empty repository with
106 .Cm got send .
107 .Sh SEE ALSO
108 .Xr got 1 ,
109 .Xr gotsh 1 ,
110 .Xr git-repository 5 ,
111 .Xr gotd.conf 5
112 .Sh AUTHORS
113 .An Stefan Sperling Aq Mt stsp@openbsd.org