commit 62c4f01be76e0fc679c1741dc771ceb5a92d75e8 from: Stefan Sperling date: Tue Sep 16 08:28:17 2025 UTC start up gotwebd in the gotsysd regress VM commit - ed6f6d9746478c25a51abb98a95de82ce176c6f4 commit + 62c4f01be76e0fc679c1741dc771ceb5a92d75e8 blob - 2fce6af6536d491c5a9a6d0893d616888d2a304a blob + 7575ba1143c38b29a5fe45fff0e1fb0d08ac66fe --- regress/gotsysd/Makefile +++ regress/gotsysd/Makefile @@ -9,7 +9,8 @@ NOOBJ=Yes CLEANFILES= SHA256.sig bsd.rd bsd.rd.fs bsd.rd.decomp ${AUTOINSTALL_CONF} \ ${GOTSYSD_BSD_RD} ${GOTSYSD_SSH_KEY} ${GOTSYSD_SSH_PUBKEY} \ ${GOTSYSD_TEST_VM_BASE_IMAGE} ${GOTSYSD_VM_PASSWD_FILE} ${GOTD_CONF} \ - ${GOTSYSD_CONF} ${GOTSYS_CONF} ${GOT_CONF} ${INSTALL_SITE} + ${GOTSYSD_CONF} ${GOTSYS_CONF} ${GOT_CONF} ${INSTALL_SITE} \ + ${HTTPD_CONF} ${GOTWEBD_CONF} .PHONY: ensure_root vm start_test_vm build_got @@ -36,6 +37,8 @@ GOTWEBD_UID=593 # /usr/ports/infrastructure/db/user.li GOTSYSD_TEST_SMTP_PORT=2525 GOTSYSD_TEST_HTTP_PORT=8000 GOTSYSD_TEST_HMAC_SECRET!=openssl rand -base64 32 +HTTPD_CONF=httpd.conf +GOTWEBD_CONF=gotwebd.conf GOTSYSD_TEST_USER?=${DOAS_USER} .if empty(GOTSYSD_TEST_USER) @@ -206,6 +209,21 @@ ${GOTSYS_CONF}: ${GOTSYSD_SSH_PUBKEY} ${GOT_CONF}: @${UNPRIV} "echo author \\'${GOTSYSD_TEST_USER} \\<${GOTSYSD_TEST_USER}@localhost\\>\\' > $@" + +$(HTTPD_CONF): + @${UNPRIV} 'echo server "VMIP" { > $@' + @${UNPRIV} 'echo \ \ listen on VMIP port http >> $@' + @${UNPRIV} 'echo \ \ root \"/htdocs/gotwebd\" >> $@' + @${UNPRIV} 'echo \ \ location \"/\" { >> $@' + @${UNPRIV} 'echo \ \ \ \ fastcgi socket \"/run/gotweb.sock\" >> $@' + @${UNPRIV} 'echo \ \ } >> $@' + @${UNPRIV} 'echo } >> $@' + +$(GOTWEBD_CONF): + @${UNPRIV} 'echo server "VMIP" { > $@' + @${UNPRIV} 'echo \ \ repos_path \"/git\" >> $@' + @${UNPRIV} 'echo } >> $@' + build_got: @set -e; \ VMID=`vmctl status ${GOTSYSD_VM_NAME} | tail -n1 | \ @@ -229,18 +247,18 @@ build_got: ${UNPRIV} "${GOTSYSD_SSH_CMD} -- root@$${VMIP} \ ln -f -s gitwrapper /usr/local/bin/git-receive-pack" -setup_test_vm: start_test_vm build_got ${GOTD_CONF} ${GOTSYSD_CONF} ${GOTSYS_CONF} ${GOT_CONF} +setup_test_vm: start_test_vm build_got ${GOTD_CONF} ${GOTSYSD_CONF} ${GOTSYS_CONF} ${GOT_CONF} ${HTTPD_CONF} ${GOTWEBD_CONF} @set -e; \ VMID=`vmctl status ${GOTSYSD_VM_NAME} | tail -n1 | \ awk '{print $$1}'`; \ VMIP="100.64.$$VMID.3"; \ ${UNPRIV} "ssh-keygen -R $${VMIP}"; \ ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} sysctl kern.nosuidcoredump=3"; \ - ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} mkdir -p /var/crash/gotd "; \ - ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} mkdir -p /var/crash/gotsysd "; \ + ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} mkdir -p -m 700 \ + /var/crash/gotd /var/crash/gotsysd /var/crash/gotwebd"; \ ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} sed -i 's/daemon.info/daemon.*/' /etc/syslog.conf"; \ ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} rcctl restart syslogd"; \ - ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} mkdir -m 700 /git "; \ + ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} mkdir -m 750 /git "; \ ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} \ got init /git/${GOTSYS_REPO}"; \ ${UNPRIV} "${GOTSYSD_SCP_CMD} \ @@ -275,7 +293,14 @@ setup_test_vm: start_test_vm build_got ${GOTD_CONF} ${ groupadd -g ${GOTWEBD_UID} _gotwebd"; \ ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} \ useradd -d /nonexistent -s /sbin/nologin \ - -u ${GOTWEBD_UID} -g ${GOTWEBD_UID} _gotwebd"; \ + -u ${GOTWEBD_UID} -g ${GOTWEBD_UID} -G _gotd _gotwebd"; \ + ${UNPRIV} "${GOTSYSD_SCP_CMD} ${GOTWEBD_CONF} root@$${VMIP}:/etc/"; \ + ${UNPRIV} "${GOTSYSD_SCP_CMD} ${HTTPD_CONF} root@$${VMIP}:/etc/"; \ + ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} \ + sed -i s/VMIP/$${VMIP}/ /etc/httpd.conf /etc/gotwebd.conf"; \ + ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} rcctl -f start httpd"; \ + ${UNPRIV} "${GOTSYSD_SSH_CMD} root@$${VMIP} \ + /usr/local/sbin/gotwebd -v"; \ stop_test_vm: ensure_root @vmctl stop ${GOTSYSD_VM_NAME}