Blame


1 742bb3a1 2022-10-24 stsp <!DOCTYPE html>
2 742bb3a1 2022-10-24 stsp <html>
3 742bb3a1 2022-10-24 stsp <head>
4 742bb3a1 2022-10-24 stsp <meta charset="utf-8"/>
5 742bb3a1 2022-10-24 stsp <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6 742bb3a1 2022-10-24 stsp <link rel="stylesheet" href="mandoc.css" type="text/css" media="all"/>
7 742bb3a1 2022-10-24 stsp <title>GOTD(8)</title>
8 742bb3a1 2022-10-24 stsp </head>
9 742bb3a1 2022-10-24 stsp <!-- This is an automatically generated file. Do not edit.
10 742bb3a1 2022-10-24 stsp Copyright (c) 2022 Stefan Sperling
11 742bb3a1 2022-10-24 stsp
12 742bb3a1 2022-10-24 stsp Permission to use, copy, modify, and distribute this software for any
13 742bb3a1 2022-10-24 stsp purpose with or without fee is hereby granted, provided that the above
14 742bb3a1 2022-10-24 stsp copyright notice and this permission notice appear in all copies.
15 742bb3a1 2022-10-24 stsp
16 742bb3a1 2022-10-24 stsp THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
17 742bb3a1 2022-10-24 stsp WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
18 742bb3a1 2022-10-24 stsp MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
19 742bb3a1 2022-10-24 stsp ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
20 742bb3a1 2022-10-24 stsp WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
21 742bb3a1 2022-10-24 stsp ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
22 742bb3a1 2022-10-24 stsp OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
23 742bb3a1 2022-10-24 stsp -->
24 742bb3a1 2022-10-24 stsp <body>
25 742bb3a1 2022-10-24 stsp <div class="head" role="doc-pageheader" aria-label="Manual header
26 742bb3a1 2022-10-24 stsp line"><span class="head-ltitle">GOTD(8)</span> <span class="head-vol">System
27 742bb3a1 2022-10-24 stsp Manager's Manual</span> <span class="head-rtitle">GOTD(8)</span></div>
28 742bb3a1 2022-10-24 stsp <main class="manual-text">
29 742bb3a1 2022-10-24 stsp <section class="Sh">
30 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h2>
31 742bb3a1 2022-10-24 stsp <p class="Pp"><code class="Nm">gotd</code> &#x2014;
32 742bb3a1 2022-10-24 stsp <span class="Nd" role="doc-subtitle">Game of Trees Daemon</span></p>
33 742bb3a1 2022-10-24 stsp </section>
34 742bb3a1 2022-10-24 stsp <section class="Sh">
35 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h2>
36 742bb3a1 2022-10-24 stsp <table class="Nm">
37 742bb3a1 2022-10-24 stsp <tr>
38 742bb3a1 2022-10-24 stsp <td><code class="Nm">gotd</code></td>
39 8cea22f9 2023-01-18 stsp <td>[<code class="Fl">-dnv</code>] [<code class="Fl">-f</code>
40 7196cfe5 2024-09-09 stsp <var class="Ar">config-file</var>] [<code class="Fl">-s</code>
41 7196cfe5 2024-09-09 stsp <var class="Ar">secrets</var>]</td>
42 742bb3a1 2022-10-24 stsp </tr>
43 742bb3a1 2022-10-24 stsp </table>
44 742bb3a1 2022-10-24 stsp </section>
45 742bb3a1 2022-10-24 stsp <section class="Sh">
46 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h2>
47 742bb3a1 2022-10-24 stsp <p class="Pp"><code class="Nm">gotd</code> is a Git repository server which
48 742bb3a1 2022-10-24 stsp listens on a <a class="Xr" aria-label="unix, section 4">unix(4)</a> socket
49 742bb3a1 2022-10-24 stsp and relies on its companion tool <a class="Xr" aria-label="gotsh, section
50 742bb3a1 2022-10-24 stsp 1">gotsh(1)</a> to handle Git-protocol communication over the network, via
51 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="ssh, section 1">ssh(1)</a>.</p>
52 742bb3a1 2022-10-24 stsp <p class="Pp">The Git repository format is described in
53 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="git-repository, section
54 742bb3a1 2022-10-24 stsp 5">git-repository(5)</a>.</p>
55 742bb3a1 2022-10-24 stsp <p class="Pp"><code class="Nm">gotd</code> requires a configuration file in
56 742bb3a1 2022-10-24 stsp order to run. The configuration file format is described in
57 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="gotd.conf, section 5">gotd.conf(5)</a>.</p>
58 47f19dd5 2023-01-17 stsp <p class="Pp">It is recommended to restrict <a class="Xr" aria-label="ssh,
59 47f19dd5 2023-01-17 stsp section 1">ssh(1)</a> features available to users of
60 47f19dd5 2023-01-17 stsp <code class="Nm">gotd</code>. See <a class="Xr" aria-label="gotsh, section
61 47f19dd5 2023-01-17 stsp 1">gotsh(1)</a> for details.</p>
62 742bb3a1 2022-10-24 stsp <p class="Pp">The options for <code class="Nm">gotd</code> are as follows:</p>
63 742bb3a1 2022-10-24 stsp <dl class="Bl-tag">
64 742bb3a1 2022-10-24 stsp <dt id="d"><a class="permalink" href="#d"><code class="Fl">-d</code></a></dt>
65 8cea22f9 2023-01-18 stsp <dd>Do not daemonize. Send log output to stderr.</dd>
66 742bb3a1 2022-10-24 stsp <dt id="f"><a class="permalink" href="#f"><code class="Fl">-f</code></a>
67 742bb3a1 2022-10-24 stsp <var class="Ar">config-file</var></dt>
68 742bb3a1 2022-10-24 stsp <dd>Set the path to the configuration file. If not specified, the file
69 742bb3a1 2022-10-24 stsp <span class="Pa">/etc/gotd.conf</span> will be used.</dd>
70 8cea22f9 2023-01-18 stsp <dt id="n"><a class="permalink" href="#n"><code class="Fl">-n</code></a></dt>
71 8cea22f9 2023-01-18 stsp <dd>Configtest mode. Only check the configuration file for validity.</dd>
72 7196cfe5 2024-09-09 stsp <dt id="s"><a class="permalink" href="#s"><code class="Fl">-s</code></a>
73 7196cfe5 2024-09-09 stsp <var class="Ar">secrets</var></dt>
74 7196cfe5 2024-09-09 stsp <dd>Set the path to the secrets file. If not specified, the file
75 7196cfe5 2024-09-09 stsp <span class="Pa">/etc/gotd-secrets.conf</span> will be used if it
76 7196cfe5 2024-09-09 stsp exists.</dd>
77 742bb3a1 2022-10-24 stsp <dt id="v"><a class="permalink" href="#v"><code class="Fl">-v</code></a></dt>
78 742bb3a1 2022-10-24 stsp <dd>Verbose mode. Verbosity increases if this option is used multiple
79 742bb3a1 2022-10-24 stsp times.</dd>
80 742bb3a1 2022-10-24 stsp </dl>
81 742bb3a1 2022-10-24 stsp </section>
82 742bb3a1 2022-10-24 stsp <section class="Sh">
83 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h2>
84 742bb3a1 2022-10-24 stsp <dl class="Bl-tag Bl-compact">
85 742bb3a1 2022-10-24 stsp <dt><span class="Pa">/etc/gotd.conf</span></dt>
86 742bb3a1 2022-10-24 stsp <dd>Default location of the configuration file.</dd>
87 742bb3a1 2022-10-24 stsp <dt><span class="Pa">/var/run/gotd.sock</span></dt>
88 742bb3a1 2022-10-24 stsp <dd>Default location of the unix socket which <code class="Nm">gotd</code> is
89 742bb3a1 2022-10-24 stsp listening on. This path can be configured in
90 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="gotd.conf, section 5">gotd.conf(5)</a>.</dd>
91 742bb3a1 2022-10-24 stsp </dl>
92 742bb3a1 2022-10-24 stsp </section>
93 742bb3a1 2022-10-24 stsp <section class="Sh">
94 56f3f26e 2024-06-03 stsp <h2 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h2>
95 56f3f26e 2024-06-03 stsp <p class="Pp">Create an empty repository to be served by
96 56f3f26e 2024-06-03 stsp <code class="Nm">gotd</code>, ensuring that it can only be accessed by the
97 56f3f26e 2024-06-03 stsp _gotd user:</p>
98 56f3f26e 2024-06-03 stsp <p class="Pp"></p>
99 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># mkdir -p
100 56f3f26e 2024-06-03 stsp /git/myrepo.git</code></div>
101 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># chmod 700
102 56f3f26e 2024-06-03 stsp /git/myrepo.git</code></div>
103 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># chown _gotd
104 56f3f26e 2024-06-03 stsp /git/myrepo.git</code></div>
105 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># su -m _gotd -c 'gotadmin init
106 56f3f26e 2024-06-03 stsp /git/myrepo.git'</code></div>
107 56f3f26e 2024-06-03 stsp <p class="Pp">Add the new repository to <a class="Xr" aria-label="gotd.conf,
108 56f3f26e 2024-06-03 stsp section 5">gotd.conf(5)</a> granting read-write access to the flan_hacker
109 56f3f26e 2024-06-03 stsp user account, and restart <code class="Nm">gotd</code>:</p>
110 56f3f26e 2024-06-03 stsp <p class="Pp"></p>
111 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># cat &gt;&gt; /etc/gotd.conf
112 56f3f26e 2024-06-03 stsp &lt;&lt;EOF</code></div>
113 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li">repository 'myrepo' {</code></div>
114 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li">path '/git/myrepo.git'</code></div>
115 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li">permit rw flan_hacker</code></div>
116 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li">}</code></div>
117 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li">EOF</code></div>
118 56f3f26e 2024-06-03 stsp <div class="Bd Bd-indent"><code class="Li"># rcctl restart gotd</code></div>
119 56f3f26e 2024-06-03 stsp <p class="Pp">The flan_hacker user can now populate the empty repository with
120 56f3f26e 2024-06-03 stsp <code class="Cm">got send</code>.</p>
121 56f3f26e 2024-06-03 stsp </section>
122 56f3f26e 2024-06-03 stsp <section class="Sh">
123 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
124 742bb3a1 2022-10-24 stsp ALSO</a></h2>
125 742bb3a1 2022-10-24 stsp <p class="Pp"><a class="Xr" aria-label="got, section 1">got(1)</a>,
126 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="gotsh, section 1">gotsh(1)</a>,
127 742bb3a1 2022-10-24 stsp <a class="Xr" aria-label="git-repository, section 5">git-repository(5)</a>,
128 7196cfe5 2024-09-09 stsp <a class="Xr" aria-label="gotd.conf, section 5">gotd.conf(5)</a>
129 7196cfe5 2024-09-09 stsp <a class="Xr" aria-label="gotd-secrets.conf, section
130 7196cfe5 2024-09-09 stsp 5">gotd-secrets.conf(5)</a></p>
131 742bb3a1 2022-10-24 stsp </section>
132 742bb3a1 2022-10-24 stsp <section class="Sh">
133 742bb3a1 2022-10-24 stsp <h2 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h2>
134 742bb3a1 2022-10-24 stsp <p class="Pp"><span class="An">Stefan Sperling</span>
135 742bb3a1 2022-10-24 stsp &lt;<a class="Mt" href="mailto:stsp@openbsd.org">stsp@openbsd.org</a>&gt;</p>
136 742bb3a1 2022-10-24 stsp </section>
137 b183145b 2024-08-14 op <section class="Sh">
138 b183145b 2024-08-14 op <h2 class="Sh" id="CAVEATS"><a class="permalink" href="#CAVEATS">CAVEATS</a></h2>
139 b183145b 2024-08-14 op <p class="Pp">At present, <code class="Nm">gotd</code> cannot serve repositories
140 b183145b 2024-08-14 op that use the sha256 object ID hashing algorithm because
141 b183145b 2024-08-14 op <code class="Nm">gotd</code> does not yet support version 2 of the Git
142 b183145b 2024-08-14 op network protocol.</p>
143 b183145b 2024-08-14 op </section>
144 742bb3a1 2022-10-24 stsp </main>
145 742bb3a1 2022-10-24 stsp <div class="foot" role="doc-pagefooter" aria-label="Manual footer
146 765eba91 2024-11-21 op line"><span class="foot-left"></span><span class="foot-date">November 21,
147 a3016eec 2024-10-22 op 2024</span> <span class="foot-os">OpenBSD 7.6</span></div>
148 742bb3a1 2022-10-24 stsp </body>
149 742bb3a1 2022-10-24 stsp </html>