You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
extraCACerts in trigger.config.ts has no effect since the v3 build system: packages/cli-v3/src/commands/deploy.ts never passes resolvedConfig.extraCACerts to buildImage(), so the generated Containerfile sets NODE_EXTRA_CA_CERTS= (empty) and Node ignores the CA bundle at runtime.
Thanks for the report, you're right. deploy never passes extraCACerts to the image build, so NODE_EXTRA_CA_CERTS ends up as an empty string in the image, and the cert file isn't copied in either. Setting NODE_EXTRA_CA_CERTS in the dashboard won't help, because the empty value from the image wins. We'll get it fixed.
Until the fix ships, this should work around it by loading the CA in code. Add the PEM contents as an environment variable (e.g. EXTRA_CA_CERT) in the dashboard, then create init.ts at the root of your trigger directory, which runs before your tasks:
This covers both fetch and node:https (and clients built on them). Note that if init.ts throws, your runs will fail to start, so keep the guard in.
If you're on the node-22 runtime, tls.setDefaultCACertificates isn't available, so set the agents directly instead (this needs undici as a dependency):
// trigger/init.ts (node-22 runtime)importhttpsfrom"node:https";importtlsfrom"node:tls";import{Agent,setGlobalDispatcher}from"undici";constextraCa=process.env.EXTRA_CA_CERT;if(extraCa){constca=[...tls.rootCertificates,extraCa];https.globalAgent.options.ca=ca;setGlobalDispatcher(newAgent({connect: { ca }}));}
If your HTTP client creates its own agent with an explicit ca option, pass the cert there too. Let us know if this doesn't work for you.
Activity
isshaddad commentedon Oct 14, 2026
Thanks for the report, you're right.
deploynever passesextraCACertsto the image build, soNODE_EXTRA_CA_CERTSends up as an empty string in the image, and the cert file isn't copied in either. SettingNODE_EXTRA_CA_CERTSin the dashboard won't help, because the empty value from the image wins. We'll get it fixed.Until the fix ships, this should work around it by loading the CA in code. Add the PEM contents as an environment variable (e.g.
EXTRA_CA_CERT) in the dashboard, then createinit.tsat the root of your trigger directory, which runs before your tasks:This covers both
fetchandnode:https(and clients built on them). Note that ifinit.tsthrows, your runs will fail to start, so keep the guard in.If you're on the
node-22runtime,tls.setDefaultCACertificatesisn't available, so set the agents directly instead (this needsundicias a dependency):If your HTTP client creates its own agent with an explicit
caoption, pass the cert there too. Let us know if this doesn't work for you.