2 .\" Copyright (c) 2022 Stefan Sperling
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.
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.
21 .Nd Game of Trees Daemon
25 .Op Fl f Ar config-file
29 is a Git repository server which listens on a
31 socket and relies on its companion tool
33 to handle Git-protocol communication over the network, via
36 The Git repository format is described in
37 .Xr git-repository 5 .
40 requires a configuration file in order to run.
41 The configuration file format is described in
44 It is recommended to restrict
46 features available to users of
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
66 Only check the configuration file for validity.
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.
74 Verbosity increases if this option is used multiple times.
77 .Bl -tag -width Ds -compact
79 Default location of the configuration file.
80 .It Pa /var/run/gotd.sock
81 Default location of the unix socket which
84 This path can be configured in
88 Create an empty repository to be served by
90 ensuring that it can only be accessed by the _gotd user:
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'
97 Add the new repository to
99 granting read-write access to the flan_hacker user account, and
103 .Dl # cat >> /etc/gotd.conf <<EOF
104 .Dl repository 'myrepo' {
105 .Dl path '/git/myrepo.git'
106 .Dl permit rw flan_hacker
109 .Dl # rcctl restart gotd
111 The flan_hacker user can now populate the empty repository with
116 .Xr git-repository 5 ,
118 .Xr gotd-secrets.conf 5
120 .An Stefan Sperling Aq Mt stsp@openbsd.org
124 cannot serve repositories that use the sha256 object ID hashing algorithm
127 does not yet support version 2 of the Git network protocol.