diff --git a/lambda/deployment/build_context b/lambda/deployment/build_context index adfd763..90b667d 100755 --- a/lambda/deployment/build_context +++ b/lambda/deployment/build_context @@ -175,7 +175,7 @@ log debug " ✅ ephemeral_storage=$LAMBDA_EPHEMERAL_STORAGE" LAMBDA_RUNTIME=$(get_config_value \ --provider '.scope.capabilities.runtime' \ - --default "nodejs20.x" + --default "nodejs22.x" ) log debug " ✅ runtime=$LAMBDA_RUNTIME" diff --git a/lambda/deployment/scripts/update_function_configuration b/lambda/deployment/scripts/update_function_configuration index d600a4d..47275f0 100755 --- a/lambda/deployment/scripts/update_function_configuration +++ b/lambda/deployment/scripts/update_function_configuration @@ -5,7 +5,7 @@ # # This is necessary because update-function-code only changes the code/image, # not the configuration. Scope-create provisions the Lambda with placeholder -# values (e.g. handler=index.handler, runtime=nodejs20.x) that must be +# values (e.g. handler=index.handler, runtime=nodejs22.x) that must be # overwritten with the real values from capabilities on first deployment. source "$SERVICE_PATH/utils/log" @@ -39,10 +39,10 @@ log debug " ✅ ephemeral_storage=${LAMBDA_EPHEMERAL_STORAGE:-512}" package_type="${PACKAGE_TYPE:-Image}" if [ "$package_type" = "Zip" ]; then cli_args+=( - --runtime "${LAMBDA_RUNTIME:-nodejs20.x}" + --runtime "${LAMBDA_RUNTIME:-nodejs22.x}" --handler "${LAMBDA_HANDLER:-index.handler}" ) - log debug " ✅ runtime=${LAMBDA_RUNTIME:-nodejs20.x}" + log debug " ✅ runtime=${LAMBDA_RUNTIME:-nodejs22.x}" log debug " ✅ handler=${LAMBDA_HANDLER:-index.handler}" fi diff --git a/lambda/scope/build_context b/lambda/scope/build_context index dc0d209..f8c3a89 100755 --- a/lambda/scope/build_context +++ b/lambda/scope/build_context @@ -82,7 +82,7 @@ else ASSET_TYPE="docker-image" fi -RUNTIME=$(echo "$CONTEXT" | jq -r '.scope.capabilities.runtime // "nodejs20.x"') +RUNTIME=$(echo "$CONTEXT" | jq -r '.scope.capabilities.runtime // "nodejs22.x"') HANDLER=$(echo "$CONTEXT" | jq -r '.scope.capabilities.handler // "index.handler"') log debug " ✅ package_type=$PACKAGE_TYPE" diff --git a/lambda/scope/scripts/create_placeholder_lambda b/lambda/scope/scripts/create_placeholder_lambda index 7d520d0..920b4c5 100755 --- a/lambda/scope/scripts/create_placeholder_lambda +++ b/lambda/scope/scripts/create_placeholder_lambda @@ -41,7 +41,7 @@ echo " 📋 role_arn=$LAMBDA_ROLE_ARN" # Determine package type from capabilities or environment package_type="${PACKAGE_TYPE:-Zip}" -runtime="${RUNTIME:-nodejs20.x}" +runtime="${RUNTIME:-nodejs22.x}" handler="${HANDLER:-index.handler}" architecture="${ARCHITECTURE:-arm64}" diff --git a/lambda/scope/tofu/compute/lambda/modules/variables.tf b/lambda/scope/tofu/compute/lambda/modules/variables.tf index a1ec15a..e3446c1 100644 --- a/lambda/scope/tofu/compute/lambda/modules/variables.tf +++ b/lambda/scope/tofu/compute/lambda/modules/variables.tf @@ -6,7 +6,7 @@ variable "lambda_function_name" { variable "lambda_runtime" { description = "Lambda runtime identifier" type = string - default = "nodejs20.x" + default = "nodejs22.x" } variable "lambda_handler" { diff --git a/lambda/scope/tofu/compute/lambda/setup b/lambda/scope/tofu/compute/lambda/setup index 257db0a..40b3da9 100755 --- a/lambda/scope/tofu/compute/lambda/setup +++ b/lambda/scope/tofu/compute/lambda/setup @@ -60,14 +60,14 @@ memory=$(echo "$CONTEXT" | jq -r '.scope.capabilities.memory // 256') timeout=$(echo "$CONTEXT" | jq -r '.scope.capabilities.timeout // 30') ephemeral_storage=$(echo "$CONTEXT" | jq -r '.scope.capabilities.ephemeral_storage // 512') architecture=$(echo "$CONTEXT" | jq -r '.scope.capabilities.architecture // "arm64"') -runtime=$(echo "$CONTEXT" | jq -r '.scope.capabilities.runtime // "nodejs20.x"') +runtime=$(echo "$CONTEXT" | jq -r '.scope.capabilities.runtime // "nodejs22.x"') handler=$(echo "$CONTEXT" | jq -r '.scope.capabilities.handler // "index.handler"') -# When deploying the placeholder zip (scope creation), always use nodejs20.x so the +# When deploying the placeholder zip (scope creation), always use nodejs22.x so the # runtime matches the placeholder code. The first real deployment will set the correct # runtime from capabilities. if [ -n "$lambda_filename" ]; then - runtime="nodejs20.x" + runtime="nodejs22.x" handler="index.handler" fi diff --git a/lambda/specs/service-spec.json.tpl b/lambda/specs/service-spec.json.tpl index dda747b..3fbdd0c 100644 --- a/lambda/specs/service-spec.json.tpl +++ b/lambda/specs/service-spec.json.tpl @@ -224,18 +224,24 @@ "type": "string", "title": "Runtime", "description": "Lambda runtime environment for your ZIP deployment", - "default": "nodejs20.x", + "default": "nodejs22.x", "oneOf": [ + { "const": "nodejs24.x", "title": "Node.js 24.x" }, + { "const": "nodejs22.x", "title": "Node.js 22.x" }, { "const": "nodejs20.x", "title": "Node.js 20.x" }, - { "const": "nodejs18.x", "title": "Node.js 18.x" }, + { "const": "python3.14", "title": "Python 3.14" }, { "const": "python3.13", "title": "Python 3.13" }, { "const": "python3.12", "title": "Python 3.12" }, { "const": "python3.11", "title": "Python 3.11" }, { "const": "python3.10", "title": "Python 3.10" }, + { "const": "java25", "title": "Java 25" }, { "const": "java21", "title": "Java 21" }, { "const": "java17", "title": "Java 17" }, { "const": "java11", "title": "Java 11" }, + { "const": "dotnet10", "title": ".NET 10" }, { "const": "dotnet8", "title": ".NET 8" }, + { "const": "ruby4.0", "title": "Ruby 4.0" }, + { "const": "ruby3.4", "title": "Ruby 3.4" }, { "const": "ruby3.3", "title": "Ruby 3.3" }, { "const": "provided.al2023", "title": "Custom Runtime (Amazon Linux 2023)" } ]