From e14ad242e12e42bda637597f4af25fe5f9613bd9 Mon Sep 17 00:00:00 2001 From: Jake O'Brien Date: Wed, 16 Sep 2026 11:10:40 +0100 Subject: [PATCH 1/2] implement request concurrency for gen2 functions --- CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- stacks/gcp/GcpStack.ts | 1 + types/runtime.ts | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 26b7aa6..ee13df9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +### Added + +- `FunctionConfig.requestConcurrency` option for GCP gen2 functions, mapped to `serviceConfig.maxInstanceRequestConcurrency`. Lets functions serve more than one request per instance (defaults to 1 currently). + ## [5.2.0](https://github.com/Space48/cloud-seed/compare/v5.1.0...v5.2.0) ### Added diff --git a/package-lock.json b/package-lock.json index d8c0921..bb42c6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@space48/cloud-seed", - "version": "5.1.0", + "version": "5.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@space48/cloud-seed", - "version": "5.1.0", + "version": "5.2.0", "license": "MIT", "dependencies": { "arg": "^5.0.2", diff --git a/stacks/gcp/GcpStack.ts b/stacks/gcp/GcpStack.ts index 1780a20..dcb9381 100644 --- a/stacks/gcp/GcpStack.ts +++ b/stacks/gcp/GcpStack.ts @@ -167,6 +167,7 @@ export default class GcpStack extends TerraformStack { timeoutSeconds: func.timeout ?? 60, maxInstanceCount: func.maxInstances, minInstanceCount: func.minInstances, + maxInstanceRequestConcurrency: func.requestConcurrency, environmentVariables, ...(func.vpc?.network || func.vpc?.subnet ? { diff --git a/types/runtime.ts b/types/runtime.ts index 4119ec9..83d00e7 100644 --- a/types/runtime.ts +++ b/types/runtime.ts @@ -20,6 +20,7 @@ export type FunctionConfig = { }; maxInstances?: number; minInstances?: number; + requestConcurrency?: number; version?: string; }; From aee666002ccbdd4997a7c43b47378480a7964ae4 Mon Sep 17 00:00:00 2001 From: Jake O'Brien Date: Wed, 16 Sep 2026 12:06:46 +0100 Subject: [PATCH 2/2] bump version --- CHANGELOG.md | 2 ++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee13df9..c142881 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.3.0](https://github.com/Space48/cloud-seed/compare/v5.2.0...v5.3.0) + ### Added - `FunctionConfig.requestConcurrency` option for GCP gen2 functions, mapped to `serviceConfig.maxInstanceRequestConcurrency`. Lets functions serve more than one request per instance (defaults to 1 currently). diff --git a/package-lock.json b/package-lock.json index bb42c6e..77b63bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@space48/cloud-seed", - "version": "5.2.0", + "version": "5.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@space48/cloud-seed", - "version": "5.2.0", + "version": "5.3.0", "license": "MIT", "dependencies": { "arg": "^5.0.2", diff --git a/package.json b/package.json index d523d73..c357d35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@space48/cloud-seed", - "version": "5.2.0", + "version": "5.3.0", "description": "Cloud infrastructure automation tool that uses Terraform CDK.", "main": "dist/index.js", "exports": {