hst: replace internal/app error
All checks were successful
Test / Create distribution (push) Successful in 43s
Test / Hpkg (push) Successful in 4m3s
Test / Sandbox (race detector) (push) Successful in 4m36s
Test / Hakurei (race detector) (push) Successful in 5m17s
Test / Sandbox (push) Successful in 1m27s
Test / Hakurei (push) Successful in 2m15s
Test / Flake checks (push) Successful in 1m28s

This turns out to still be quite useful across internal/app and its relatives. Perhaps a cleaner replacement for baseError.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-09-15 01:44:43 +09:00
parent 1cdc6b4246
commit 8690419c2d
5 changed files with 132 additions and 45 deletions

View File

@@ -13,6 +13,7 @@ import (
"time"
"hakurei.app/container"
"hakurei.app/hst"
"hakurei.app/internal"
"hakurei.app/internal/app/state"
"hakurei.app/internal/hlog"
@@ -119,7 +120,7 @@ func (seal *Outcome) Run(rs *RunState) error {
var e *gob.Encoder
if fd, encoder, err := container.Setup(&cmd.ExtraFiles); err != nil {
return &FinaliseError{Step: "create shim setup pipe", Err: err}
return &hst.AppError{Step: "create shim setup pipe", Err: err}
} else {
e = encoder
cmd.Env = []string{
@@ -139,7 +140,7 @@ func (seal *Outcome) Run(rs *RunState) error {
hlog.Verbosef("setuid helper at %s", hsuPath)
hlog.Suspend()
if err := cmd.Start(); err != nil {
return &FinaliseError{Step: "start setuid wrapper", Err: err}
return &hst.AppError{Step: "start setuid wrapper", Err: err}
}
rs.setStart()
@@ -159,7 +160,7 @@ func (seal *Outcome) Run(rs *RunState) error {
case err := <-setupErr:
if err != nil {
hlog.Resume()
return &FinaliseError{Step: "transmit shim config", Err: err}
return &hst.AppError{Step: "transmit shim config", Err: err}
}
case <-ctx.Done():