The example master stack runs the master as nobody (user: "65534:65534"); it has no Docker socket and needs no root. The Dockerfile is unchanged, because the agent uses the same image and needs root for the socket.
The master logs config_json_readable on registry_credentials, and a registry_credentials_unreadable warning when config.json exists but cannot be opened.
Docs: keep the mounted registry credentials private (chown -R 65534:65534, 0700/0600), never world-readable.
go vet ./..., go test ./... (new cmd/master/main_test.go), build
Image starts updater-master as 65534:65534 up to config validation
On the server: stack deploys, listening logged, id in the container shows uid 65534
With DOCKER_CONFIG mounted and chowned: config_json_readable: true, polling of a private image works
## Summary
- The example master stack runs the master as nobody (`user: "65534:65534"`); it has no Docker socket and needs no root. The Dockerfile is unchanged, because the agent uses the same image and needs root for the socket.
- The master logs `config_json_readable` on `registry_credentials`, and a `registry_credentials_unreadable` warning when `config.json` exists but cannot be opened.
- Docs: keep the mounted registry credentials private (`chown -R 65534:65534`, `0700`/`0600`), never world-readable.
Closes #25
## Test plan
- [x] `go vet ./...`, `go test ./...` (new `cmd/master/main_test.go`), build
- [x] Image starts `updater-master` as 65534:65534 up to config validation
- [ ] On the server: stack deploys, `listening` logged, `id` in the container shows uid 65534
- [ ] With `DOCKER_CONFIG` mounted and chowned: `config_json_readable: true`, polling of a private image works
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
user: "65534:65534"); it has no Docker socket and needs no root. The Dockerfile is unchanged, because the agent uses the same image and needs root for the socket.config_json_readableonregistry_credentials, and aregistry_credentials_unreadablewarning whenconfig.jsonexists but cannot be opened.chown -R 65534:65534,0700/0600), never world-readable.Closes #25
Test plan
go vet ./...,go test ./...(newcmd/master/main_test.go), buildupdater-masteras 65534:65534 up to config validationlisteninglogged,idin the container shows uid 65534DOCKER_CONFIGmounted and chowned:config_json_readable: true, polling of a private image works