I'm working on a large Go project that needs various API keys, we have a action triggered on push that builds the server binary and uploads that to a GCP instance. A systemd service that calls the binary with flags for each of the API keys is also uploaded(though a .env file could also be used functionally the same). I think a lot of CI/CD pipelines do something similar, why not just embed the secrets in the binary itself at that point though? (Through ldflags or sed or something)
There are a few reasons why this isn't common, from my experience. This isn't an exhaustive list, but here are a couple: