container: move out of toplevel
All checks were successful
Test / Create distribution (push) Successful in 32s
Test / Sandbox (push) Successful in 1m52s
Test / Sandbox (race detector) (push) Successful in 3m14s
Test / Planterette (push) Successful in 3m36s
Test / Hakurei (race detector) (push) Successful in 4m31s
Test / Hakurei (push) Successful in 2m3s
Test / Flake checks (push) Successful in 1m13s

This allows slightly easier use of the vanity url. This also provides some disambiguation between low level containers and hakurei app containers.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-07-03 02:59:43 +09:00
parent 82561d62b6
commit 1b5ecd9eaf
55 changed files with 232 additions and 234 deletions

View File

@@ -9,7 +9,7 @@ import (
"slices"
"sync"
"git.gensokyo.uk/security/hakurei"
"git.gensokyo.uk/security/hakurei/container"
"git.gensokyo.uk/security/hakurei/helper/proc"
)
@@ -20,13 +20,13 @@ func New(
wt io.WriterTo,
stat bool,
argF func(argsFd, statFd int) []string,
cmdF func(container *hakurei.Container),
cmdF func(z *container.Container),
extraFiles []*os.File,
) Helper {
var args []string
h := new(helperContainer)
h.helperFiles, args = newHelperFiles(ctx, wt, stat, argF, extraFiles)
h.Container = hakurei.New(ctx, name, args...)
h.Container = container.New(ctx, name, args...)
h.WaitDelay = WaitDelay
if cmdF != nil {
cmdF(h.Container)
@@ -40,7 +40,7 @@ type helperContainer struct {
mu sync.Mutex
*helperFiles
*hakurei.Container
*container.Container
}
func (h *helperContainer) Start() error {

View File

@@ -7,7 +7,7 @@ import (
"os/exec"
"testing"
"git.gensokyo.uk/security/hakurei"
"git.gensokyo.uk/security/hakurei/container"
"git.gensokyo.uk/security/hakurei/helper"
"git.gensokyo.uk/security/hakurei/internal"
"git.gensokyo.uk/security/hakurei/internal/hlog"
@@ -34,15 +34,13 @@ func TestContainer(t *testing.T) {
t.Run("implementation compliance", func(t *testing.T) {
testHelper(t, func(ctx context.Context, setOutput func(stdoutP, stderrP *io.Writer), stat bool) helper.Helper {
return helper.New(ctx, os.Args[0], argsWt, stat, argF, func(container *hakurei.Container) {
setOutput(&container.Stdout, &container.Stderr)
container.CommandContext = func(ctx context.Context) (cmd *exec.Cmd) {
return helper.New(ctx, os.Args[0], argsWt, stat, argF, func(z *container.Container) {
setOutput(&z.Stdout, &z.Stderr)
z.CommandContext = func(ctx context.Context) (cmd *exec.Cmd) {
return exec.CommandContext(ctx, os.Args[0], "-test.v",
"-test.run=TestHelperInit", "--", "init")
}
container.Bind("/", "/", 0)
container.Proc("/proc")
container.Dev("/dev")
z.Bind("/", "/", 0).Proc("/proc").Dev("/dev")
}, nil)
})
})
@@ -52,6 +50,6 @@ func TestHelperInit(t *testing.T) {
if len(os.Args) != 5 || os.Args[4] != "init" {
return
}
hakurei.SetOutput(hlog.Output{})
hakurei.Init(hlog.Prepare, func(bool) { internal.InstallOutput(false) })
container.SetOutput(hlog.Output{})
container.Init(hlog.Prepare, func(bool) { internal.InstallOutput(false) })
}