NAME
gotd
—
Game of Trees Daemon
SYNOPSIS
gotd |
[-dnv ] [-f
config-file] [-s
secrets] |
DESCRIPTION
gotd
is a Git repository server which
listens on a unix(4) socket
and relies on its companion tool gotsh(1) to handle Git-protocol communication over the network, via
ssh(1).
The Git repository format is described in git-repository(5).
gotd
requires a configuration file in
order to run. The configuration file format is described in
gotd.conf(5).
It is recommended to restrict ssh(1) features available to users of
gotd
. See gotsh(1) for details.
The options for gotd
are as follows:
-d
- Do not daemonize. Send log output to stderr.
-f
config-file- Set the path to the configuration file. If not specified, the file /etc/gotd.conf will be used.
-n
- Configtest mode. Only check the configuration file for validity.
-s
secrets- Set the path to the secrets file. If not specified, the file /etc/gotd-secrets.conf will be used if it exists.
-v
- Verbose mode. Verbosity increases if this option is used multiple times.
FILES
- /etc/gotd.conf
- Default location of the configuration file.
- /var/run/gotd.sock
- Default location of the unix socket which
gotd
is listening on. This path can be configured in gotd.conf(5).
EXAMPLES
Create an empty repository to be served by
gotd
, ensuring that it can only be accessed by the
_gotd user:
# mkdir -p
/git/myrepo.git
# chmod 700
/git/myrepo.git
# chown _gotd
/git/myrepo.git
# su -m _gotd -c 'gotadmin init
/git/myrepo.git'
Add the new repository to gotd.conf(5) granting read-write access to the flan_hacker
user account, and restart gotd
:
# cat >> /etc/gotd.conf
<<EOF
repository 'myrepo' {
path '/git/myrepo.git'
permit rw flan_hacker
}
EOF
# rcctl restart gotd
The flan_hacker user can now populate the empty repository with
got send
.
SEE ALSO
got(1), gotsh(1), git-repository(5), gotd.conf(5) gotd-secrets.conf(5)
AUTHORS
Stefan Sperling <stsp@openbsd.org>
CAVEATS
At present, gotd
cannot serve repositories
that use the sha256 object ID hashing algorithm because
gotd
does not yet support version 2 of the Git
network protocol.