temporalio / temporalio/sdk-java
Support the certificate with linebreak strings from env variable
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 433
- Forks
- 249
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 26
Description
Is your feature request related to a problem? Please describe.
We store the temporal cloud cert and private key as env vars opposed to application.yaml/prop.
Because the env var values cannot contain linebreak/linefeed special characters, the ServiceStubOptionsTemaplte fails to load cert/key saying it is not valid cert on this line .
(It works perfectly with application.yaml/propeties because it converts "\n" to linebreak)
Describe the solution you'd like
Add a logic to convert "\n" to "\n" in the cert string if it is there , maybe in ServiceStubOptionsTemplate class.
Describe alternatives you've considered
I replaced ServiceStubsAutoConfiguration with our customized/extended class which converts "\n" to "\n" in mtlsProperties' cert and key.
@SpringBootApplication(exclude = [ServiceStubsAutoConfiguration::class])
Contributor guide
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 in temporal-spring-boot-autoconfigure-alpha/src/main/java/io/temporal/spring/boot/autoconfigure/template/ServiceStubOptionsTemplate.java at the certificate validation line referenced in the issue, and trace how certificate and key values reach it from ServiceStubsAutoConfiguration. Done means certificate and private-key values containing escaped "\n" from environment variables are accepted after conversion to line breaks, while existing application.yaml/properties behavior remains supported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring-boot
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100