Blob
- Date:
- Message:
- introduce gotsysd and related utilities gotsysd makes it possible to manage gotd servers without direct shell access. Configuration settings are committed to a special gotsys.git repostitory, and gotsysd applies this configuration to the running system: adding user accounts, creating user home directories, installing authorized ssh keys, creating repositories, and creating a new gotd.conf file. gotd is then restarted and runs with the updated configuration. gotsysd tries to do all the above securely. However, a lot of these steps require root access. The primary reason for gotsysd's existence is that it is a necessary evil required to provide gotd-based Git repository hosting without giving users of such a service shell access to servers. gotsysd can also make self-hosted gotd setups more convenient to manage. But admins who are comfortable maintaining a gotd server manually will not need gotsysd. See the TODO file for a list of planned features which are still missing.
- Actions:
- History | Blame | Raw File
1 SUBDIR = libexec got tog gotadmin gotsys3 .PHONY: release dist5 .if make(regress) || make(obj) || make(clean) || make(release)6 SUBDIR += regress7 .endif9 .if make(clean) || make(obj) || make(release)10 SUBDIR += gotwebd gotd gotsh gotctl template gitwrapper11 SUBDIR += gotsysd gotsys gotsysctl12 .endif14 .if make(tags) || make(cleandir)15 SUBDIR += lib16 .endif18 .include "got-version.mk"20 .if "${GOT_RELEASE}" != "Yes" || make(clean) || make(obj)21 SUBDIR += cvg22 .endif24 release: clean25 sed -i -e "s/_RELEASE=No/_RELEASE=Yes/" got-version.mk26 ${MAKE} dist27 sed -i -e "s/_RELEASE=Yes/_RELEASE=No/" got-version.mk29 dist: clean30 mkdir /tmp/got-${GOT_VERSION}31 pax -rw * /tmp/got-${GOT_VERSION}32 find /tmp/got-${GOT_VERSION} -name obj -type d -delete33 rm /tmp/got-${GOT_VERSION}/got-dist.txt34 tar -C /tmp -zcf got-${GOT_VERSION}.tar.gz got-${GOT_VERSION}35 rm -rf /tmp/got-${GOT_VERSION}36 tar -ztf got-${GOT_VERSION}.tar.gz | sed -e 's/^got-${GOT_VERSION}//' \37 | sort > got-dist.txt.new38 diff -u got-dist.txt got-dist.txt.new39 rm got-dist.txt.new41 tmpl:42 ${MAKE} -C template44 tmpl-regress:45 ${MAKE} -C regress/template47 webd: tmpl48 ${MAKE} -C gotwebd50 webd-install:51 ${MAKE} -C gotwebd install53 server:54 ${MAKE} -C gotctl55 ${MAKE} -C gotd56 ${MAKE} -C gotsh57 ${MAKE} -C gitwrapper59 server-install:60 ${MAKE} -C gotctl install61 ${MAKE} -C gotd install62 ${MAKE} -C gotsh install63 ${MAKE} -C gitwrapper install65 server-regress:66 ${MAKE} -C regress/gotd68 webd-regress:69 ${MAKE} -C regress/gotwebd71 sysd:72 ${MAKE} -C gotsysctl73 ${MAKE} -C gotsysd75 sysd-install:76 ${MAKE} -C gotsysctl install77 ${MAKE} -C gotsysd install79 .include <bsd.subdir.mk>