@@ -272,27 +272,16 @@ func Run(ew types.EffectiveWorkload) error {
272272 // Since the implementation of mTLS, workloads granted mime handling
273273 // need the mTLS creds so that they can communicate with the inception
274274 // server.
275- ks := keyring .New (ew .Profile .Name , backend .New ())
276- ca , err := ks .Get (keyring .MtlsCA )
277- if err != nil {
278- return err
279- }
280275
281- cert , err := ks .Get (keyring .MtlsClientCert )
282- if err != nil {
283- return err
284- }
276+ if ca , cert , key , ok := mtlsData (ew .Profile .Name ); ok {
277+ slog .Debug ("mime access: enabled" )
285278
286- key , err := ks .Get (keyring .MtlsClientKey )
287- if err != nil {
288- return err
279+ cmd .Env = append (os .Environ (), "Q_MTLS_CA=" + ca )
280+ cmd .Env = append (cmd .Env , "Q_MTLS_CERT=" + cert )
281+ cmd .Env = append (cmd .Env , "Q_MTLS_KEY=" + key )
282+ } else {
283+ slog .Debug ("mime access: skipped" )
289284 }
290-
291- slog .Debug ("enabling mime access" )
292-
293- cmd .Env = append (os .Environ (), "Q_MTLS_CA=" + ca )
294- cmd .Env = append (cmd .Env , "Q_MTLS_CERT=" + cert )
295- cmd .Env = append (cmd .Env , "Q_MTLS_KEY=" + key )
296285 }
297286
298287 cmd .Stderr = os .Stderr
@@ -302,6 +291,29 @@ func Run(ew types.EffectiveWorkload) error {
302291 return cmd .Run ()
303292}
304293
294+ func mtlsData (name string ) (string , string , string , bool ) {
295+ ks := keyring .New (name , backend .New ())
296+ ca , err := ks .Get (keyring .MtlsCA )
297+ if err != nil {
298+ slog .Error ("failed to fetch mtls-ca" , "error" , err )
299+ return "" , "" , "" , false
300+ }
301+
302+ cert , err := ks .Get (keyring .MtlsClientCert )
303+ if err != nil {
304+ slog .Error ("failed to fetch mtls-client-cert" , "error" , err )
305+ return "" , "" , "" , false
306+ }
307+
308+ key , err := ks .Get (keyring .MtlsClientKey )
309+ if err != nil {
310+ slog .Error ("failed to fetch mtls-client-key" , "error" , err )
311+ return "" , "" , "" , false
312+ }
313+
314+ return ca , cert , key , true
315+ }
316+
305317func getHomeDir (image string ) (string , error ) {
306318 args := []string {"run" , "--rm" , image , "ls" , "/home" }
307319
0 commit comments