Blame


1 13b2bc37 2022-10-23 stsp .\"
2 13b2bc37 2022-10-23 stsp .\" Copyright (c) 2022 Stefan Sperling <stsp@openbsd.org>
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.CONF 5
18 13b2bc37 2022-10-23 stsp .Os
19 13b2bc37 2022-10-23 stsp .Sh NAME
20 13b2bc37 2022-10-23 stsp .Nm gotd.conf
21 13b2bc37 2022-10-23 stsp .Nd gotd configuration file
22 13b2bc37 2022-10-23 stsp .Sh DESCRIPTION
23 13b2bc37 2022-10-23 stsp .Nm
24 13b2bc37 2022-10-23 stsp is the run-time configuration file for
25 13b2bc37 2022-10-23 stsp .Xr gotd 8 .
26 13b2bc37 2022-10-23 stsp .Pp
27 13b2bc37 2022-10-23 stsp The file format is line-based, with one configuration directive per line.
28 13b2bc37 2022-10-23 stsp Any lines beginning with a
29 13b2bc37 2022-10-23 stsp .Sq #
30 13b2bc37 2022-10-23 stsp are treated as comments and ignored.
31 13b2bc37 2022-10-23 stsp .Sh GLOBAL CONFIGURATION
32 13b2bc37 2022-10-23 stsp The available global configuration directives are as follows:
33 13b2bc37 2022-10-23 stsp .Bl -tag -width Ds
34 40b85cca 2023-01-03 stsp .It Ic connection Ar option
35 40b85cca 2023-01-03 stsp Set the specified options and limits for connections to the
36 40b85cca 2023-01-03 stsp .Xr gotd 8
37 40b85cca 2023-01-03 stsp unix socket.
38 40b85cca 2023-01-03 stsp .Pp
39 40b85cca 2023-01-03 stsp The
40 40b85cca 2023-01-03 stsp .Ic connection
41 40b85cca 2023-01-03 stsp directive may be specified multiple times, and multiple
42 40b85cca 2023-01-03 stsp .Ar option
43 40b85cca 2023-01-03 stsp arguments may be specified within curly braces:
44 40b85cca 2023-01-03 stsp .Pp
45 40b85cca 2023-01-03 stsp .Ic connection Brq Ar ...
46 40b85cca 2023-01-03 stsp .Pp
47 40b85cca 2023-01-03 stsp Each option should only be specified once.
48 40b85cca 2023-01-03 stsp If a given option is listed multiple times, the last line which sets this
49 40b85cca 2023-01-03 stsp option wins.
50 40b85cca 2023-01-03 stsp .Pp
51 40b85cca 2023-01-03 stsp Valid connection options are:
52 40b85cca 2023-01-03 stsp .Bl -tag -width Ds
53 40b85cca 2023-01-03 stsp .It Ic request timeout Ar seconds
54 40b85cca 2023-01-03 stsp Specify the inactivity timeout for operations between client and server.
55 40b85cca 2023-01-03 stsp If this timeout is exceeded while a Git protocol request is being processed,
56 40b85cca 2023-01-03 stsp the request will be aborted and the connection will be terminated.
57 40b85cca 2023-01-03 stsp .Pp
58 2be11cde 2023-01-03 op The timeout value may also have a suffix indicating its unit of measure.
59 2be11cde 2023-01-03 op Supported suffixes are:
60 2be11cde 2023-01-03 op .Pp
61 2be11cde 2023-01-03 op .Bl -tag -compact -width tenletters
62 2be11cde 2023-01-03 op .It Ar s No or Ar S
63 2be11cde 2023-01-03 op seconds
64 2be11cde 2023-01-03 op .It Ar m No or Ar M
65 2be11cde 2023-01-03 op minutes
66 2be11cde 2023-01-03 op .It Ar h No or Ar H
67 2be11cde 2023-01-03 op hours
68 2be11cde 2023-01-03 op .El
69 2be11cde 2023-01-03 op .Pp
70 2be11cde 2023-01-03 op The default timeout is 1h (3600 seconds, one hour).
71 40b85cca 2023-01-03 stsp This should only be changed if legitimate requests are exceeding the default
72 40b85cca 2023-01-03 stsp timeout for some reason, such as the server spending an extraordinary
73 40b85cca 2023-01-03 stsp amount of time generating a pack file.
74 40b85cca 2023-01-03 stsp .It Ic limit Ic user Ar identity Ar number
75 40b85cca 2023-01-03 stsp Limit the maximum amount of concurrent connections by the user with
76 40b85cca 2023-01-03 stsp the username
77 40b85cca 2023-01-03 stsp .Ar identity
78 40b85cca 2023-01-03 stsp to
79 40b85cca 2023-01-03 stsp .Ar number .
80 40b85cca 2023-01-03 stsp Numeric user IDs are also accepted.
81 40b85cca 2023-01-03 stsp .Pp
82 40b85cca 2023-01-03 stsp The default per-user limit is 4.
83 40b85cca 2023-01-03 stsp This should only be changed if concurrent connections from a given user are
84 40b85cca 2023-01-03 stsp expected to exceed the default limit, for example if an anonymous user
85 40b85cca 2023-01-03 stsp is granted read access and many concurrent connections will share this
86 40b85cca 2023-01-03 stsp anonymous user identity.
87 40b85cca 2023-01-03 stsp .El
88 83577462 2023-01-05 stsp .It Ic listen on Ar path
89 13b2bc37 2022-10-23 stsp Set the path to the unix socket which
90 13b2bc37 2022-10-23 stsp .Xr gotd 8
91 13b2bc37 2022-10-23 stsp should listen on.
92 13b2bc37 2022-10-23 stsp If not specified, the path
93 13b2bc37 2022-10-23 stsp .Pa /var/run/gotd.sock
94 13b2bc37 2022-10-23 stsp will be used.
95 13b2bc37 2022-10-23 stsp .It Ic user Ar user
96 13b2bc37 2022-10-23 stsp Set the
97 13b2bc37 2022-10-23 stsp .Ar user
98 13b2bc37 2022-10-23 stsp which will run
99 13b2bc37 2022-10-23 stsp .Xr gotd 8 .
100 13b2bc37 2022-10-23 stsp Initially,
101 13b2bc37 2022-10-23 stsp .Xr gotd 8
102 eec68231 2022-12-14 stsp requires root privileges in order to create its unix socket.
103 13b2bc37 2022-10-23 stsp Afterwards,
104 13b2bc37 2022-10-23 stsp .Xr gotd 8
105 13b2bc37 2022-10-23 stsp drops privileges to the specified
106 13b2bc37 2022-10-23 stsp .Ar user .
107 13b2bc37 2022-10-23 stsp If not specified, the user _gotd will be used.
108 13b2bc37 2022-10-23 stsp .El
109 13b2bc37 2022-10-23 stsp .Sh REPOSITORY CONFIGURATION
110 13b2bc37 2022-10-23 stsp At least one repository context must exist for
111 13b2bc37 2022-10-23 stsp .Xr gotd 8
112 13b2bc37 2022-10-23 stsp to function.
113 0ccf3acb 2022-11-16 stsp For each repository, access rules must be configured using the
114 0ccf3acb 2022-11-16 stsp .Ic permit
115 0ccf3acb 2022-11-16 stsp and
116 0ccf3acb 2022-11-16 stsp .Ic deny
117 0ccf3acb 2022-11-16 stsp configuration directives.
118 0ccf3acb 2022-11-16 stsp Multiple access rules can be specified, and the last matching rule
119 0ccf3acb 2022-11-16 stsp determines the action taken.
120 0ccf3acb 2022-11-16 stsp If no rule matches, access to the repository is denied.
121 13b2bc37 2022-10-23 stsp .Pp
122 13b2bc37 2022-10-23 stsp A repository context is declared with a unique
123 13b2bc37 2022-10-23 stsp .Ar name ,
124 13b2bc37 2022-10-23 stsp followed by repository-specific configuration directives inside curly braces:
125 13b2bc37 2022-10-23 stsp .Pp
126 13b2bc37 2022-10-23 stsp .Ic repository Ar name Brq ...
127 13b2bc37 2022-10-23 stsp .Pp
128 13b2bc37 2022-10-23 stsp .Xr got 1
129 13b2bc37 2022-10-23 stsp and
130 13b2bc37 2022-10-23 stsp .Xr git 1
131 13b2bc37 2022-10-23 stsp clients can connect to a repository by including the repository's unique
132 13b2bc37 2022-10-23 stsp .Ar name
133 13b2bc37 2022-10-23 stsp in the request URL.
134 13b2bc37 2022-10-23 stsp Clients appending the string
135 13b2bc37 2022-10-23 stsp .Dq .git
136 13b2bc37 2022-10-23 stsp to the
137 13b2bc37 2022-10-23 stsp .Ar name
138 13b2bc37 2022-10-23 stsp will also be accepted.
139 13b2bc37 2022-10-23 stsp .Pp
140 13b2bc37 2022-10-23 stsp If desired, the
141 13b2bc37 2022-10-23 stsp .Ar name
142 13b2bc37 2022-10-23 stsp may contain path-separators,
143 13b2bc37 2022-10-23 stsp .Dq / ,
144 13b2bc37 2022-10-23 stsp to expose repositories as part of a virtual client-visible directory hierarchy.
145 13b2bc37 2022-10-23 stsp .Pp
146 13b2bc37 2022-10-23 stsp The available repository configuration directives are as follows:
147 13b2bc37 2022-10-23 stsp .Bl -tag -width Ds
148 0ccf3acb 2022-11-16 stsp .It Ic deny Ar identity
149 0ccf3acb 2022-11-16 stsp Deny repository access to users with the username
150 0ccf3acb 2022-11-16 stsp .Ar identity .
151 0ccf3acb 2022-11-16 stsp Group names may be matched by prepending a colon
152 0ccf3acb 2022-11-16 stsp .Pq Sq \&:
153 0ccf3acb 2022-11-16 stsp to
154 0ccf3acb 2022-11-16 stsp .Ar identity .
155 0ccf3acb 2022-11-16 stsp Numeric IDs are also accepted.
156 13b2bc37 2022-10-23 stsp .It Ic path Ar path
157 13b2bc37 2022-10-23 stsp Set the path to the Git repository.
158 3b706203 2023-01-02 stsp Must be specified.
159 0ccf3acb 2022-11-16 stsp .It Ic permit Ar mode Ar identity
160 0ccf3acb 2022-11-16 stsp Permit repository access to users with the username
161 0ccf3acb 2022-11-16 stsp .Ar identity .
162 0ccf3acb 2022-11-16 stsp The
163 0ccf3acb 2022-11-16 stsp .Ar mode
164 0ccf3acb 2022-11-16 stsp argument must be set to either
165 0ccf3acb 2022-11-16 stsp .Ic ro
166 0ccf3acb 2022-11-16 stsp for read-only access,
167 0ccf3acb 2022-11-16 stsp or
168 0ccf3acb 2022-11-16 stsp .Ic rw
169 0ccf3acb 2022-11-16 stsp for read-write access.
170 0ccf3acb 2022-11-16 stsp Group names may be matched by prepending a colon
171 0ccf3acb 2022-11-16 stsp .Pq Sq \&:
172 0ccf3acb 2022-11-16 stsp to
173 0ccf3acb 2022-11-16 stsp .Ar identity .
174 0ccf3acb 2022-11-16 stsp Numeric IDs are also accepted.
175 9afa3de2 2023-04-04 stsp .It Ic protect Brq Ar ...
176 9afa3de2 2023-04-04 stsp The
177 9afa3de2 2023-04-04 stsp .Cm protect
178 9afa3de2 2023-04-04 stsp directive may be used to protect branches and tags in a repository
179 9afa3de2 2023-04-04 stsp from being overwritten by potentially destructive client-side commands,
180 9afa3de2 2023-04-04 stsp such as when
181 9afa3de2 2023-04-04 stsp .Cm got send -f
182 9afa3de2 2023-04-04 stsp and
183 9afa3de2 2023-04-04 stsp .Cm git push -f
184 9afa3de2 2023-04-04 stsp are used to change the history of a branch.
185 9afa3de2 2023-04-04 stsp .Pp
186 9afa3de2 2023-04-04 stsp To build a set of protected branches and tags, multiple
187 9afa3de2 2023-04-04 stsp .Ic protect
188 9afa3de2 2023-04-04 stsp directives may be specified per repository and
189 9afa3de2 2023-04-04 stsp multiple
190 9afa3de2 2023-04-04 stsp .Ic protect
191 9afa3de2 2023-04-04 stsp directive parameters may be specified within curly braces.
192 9afa3de2 2023-04-04 stsp .Pp
193 9afa3de2 2023-04-04 stsp The available
194 9afa3de2 2023-04-04 stsp .Cm protect
195 9afa3de2 2023-04-04 stsp parameters are as follows:
196 9afa3de2 2023-04-04 stsp .Bl -tag -width Ds
197 9afa3de2 2023-04-04 stsp .It Ic branch Ar name
198 9afa3de2 2023-04-04 stsp Protect the named branch.
199 9afa3de2 2023-04-04 stsp The branch may be created if it does not exist yet.
200 9afa3de2 2023-04-04 stsp Attempts to delete the branch or change its history will be denied.
201 9afa3de2 2023-04-04 stsp .Pp
202 9afa3de2 2023-04-04 stsp If the
203 9afa3de2 2023-04-04 stsp .Ar name
204 9afa3de2 2023-04-04 stsp does not already begin with
205 9afa3de2 2023-04-04 stsp .Dq refs/heads/
206 9afa3de2 2023-04-04 stsp it will be looked up in the
207 9afa3de2 2023-04-04 stsp .Dq refs/heads/
208 9afa3de2 2023-04-04 stsp reference namespace.
209 9afa3de2 2023-04-04 stsp .It Ic branch Ic namespace Ar namespace
210 9afa3de2 2023-04-04 stsp Protect the given reference namespace, assuming that references in
211 9afa3de2 2023-04-04 stsp this namespace represent branches.
212 9afa3de2 2023-04-04 stsp New branches may be created in the namespace.
213 9afa3de2 2023-04-04 stsp Attempts to change the history of branches or delete them will be denied.
214 9afa3de2 2023-04-04 stsp .Pp
215 9afa3de2 2023-04-04 stsp The
216 9afa3de2 2023-04-04 stsp .Ar namespace
217 9afa3de2 2023-04-04 stsp argument must be absolute, starting with
218 9afa3de2 2023-04-04 stsp .Dq refs/ .
219 9afa3de2 2023-04-04 stsp .It Ic tag Ic namespace Ar namespace
220 9afa3de2 2023-04-04 stsp Protect the given reference namespace, assuming that references in
221 9afa3de2 2023-04-04 stsp this namespace represent tags.
222 9afa3de2 2023-04-04 stsp New tags may be created in the namespace.
223 9afa3de2 2023-04-04 stsp Attempts to change or delete existing tags will be denied.
224 9afa3de2 2023-04-04 stsp .Pp
225 a397e3fb 2024-03-28 op The
226 9afa3de2 2023-04-04 stsp .Ar namespace
227 9afa3de2 2023-04-04 stsp argument must be absolute, starting with
228 9afa3de2 2023-04-04 stsp .Dq refs/ .
229 4eb4de73 2022-11-14 op .El
230 9afa3de2 2023-04-04 stsp .Pp
231 9afa3de2 2023-04-04 stsp The special reference namespaces
232 9afa3de2 2023-04-04 stsp .Dq refs/got/
233 9afa3de2 2023-04-04 stsp and
234 9afa3de2 2023-04-04 stsp .Dq refs/remotes/
235 9afa3de2 2023-04-04 stsp do not need to be listed in
236 9afa3de2 2023-04-04 stsp .Nm .
237 9afa3de2 2023-04-04 stsp These namespaces are always protected and even attempts to create new
238 9afa3de2 2023-04-04 stsp references in these namespaces will always be denied.
239 ba97b2d7 2024-03-20 stsp .It Ic notify Brq Ar ...
240 ba97b2d7 2024-03-20 stsp The
241 ba97b2d7 2024-03-20 stsp .Ic notify
242 ba97b2d7 2024-03-20 stsp directive enables notifications about new commits or tags
243 ba97b2d7 2024-03-20 stsp added to the repository.
244 ba97b2d7 2024-03-20 stsp .Pp
245 ba97b2d7 2024-03-20 stsp Notifications via email require an SMTP daemon which accepts mail
246 ba97b2d7 2024-03-20 stsp for forwarding without requiring client authentication or encryption.
247 ba97b2d7 2024-03-20 stsp On
248 ba97b2d7 2024-03-20 stsp .Ox
249 ba97b2d7 2024-03-20 stsp the
250 ba97b2d7 2024-03-20 stsp .Xr smtpd 8
251 ba97b2d7 2024-03-20 stsp daemon can be used for this purpose.
252 ba97b2d7 2024-03-20 stsp The default content of email notifications looks similar to the output of the
253 ba97b2d7 2024-03-20 stsp .Cm got log -d
254 ba97b2d7 2024-03-20 stsp command.
255 ba97b2d7 2024-03-20 stsp .Pp
256 5565365c 2024-03-27 op Notifications via HTTP require a HTTP or HTTPS server which is accepting
257 5565365c 2024-03-27 op POST requests with or without HTTP Basic authentication.
258 5565365c 2024-03-27 op Depending on the use case a custom server-side CGI script may be required
259 5565365c 2024-03-27 op for the processing of notifications.
260 5565365c 2024-03-27 op HTTP notifications can achieve functionality
261 5565365c 2024-03-27 op similar to Git's server-side post-receive hook script with
262 5565365c 2024-03-27 op .Xr gotd 8
263 5565365c 2024-03-27 op by triggering arbitrary post-commit actions via the HTTP server.
264 5565365c 2024-03-27 op .Pp
265 ba97b2d7 2024-03-20 stsp The
266 ba97b2d7 2024-03-20 stsp .Ic notify
267 ba97b2d7 2024-03-20 stsp directive expects parameters which must be enclosed in curly braces.
268 ba97b2d7 2024-03-20 stsp The available parameters are as follows:
269 ba97b2d7 2024-03-20 stsp .Bl -tag -width Ds
270 ba97b2d7 2024-03-20 stsp .It Ic branch Ar name
271 ba97b2d7 2024-03-20 stsp Send notifications about commits to the named branch.
272 ba97b2d7 2024-03-20 stsp The
273 ba97b2d7 2024-03-20 stsp .Ar name
274 ba97b2d7 2024-03-20 stsp will be looked up in the
275 ba97b2d7 2024-03-20 stsp .Dq refs/heads/
276 ba97b2d7 2024-03-20 stsp reference namespace.
277 ba97b2d7 2024-03-20 stsp This directive may be specified multiple times to build a list of
278 ba97b2d7 2024-03-20 stsp branches to send notifications for.
279 ba97b2d7 2024-03-20 stsp If neither a
280 ba97b2d7 2024-03-20 stsp .Ic branch
281 ba97b2d7 2024-03-20 stsp nor a
282 ba97b2d7 2024-03-20 stsp .Ic reference namespace
283 ba97b2d7 2024-03-20 stsp are specified then changes to any reference will trigger notifications.
284 ba97b2d7 2024-03-20 stsp .It Ic reference Ic namespace Ar namespace
285 ba97b2d7 2024-03-20 stsp Send notifications about commits or tags within a reference namespace.
286 ba97b2d7 2024-03-20 stsp This directive may be specified multiple times to build a list of
287 ba97b2d7 2024-03-20 stsp namespaces to send notifications for.
288 ba97b2d7 2024-03-20 stsp If neither a
289 ba97b2d7 2024-03-20 stsp .Ic branch
290 ba97b2d7 2024-03-20 stsp nor a
291 ba97b2d7 2024-03-20 stsp .Ic reference namespace
292 ba97b2d7 2024-03-20 stsp are specified then changes to any reference will trigger notifications.
293 ba97b2d7 2024-03-20 stsp .It Ic email Oo Ic from Ar sender Oc Ic to Ar recipient Oo Ic reply to Ar responder Oc Oo Ic relay Ar hostname Oo Ic port Ar port Oc Oc
294 ba97b2d7 2024-03-20 stsp Send notifications via email to the specified
295 ba97b2d7 2024-03-20 stsp .Ar recipient .
296 ba97b2d7 2024-03-20 stsp This directive may be specified multiple times to build a list of
297 ba97b2d7 2024-03-20 stsp recipients to send notifications to.
298 ba97b2d7 2024-03-20 stsp .Pp
299 ba97b2d7 2024-03-20 stsp The
300 ba97b2d7 2024-03-20 stsp .Ar recipient
301 ba97b2d7 2024-03-20 stsp must be an email addresses that accepts mail.
302 ba97b2d7 2024-03-20 stsp The
303 ba97b2d7 2024-03-20 stsp .Ar sender
304 ba97b2d7 2024-03-20 stsp will be used as the From address.
305 ba97b2d7 2024-03-20 stsp If not specified, the sender defaults to an email address composed of the user
306 ba97b2d7 2024-03-20 stsp account running
307 ba97b2d7 2024-03-20 stsp .Xr gotd 8
308 ba97b2d7 2024-03-20 stsp and the local hostname.
309 ba97b2d7 2024-03-20 stsp .Pp
310 ba97b2d7 2024-03-20 stsp If a
311 ba97b2d7 2024-03-20 stsp .Ar responder
312 ba97b2d7 2024-03-20 stsp is specified via the
313 ba97b2d7 2024-03-20 stsp .Ic reply to
314 ba97b2d7 2024-03-20 stsp directive, the
315 ba97b2d7 2024-03-20 stsp .Ar responder
316 ba97b2d7 2024-03-20 stsp will be used as the Reply-to address.
317 ba97b2d7 2024-03-20 stsp Setting the Reply-to header can be useful if replies should go to a
318 ba97b2d7 2024-03-20 stsp mailing list instead of the
319 ba97b2d7 2024-03-20 stsp .Ar sender ,
320 ba97b2d7 2024-03-20 stsp for example.
321 ba97b2d7 2024-03-20 stsp .Pp
322 ba97b2d7 2024-03-20 stsp By default, mail will be sent to the SMTP server listening on the loopback
323 ba97b2d7 2024-03-20 stsp address 127.0.0.1 on port 25.
324 ba97b2d7 2024-03-20 stsp The
325 ba97b2d7 2024-03-20 stsp .Ic relay
326 ba97b2d7 2024-03-20 stsp and
327 ba97b2d7 2024-03-20 stsp .Ic port
328 ba97b2d7 2024-03-20 stsp directives can be used to specify a different SMTP server address and port.
329 5565365c 2024-03-27 op .It Ic url Ar URL Oo Ic user Ar user Ic password Ar password Oc
330 5565365c 2024-03-27 op Send notifications via HTTP.
331 5565365c 2024-03-27 op This directive may be specified multiple times to build a list of
332 5565365c 2024-03-27 op HTTP servers to send notifications to.
333 5565365c 2024-03-27 op .Pp
334 5565365c 2024-03-27 op The notification will be sent as a POST request to the given
335 5565365c 2024-03-27 op .Ar URL ,
336 5565365c 2024-03-27 op which must be a valid HTTP URL and begin with either
337 5565365c 2024-03-27 op .Dq http://
338 5565365c 2024-03-27 op or
339 5565365c 2024-03-27 op .Dq https:// .
340 5565365c 2024-03-27 op If HTTPS is used, sending of notifications will only succeed if
341 5565365c 2024-03-27 op no TLS errors occur.
342 5565365c 2024-03-27 op .Pp
343 5565365c 2024-03-27 op The optional
344 5565365c 2024-03-27 op .Ic user
345 5565365c 2024-03-27 op and
346 5565365c 2024-03-27 op .Ic password
347 5565365c 2024-03-27 op directives enable HTTP Basic authentication.
348 5565365c 2024-03-27 op If used, both a
349 5565365c 2024-03-27 op .Ar user
350 5565365c 2024-03-27 op and a
351 5565365c 2024-03-27 op .Ar password
352 5565365c 2024-03-27 op must be specified.
353 5565365c 2024-03-27 op The
354 5565365c 2024-03-27 op .Ar password
355 5565365c 2024-03-27 op must not be an empty string.
356 5565365c 2024-03-27 op .Pp
357 5565365c 2024-03-27 op The request body contains a JSON document with the following objects:
358 a397e3fb 2024-03-28 op .Bl -tag -width Ds
359 5565365c 2024-03-27 op .It { "notifications" : array }
360 5565365c 2024-03-27 op The top-level object contains an array of all notifications in this request.
361 9afa3de2 2023-04-04 stsp .El
362 5565365c 2024-03-27 op .El
363 a397e3fb 2024-03-28 op .El
364 13b2bc37 2022-10-23 stsp .Sh FILES
365 13b2bc37 2022-10-23 stsp .Bl -tag -width Ds -compact
366 13b2bc37 2022-10-23 stsp .It Pa /etc/gotd.conf
367 13b2bc37 2022-10-23 stsp Location of the
368 13b2bc37 2022-10-23 stsp .Nm
369 13b2bc37 2022-10-23 stsp configuration file.
370 13b2bc37 2022-10-23 stsp .El
371 13b2bc37 2022-10-23 stsp .Sh EXAMPLES
372 13b2bc37 2022-10-23 stsp .Bd -literal -offset indent
373 6f854dde 2023-01-04 stsp # Run as the default user:
374 13b2bc37 2022-10-23 stsp user _gotd
375 13b2bc37 2022-10-23 stsp
376 83577462 2023-01-05 stsp # Listen on the default socket:
377 83577462 2023-01-05 stsp listen on "/var/run/gotd.sock"
378 83577462 2023-01-05 stsp
379 13b2bc37 2022-10-23 stsp # This repository can be accessed via ssh://user@example.com/src
380 13b2bc37 2022-10-23 stsp repository "src" {
381 13b2bc37 2022-10-23 stsp path "/var/git/src.git"
382 0ccf3acb 2022-11-16 stsp permit rw flan_hacker
383 0ccf3acb 2022-11-16 stsp permit rw :developers
384 0ccf3acb 2022-11-16 stsp permit ro anonymous
385 9afa3de2 2023-04-04 stsp
386 9afa3de2 2023-04-04 stsp protect branch "main"
387 9afa3de2 2023-04-04 stsp protect tag namespace "refs/tags/"
388 13b2bc37 2022-10-23 stsp }
389 13b2bc37 2022-10-23 stsp
390 13b2bc37 2022-10-23 stsp # This repository can be accessed via
391 13b2bc37 2022-10-23 stsp # ssh://user@example.com/openbsd/ports
392 13b2bc37 2022-10-23 stsp repository "openbsd/ports" {
393 13b2bc37 2022-10-23 stsp path "/var/git/ports.git"
394 0ccf3acb 2022-11-16 stsp permit rw :porters
395 0ccf3acb 2022-11-16 stsp permit ro anonymous
396 0ccf3acb 2022-11-16 stsp deny flan_hacker
397 9afa3de2 2023-04-04 stsp
398 9afa3de2 2023-04-04 stsp protect {
399 9afa3de2 2023-04-04 stsp branch "main"
400 9afa3de2 2023-04-04 stsp tag namespace "refs/tags/"
401 9afa3de2 2023-04-04 stsp }
402 ba97b2d7 2024-03-20 stsp
403 ba97b2d7 2024-03-20 stsp notify {
404 ba97b2d7 2024-03-20 stsp branch "main"
405 ba97b2d7 2024-03-20 stsp reference namespace "refs/tags/"
406 ba97b2d7 2024-03-20 stsp email to openbsd-ports-changes@example.com
407 ba97b2d7 2024-03-20 stsp .\" url https://example.com/notify/ user "flan_announcer" password "secret"
408 ba97b2d7 2024-03-20 stsp }
409 13b2bc37 2022-10-23 stsp }
410 40b85cca 2023-01-03 stsp
411 40b85cca 2023-01-03 stsp # Use a larger request timeout value:
412 2be11cde 2023-01-03 op connection request timeout 2h
413 40b85cca 2023-01-03 stsp
414 40b85cca 2023-01-03 stsp # Some users are granted a higher concurrent connection limit:
415 40b85cca 2023-01-03 stsp connection {
416 40b85cca 2023-01-03 stsp limit user flan_hacker 16
417 40b85cca 2023-01-03 stsp limit user anonymous 32
418 40b85cca 2023-01-03 stsp }
419 13b2bc37 2022-10-23 stsp .Ed
420 13b2bc37 2022-10-23 stsp .Sh SEE ALSO
421 13b2bc37 2022-10-23 stsp .Xr got 1 ,
422 13b2bc37 2022-10-23 stsp .Xr gotsh 1 ,
423 13b2bc37 2022-10-23 stsp .Xr gotd 8