Blame


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