The terminal cursor blinked, waiting for a command you hadn’t typed yet. You open man service-accounts. Sparse. Outdated. Missing flags you know exist.
Manpages should be the truth. For service accounts, they often aren’t. Across Linux distributions and Kubernetes clusters, manpages lag behind reality. They omit new options, fail to document behavior changes, and leave critical details buried in source code or vendor wikis. The result is wasted time, broken automation, and security blind spots.
Service accounts are more than identity placeholders. They are executable trust. In Unix-like systems, a service account is a non-human user with restricted privileges, designed to run daemons or processes in isolation. In Kubernetes, a service account defines how pods authenticate to the API server. Both rely on correct configuration. Both rely on knowing what the system can actually do.
The gap between official manpages and what’s deployed in production is not small. Many Linux distributions patch upstream software without updating manpages. Kubernetes tooling changes fast, and kubectl versions introduce new serviceaccount commands that documentation misses for months. Engineers end up grepping source code or inspecting binaries with --help.