temporalio / temporalio/sdk-java

Support the certificate with linebreak strings from env variable

Open Beginner friendly
#1,825 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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)

image

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.