Add option to load client secret from file in Temporal
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 431
- Forks
- 179
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 71
Description
Currently, in order to provide the client secret to Temporal, we have to set the TEMPORAL_AUTH_CLIENT_SECRET environment variable. However, this approach has some limitations and potential security concerns, as environment variables can be accidentally logged, written to disk, or revealed to unauthorized users.
It would be helpful if Temporal had an option to load the client secret from a file instead. For example, we could add a --client-secret-file command-line option that would allow us to specify the path to the file containing the client secret.
This would make it easier to use Docker secrets, where secrets can be mounted as files in the container's filesystem. We could then simply mount the secret file to /secrets/client-secret in our compose YAML file and pass --client-secret-file /secrets/client-secret to Temporal.
In addition, it would be great if we could also have an environment variable, say TEMPORAL_AUTH_CLIENT_SECRET_FILE, that can point to the file containing the client secret. This would allow for even more flexibility in how secrets are managed.
Without this feature, users are forced to write a custom entrypoint.sh just to be able to load the secret, which adds unnecessary complexity to the setup process.
Could this feature be considered for a future release of Temporal? Thank you!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by searching the codebase for TEMPORAL_AUTH_CLIENT_SECRET and the existing command-line option handling. Add support for the proposed --client-secret-file option and TEMPORAL_AUTH_CLIENT_SECRET_FILE, while preserving the existing secret input, then verify that a mounted file can provide the client secret.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, typescript
- Domain
- authentication, cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100