Pull request 1870: nextapi-frontend-fs

Merge in DNS/adguard-home from nextapi-frontend-fs to master

Squashed commit of the following:

commit 3ed959f21939cf5590c27426af46906cbffed502
Merge: e60bbdd04 9fda7bfd3
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Jun 13 13:37:00 2023 +0300

    Merge branch 'master' into nextapi-frontend-fs

commit e60bbdd04ce841c1aaaa198cc9dc85ae14799ffa
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Fri Jun 9 14:53:09 2023 +0300

    next: support frontend fs
This commit is contained in:
Ainar Garipov
2023-06-13 13:41:13 +03:00
parent 9fda7bfd34
commit 681c604c22
14 changed files with 169 additions and 108 deletions

View File

@@ -1,6 +1,7 @@
package cmd
import (
"io/fs"
"os"
"time"
@@ -18,6 +19,10 @@ type signalHandler struct {
// confFile is the path to the configuration file.
confFile string
// frontend is the filesystem with the frontend and other statically
// compiled files.
frontend fs.FS
// start is the time at which AdGuard Home has been started.
start time.Time
@@ -58,16 +63,16 @@ func (h *signalHandler) reconfigure() {
// reconfigured without the full shutdown, and the error handling is
// currently not the best.
confMgr, err := configmgr.New(h.confFile, h.start)
fatalOnError(err)
confMgr, err := configmgr.New(h.confFile, h.frontend, h.start)
check(err)
web := confMgr.Web()
err = web.Start()
fatalOnError(err)
check(err)
dns := confMgr.DNS()
err = dns.Start()
fatalOnError(err)
check(err)
h.services = []agh.Service{
dns,
@@ -103,10 +108,16 @@ func (h *signalHandler) shutdown() (status int) {
}
// newSignalHandler returns a new signalHandler that shuts down svcs.
func newSignalHandler(confFile string, start time.Time, svcs ...agh.Service) (h *signalHandler) {
func newSignalHandler(
confFile string,
frontend fs.FS,
start time.Time,
svcs ...agh.Service,
) (h *signalHandler) {
h = &signalHandler{
signal: make(chan os.Signal, 1),
confFile: confFile,
frontend: frontend,
start: start,
services: svcs,
}