Repository navigation
fix(plugins): boot health timeout, traefik upload overlap, drop v1 shell framework (D-0887, D-0617, D-0297) - #480
Conversation
|
Fixed in 1f6a00f. The 10 remaining unbounded |
… 5 s timeout (D-0887)
…named route owns (D-0617)
… references (D-0297)
…fresh the alpha golden (D-0887) Ten hand-placed helpers outside */cmd and */internal still called migrate.Status on context.Background(). Bound them with the same 5 s timeout, regenerate the alpha conformance golden, and widen the guard test to walk every Go file under free/ and tests/conformance/expected/.
…nstall.sh (D-0297)
|
Rebased onto origin/main. The only conflicts were six v1 shell files this PR deletes (file-processing/install.sh, github-runner install.sh, actions/start|status|trust.sh, tests/github-runner.test.sh) that main had patched; kept the deletion, since the Go github-runner plugin already carries the runner-group trust check. Also removed free/file-processing/tests/install-ts.test.sh (added on main, it sources the deleted install.sh). go test -mod=vendor passes in every touched module. |
1f6a00f to
5e0804e
Compare
Three rows fixed, two reported blocked.
D-0887 (fixed, partly)
migrate.Statusin the boot health helper now runs undercontext.WithTimeout(context.Background(), 5*time.Second). A hung database fails/healthinstead of hanging it. Changed in the codemod template (scripts/codemods/bootmig/run.go) and in the 36 generatedboot_migrations.gocopies (the 7 hand-written ones already passed a context).scripts/codemods/bootmig/health_timeout_test.gofails on the template and on every generated copy that callsmigrate.Statuson an unbounded context. It failed before and passes now.bootMigrationsHealth(w)has no request parameter, and changing it means rewiring every plugin's health handler and the codemod's edit. The timeout alone removes the hang, so I did that.cli/internal/plugin,cmd) never discovers or runsinstall.sh,uninstall.shor manifestpostInstall/preUninstall; nothing reads them. D-0297 removes the scripts.D-0617 (fixed)
checkUploadOverlapinfree/traefik/internal/render/upload.gorefuses a named wildcard route that covers a host an unnamed route owns more specifically (exact name or longer wildcard). The refusal names the route and the host. Naming the overlapping route as well renders fine.upload_test.go(host-tier fixture): fail before, pass after. README and wiki Traefik page now say what happens.D-0297 (fixed)
install.sh,uninstall.sh,actions/*.sh,webhooks/**/*.shfiles and the 4 shared scripts (generate-plugin,plugin-utils,schema-sync,webhook-handler). Keptshared/validate-registry.sh.free/github-runner/tests/github-runner.test.sh(it only tested the deleted scripts; the Go handlers keep their own tests), the redteamTestD24_InstallVerifiesRunnerDownload(its subject,install.sh, is gone), and 7.github/file-size-budget.txtrows.Development.md; replaced./install.shsteps withnself plugin install <name>in the wiki and the file-processing, idme, jobs, notifications READMEs and summaries; fixedContributing.md,Plugin-System.md, the github-runner README and an idme schema comment.D-0295 (blocked, no change)
Porting
free/plugin-gauth(Rust, 771 lines, DB-backed with AES-GCM at rest, registry entry, signed artifacts) to Go and deciding whether to merge it with the Go CLIfree/gauthis a product-scope decision. It must keep the stored-token format compatible, and it changes the registry language and release artifacts. Related D-0306.D-1462 (blocked, no change)
There is no
nself-auditplugin.json in this repo. The freeauditplugin isfreein both its manifest andregistry.json.nself-auditexists only as a licensed catalog entry carried from the bundles repo (scripts/catalog/licensed-catalog-carry.json, owner ruling P7-PLUG-04). Picking its tier, porting it into audit-log (Part E), or tagging it needs an owner decision and a release.Commands run
cd scripts/codemods/bootmig && go test -mod=mod ./...: okgo vet -mod=vendor ./...in all 36 plugins touched by D-0887: cleango test -mod=vendor -count=1 ./...in the same plugins: all okcd free/traefik && CGO_ENABLED=0 go test -mod=vendor -count=1 ./... && go vet -mod=vendor ./...: okcd free/github-runner && go test -mod=vendor ./...: okcd free/ci && go vet -mod=vendor -tags security ./test/security/redteam/: cleanpython3 scripts/ci/check-file-size.py: ok