- Replace .golangci.yml with the canonical strict config (all linters
enabled except the standard disable list; lll 88, funlen 80/50,
cyclop 15, dupl 100; test files now linted)
- Pin the Dockerfile lint stage to golangci/golangci-lint:v2.12.2 by
tag and digest (Debian-based)
- Fix all ~1550 findings surfaced by the new config: line wrapping,
wsl_v5/nlreturn blank lines, noinlineerr splits, err113 sentinel
errors, perfsprint/modernize rewrites, goconst constants, thelper,
testifylint, noctx CommandContext, testpackage conversions,
t.Parallel() where safe, and complexity/dupl helper extraction
- Record the change and follow-up items in TODO.md
The isValidSecretName() regex only allowed lowercase letters [a-z], rejecting
valid secret names containing uppercase characters (e.g. AWS access key IDs).
Changed regex from ^[a-z0-9\.\-\_\/]+$ to ^[a-zA-Z0-9\.\-\_\/]+$ and added
tests for uppercase secret names in both vault and secret packages.