bump version number
[got-portable.git] / gotd / gotd.8
blob2eaa6f893d71aee3fc293fbaef9932969dbf0923
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 .Op Fl s Ar secrets
27 .Sh DESCRIPTION
28 .Nm
29 is a Git repository server which listens on a
30 .Xr unix 4
31 socket and relies on its companion tool
32 .Xr gotsh 1
33 to handle Git-protocol communication over the network, via
34 .Xr ssh 1 .
35 .Pp
36 The Git repository format is described in
37 .Xr git-repository 5 .
38 .Pp
39 .Nm
40 requires a configuration file in order to run.
41 The configuration file format is described in
42 .Xr gotd.conf 5 .
43 .Pp
44 It is recommended to restrict
45 .Xr ssh 1
46 features available to users of
47 .Nm .
48 See
49 .Xr gotsh 1
50 for details.
51 .Pp
52 The options for
53 .Nm
54 are as follows:
55 .Bl -tag -width Ds
56 .It Fl d
57 Do not daemonize.
58 Send log output to stderr.
59 .It Fl f Ar config-file
60 Set the path to the configuration file.
61 If not specified, the file
62 .Pa /etc/gotd.conf
63 will be used.
64 .It Fl n
65 Configtest mode.
66 Only check the configuration file for validity.
67 .It Fl s Ar secrets
68 Set the path to the secrets file.
69 If not specified, the file
70 .Pa /etc/gotd-secrets.conf
71 will be used if it exists.
72 .It Fl v
73 Verbose mode.
74 Verbosity increases if this option is used multiple times.
75 .El
76 .Sh FILES
77 .Bl -tag -width Ds -compact
78 .It Pa /etc/gotd.conf
79 Default location of the configuration file.
80 .It Pa /var/run/gotd.sock
81 Default location of the unix socket which
82 .Nm
83 is listening on.
84 This path can be configured in
85 .Xr gotd.conf 5 .
86 .El
87 .Sh EXAMPLES
88 Create an empty repository to be served by
89 .Nm ,
90 ensuring that it can only be accessed by the _gotd user:
91 .Pp
92 .Dl # mkdir -p /git/myrepo.git
93 .Dl # chmod 700 /git/myrepo.git
94 .Dl # chown _gotd /git/myrepo.git
95 .Dl # su -m _gotd -c 'gotadmin init /git/myrepo.git'
96 .Pp
97 Add the new repository to
98 .Xr gotd.conf 5
99 granting read-write access to the flan_hacker user account, and
100 restart
101 .Nm :
103 .Dl # cat >> /etc/gotd.conf <<EOF
104 .Dl repository 'myrepo' {
105 .Dl path '/git/myrepo.git'
106 .Dl permit rw flan_hacker
107 .Dl }
108 .Dl EOF
109 .Dl # rcctl restart gotd
111 The flan_hacker user can now populate the empty repository with
112 .Cm got send .
113 .Sh SEE ALSO
114 .Xr got 1 ,
115 .Xr gotsh 1 ,
116 .Xr git-repository 5 ,
117 .Xr gotd.conf 5
118 .Xr gotd-secrets.conf 5
119 .Sh AUTHORS
120 .An Stefan Sperling Aq Mt stsp@openbsd.org
121 .Sh CAVEATS
122 At present,
124 cannot serve repositories that use the sha256 object ID hashing algorithm
125 because
127 does not yet support version 2 of the Git network protocol.