Repository navigation
chore: reconcile lambda runtime catalog - #282
Conversation
This comment has been minimized.
This comment has been minimized.
| @@ -0,0 +1,67 @@ | |||
| // This file is generated. Do not edit it directly. | |||
There was a problem hiding this comment.
Does datadog-ci have this file too? Is it possible to import the one from there so we won't ever have to deal with mismatches on updates?
There was a problem hiding this comment.
good idea! i think the only thing would be that it would be a couple days behind, but thats a pretty reasonable approach
There was a problem hiding this comment.
a couple caveats, the datadog-ci constant is not currently exported, and its shape differs from what Remote Instrumentation needs. Sharing it would require introducing a public package contract and coordinating a datadog-ci release and dependency upgrade. For this PR, I’m keeping the existing Remote Instrumentation boundary and replacing its local constants with centrally generated output. Both artifacts will be maintained from serverless-ci. I agree that exposing the effective supported-runtime contract from datadog-ci is a useful follow-up.
One caveat is that Remote Instrumentation’s runtime list currently differs from the effective support in its datadog-ci dependency. datadog-ci performs the final runtime validation, so Remote Instrumentation cannot successfully instrument every runtime listed in its local catalog today. We should align those contracts in a follow-up, ideally by exposing a supported-runtime contract from datadog-ci for Remote Instrumentation to consume.

What does this PR do?
nodejs14.x,nodejs16.x, andpython3.7.nodejs12.x,python2.7, andpython3.6.Motivation
AWS blocks creation of functions with deprecated runtimes, but it still permits updates to existing functions that use them. Remote Instrumentation must continue to update functions using the retained runtimes while rejecting runtimes that no longer have supported compatibility layers.
Testing Guidelines
No manual validation.
Additional Notes
java8,java8.al2,provided.al2, andprovided.al2023retain their existing behavior.