Repository navigation
Conversation
…ver sits on argv (D-0587)
… HOME and TMPDIR (D-1171)
…e envelope-checked (D-0864)
…ainerName and guard against hand-rolled copies (D-0130)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four low-severity debt rows fixed, one blocked.
D-0587: cache password off argv (fixed)
buildRedisServicenow hands the password toredis-server/valkey-serveras arequirepassconfig line on stdin (-, heredoc, value escaped for the config parser). It is no longer a process argument and is never written to disk;execkeeps the server as PID 1. Newsecret_argv_expanded_test.goruns the generated command with a stub server and asserts the server's real argv carries no part of the password and stdin carries the escaped line (password with quotes, backslash, spaces,$, backtick). A control test shows the old command leaks. Checked by hand against a real redis-server 8: auth works, no-auth gets NOAUTH. Existing assertions on the old string updated.D-1171: entitlement no-write test (fixed)
The assertion read a
t.TempDir()that Check never saw. The test now points cwd, HOME and TMPDIR at one fresh dir and asserts it stays empty; a control test shows a write is caught. Verified by temporarily makingCheckwrite a file: the E110 test failed withCheck wrote [stray].D-0864:
error-json=<code>tag (fixed)json-conversion-check.shgainserror-json=E###: head binary in v1.5--jsonmust exit non-zero, print exactly one error envelope that validates againstenvelope.v1.schema.json, and carry the named code.lifecycle.txtstart/stop/restart now use it (E004, E400, E400). Ran the script on the lifecycle fragment (5 rows pass) and on a negative file (wrong code, zero exit, bad tag all fail). README documents the tag. The Go tests injson_lifecycle_test.goare not pure duplicates (stub docker, stdout-empty-on-failure, success documents), so none were dropped.D-0130: one container-name helper (fixed)
config.Config.ServiceContainerNamealready existed but the builders formatted%s_<svc>themselves. All 14 compose sites now use it (postgres, hasura, auth, nginx, minio, mailpit, meilisearch, meilisearch_init, typesense, admin, functions, redis, seaweedfs, seaweedfs_init, custom services), plus the same literal in build orchestrator, admin cmd_root, start/functions commands and exporter dump. Newcontainer_name_guard_test.gofails on any hand-rolledContainerNameininternal/compose(it caught the two seaweedfs sites).D-0264: image tags (not changed, blocked)
Still true on main (six
version: latestentries and python3.12-slim). Needs the owner to pick concrete versions for admin, functions, mailpit, minio, otel-collector, tempo and python and a registry re-resolve ofimages.lock.json. The row defers that to the cli#617 decision; #617 is closed as superseded by #919 with no decision recorded.Checks run
go build ./...,go vet ./internal/... ./cmd/...: cleango test ./cmd/commands ./internal/exporter ./internal/templates/... ./internal/compose ./internal/build ./internal/builtin/... ./internal/config ./internal/health: all okbash scripts/ci/json-conversion-check.sh lifecycle(head and base both the built binary): PASS 5 rows