@cloudsnorkel/cdk-github-runners 0.11.6 → 0.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/.gitattributes +1 -2
  2. package/.jsii +485 -260
  3. package/API.md +182 -29
  4. package/README.md +10 -20
  5. package/assets/delete-failed-runner.lambda/index.js +171 -3879
  6. package/assets/docker-images/lambda/linux-x64/runner.sh +6 -0
  7. package/assets/idle-runner-repear.lambda/index.js +171 -3879
  8. package/assets/image-builders/aws-image-builder/delete-ami.lambda/index.js +3 -22
  9. package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +56 -56
  10. package/assets/{providers → image-builders}/build-image.lambda/index.js +2 -14
  11. package/assets/setup.lambda/index.js +60 -3768
  12. package/assets/status.lambda/index.js +165 -3873
  13. package/assets/token-retriever.lambda/index.js +171 -3879
  14. package/assets/webhook-handler.lambda/index.js +171 -3879
  15. package/lib/access.js +1 -1
  16. package/lib/image-builders/api.d.ts +2 -2
  17. package/lib/image-builders/api.js +6 -6
  18. package/lib/image-builders/aws-image-builder/ami.d.ts +1 -0
  19. package/lib/image-builders/aws-image-builder/ami.js +9 -9
  20. package/lib/image-builders/aws-image-builder/builder.d.ts +1 -2
  21. package/lib/image-builders/aws-image-builder/builder.js +128 -74
  22. package/lib/image-builders/aws-image-builder/common.d.ts +1 -1
  23. package/lib/image-builders/aws-image-builder/common.js +2 -2
  24. package/lib/image-builders/aws-image-builder/container.d.ts +2 -1
  25. package/lib/image-builders/aws-image-builder/container.js +14 -14
  26. package/lib/image-builders/aws-image-builder/delete-ami.lambda.d.ts +1 -8
  27. package/lib/image-builders/aws-image-builder/delete-ami.lambda.js +5 -27
  28. package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
  29. package/lib/image-builders/aws-image-builder/deprecated/container.js +4 -3
  30. package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
  31. package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
  32. package/lib/{providers → image-builders}/build-image-function.d.ts +1 -1
  33. package/lib/image-builders/build-image-function.js +23 -0
  34. package/lib/image-builders/build-image.lambda.js +80 -0
  35. package/lib/image-builders/codebuild-deprecated.js +4 -3
  36. package/lib/image-builders/codebuild.js +5 -8
  37. package/lib/image-builders/common.d.ts +18 -9
  38. package/lib/image-builders/common.js +1 -11
  39. package/lib/image-builders/components.d.ts +2 -2
  40. package/lib/image-builders/components.js +34 -9
  41. package/lib/image-builders/static.js +1 -1
  42. package/lib/providers/codebuild.d.ts +9 -3
  43. package/lib/providers/codebuild.js +10 -4
  44. package/lib/providers/common.d.ts +4 -0
  45. package/lib/providers/common.js +8 -4
  46. package/lib/providers/ec2.d.ts +9 -3
  47. package/lib/providers/ec2.js +10 -4
  48. package/lib/providers/ecs.d.ts +9 -3
  49. package/lib/providers/ecs.js +10 -4
  50. package/lib/providers/fargate.d.ts +9 -3
  51. package/lib/providers/fargate.js +10 -4
  52. package/lib/providers/lambda.d.ts +10 -4
  53. package/lib/providers/lambda.js +15 -9
  54. package/lib/runner.js +3 -3
  55. package/lib/secrets.js +1 -1
  56. package/package.json +24 -28
  57. package/assets/image-builders/aws-image-builder/reaper.lambda/index.js +0 -165
  58. package/lib/image-builders/aws-image-builder/reaper-function.d.ts +0 -13
  59. package/lib/image-builders/aws-image-builder/reaper-function.js +0 -23
  60. package/lib/image-builders/aws-image-builder/reaper.lambda.d.ts +0 -9
  61. package/lib/image-builders/aws-image-builder/reaper.lambda.js +0 -151
  62. package/lib/providers/build-image-function.js +0 -23
  63. package/lib/providers/build-image.lambda.js +0 -92
  64. /package/lib/{providers → image-builders}/build-image.lambda.d.ts +0 -0
package/.jsii CHANGED
@@ -7,7 +7,7 @@
7
7
  ]
8
8
  },
9
9
  "dependencies": {
10
- "aws-cdk-lib": "^2.77.0",
10
+ "aws-cdk-lib": "^2.110.0",
11
11
  "constructs": "^10.0.5"
12
12
  },
13
13
  "dependencyClosure": {
@@ -63,29 +63,29 @@
63
63
  }
64
64
  }
65
65
  },
66
- "@aws-cdk/asset-node-proxy-agent-v5": {
66
+ "@aws-cdk/asset-node-proxy-agent-v6": {
67
67
  "targets": {
68
68
  "dotnet": {
69
- "namespace": "Amazon.CDK.Asset.NodeProxyAgentV5",
70
- "packageId": "Amazon.CDK.Asset.NodeProxyAgentV5"
69
+ "namespace": "Amazon.CDK.Asset.NodeProxyAgentV6",
70
+ "packageId": "Amazon.CDK.Asset.NodeProxyAgentV6"
71
71
  },
72
72
  "go": {
73
73
  "moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go",
74
- "packageName": "nodeproxyagentv5"
74
+ "packageName": "nodeproxyagentv6"
75
75
  },
76
76
  "java": {
77
77
  "maven": {
78
- "artifactId": "cdk-asset-node-proxy-agent-v5",
78
+ "artifactId": "cdk-asset-node-proxy-agent-v6",
79
79
  "groupId": "software.amazon.awscdk"
80
80
  },
81
- "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v5"
81
+ "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v6"
82
82
  },
83
83
  "js": {
84
- "npm": "@aws-cdk/asset-node-proxy-agent-v5"
84
+ "npm": "@aws-cdk/asset-node-proxy-agent-v6"
85
85
  },
86
86
  "python": {
87
- "distName": "aws-cdk.asset-node-proxy-agent-v5",
88
- "module": "aws_cdk.asset_node_proxy_agent_v5"
87
+ "distName": "aws-cdk.asset-node-proxy-agent-v6",
88
+ "module": "aws_cdk.asset_node_proxy_agent_v6"
89
89
  }
90
90
  }
91
91
  },
@@ -442,6 +442,19 @@
442
442
  }
443
443
  }
444
444
  },
445
+ "aws-cdk-lib.aws_backupgateway": {
446
+ "targets": {
447
+ "dotnet": {
448
+ "package": "Amazon.CDK.AWS.BackupGateway"
449
+ },
450
+ "java": {
451
+ "package": "services.backupgateway"
452
+ },
453
+ "python": {
454
+ "module": "aws_cdk.aws_backupgateway"
455
+ }
456
+ }
457
+ },
445
458
  "aws-cdk-lib.aws_batch": {
446
459
  "targets": {
447
460
  "dotnet": {
@@ -533,6 +546,19 @@
533
546
  }
534
547
  }
535
548
  },
549
+ "aws-cdk-lib.aws_cleanrooms": {
550
+ "targets": {
551
+ "dotnet": {
552
+ "package": "Amazon.CDK.AWS.CleanRooms"
553
+ },
554
+ "java": {
555
+ "package": "services.cleanrooms"
556
+ },
557
+ "python": {
558
+ "module": "aws_cdk.aws_cleanrooms"
559
+ }
560
+ }
561
+ },
536
562
  "aws-cdk-lib.aws_cloud9": {
537
563
  "targets": {
538
564
  "dotnet": {
@@ -1262,6 +1288,19 @@
1262
1288
  }
1263
1289
  }
1264
1290
  },
1291
+ "aws-cdk-lib.aws_entityresolution": {
1292
+ "targets": {
1293
+ "dotnet": {
1294
+ "package": "Amazon.CDK.AWS.EntityResolution"
1295
+ },
1296
+ "java": {
1297
+ "package": "services.entityresolution"
1298
+ },
1299
+ "python": {
1300
+ "module": "aws_cdk.aws_entityresolution"
1301
+ }
1302
+ }
1303
+ },
1265
1304
  "aws-cdk-lib.aws_events": {
1266
1305
  "targets": {
1267
1306
  "dotnet": {
@@ -1509,6 +1548,19 @@
1509
1548
  }
1510
1549
  }
1511
1550
  },
1551
+ "aws-cdk-lib.aws_healthimaging": {
1552
+ "targets": {
1553
+ "dotnet": {
1554
+ "package": "Amazon.CDK.AWS.HealthImaging"
1555
+ },
1556
+ "java": {
1557
+ "package": "services.healthimaging"
1558
+ },
1559
+ "python": {
1560
+ "module": "aws_cdk.aws_healthimaging"
1561
+ }
1562
+ }
1563
+ },
1512
1564
  "aws-cdk-lib.aws_healthlake": {
1513
1565
  "targets": {
1514
1566
  "dotnet": {
@@ -2159,6 +2211,19 @@
2159
2211
  }
2160
2212
  }
2161
2213
  },
2214
+ "aws-cdk-lib.aws_mediapackagev2": {
2215
+ "targets": {
2216
+ "dotnet": {
2217
+ "package": "Amazon.CDK.AWS.MediaPackageV2"
2218
+ },
2219
+ "java": {
2220
+ "package": "services.mediapackagev2"
2221
+ },
2222
+ "python": {
2223
+ "module": "aws_cdk.aws_mediapackagev2"
2224
+ }
2225
+ }
2226
+ },
2162
2227
  "aws-cdk-lib.aws_mediastore": {
2163
2228
  "targets": {
2164
2229
  "dotnet": {
@@ -2367,6 +2432,19 @@
2367
2432
  }
2368
2433
  }
2369
2434
  },
2435
+ "aws-cdk-lib.aws_osis": {
2436
+ "targets": {
2437
+ "dotnet": {
2438
+ "package": "Amazon.CDK.AWS.OSIS"
2439
+ },
2440
+ "java": {
2441
+ "package": "services.osis"
2442
+ },
2443
+ "python": {
2444
+ "module": "aws_cdk.aws_osis"
2445
+ }
2446
+ }
2447
+ },
2370
2448
  "aws-cdk-lib.aws_panorama": {
2371
2449
  "targets": {
2372
2450
  "dotnet": {
@@ -2380,6 +2458,19 @@
2380
2458
  }
2381
2459
  }
2382
2460
  },
2461
+ "aws-cdk-lib.aws_pcaconnectorad": {
2462
+ "targets": {
2463
+ "dotnet": {
2464
+ "package": "Amazon.CDK.AWS.PCAConnectorAD"
2465
+ },
2466
+ "java": {
2467
+ "package": "services.pcaconnectorad"
2468
+ },
2469
+ "python": {
2470
+ "module": "aws_cdk.aws_pcaconnectorad"
2471
+ }
2472
+ }
2473
+ },
2383
2474
  "aws-cdk-lib.aws_personalize": {
2384
2475
  "targets": {
2385
2476
  "dotnet": {
@@ -2432,6 +2523,19 @@
2432
2523
  }
2433
2524
  }
2434
2525
  },
2526
+ "aws-cdk-lib.aws_proton": {
2527
+ "targets": {
2528
+ "dotnet": {
2529
+ "package": "Amazon.CDK.AWS.Proton"
2530
+ },
2531
+ "java": {
2532
+ "package": "services.proton"
2533
+ },
2534
+ "python": {
2535
+ "module": "aws_cdk.aws_proton"
2536
+ }
2537
+ }
2538
+ },
2435
2539
  "aws-cdk-lib.aws_qldb": {
2436
2540
  "targets": {
2437
2541
  "dotnet": {
@@ -2913,6 +3017,19 @@
2913
3017
  }
2914
3018
  }
2915
3019
  },
3020
+ "aws-cdk-lib.aws_shield": {
3021
+ "targets": {
3022
+ "dotnet": {
3023
+ "package": "Amazon.CDK.AWS.Shield"
3024
+ },
3025
+ "java": {
3026
+ "package": "services.shield"
3027
+ },
3028
+ "python": {
3029
+ "module": "aws_cdk.aws_shield"
3030
+ }
3031
+ }
3032
+ },
2916
3033
  "aws-cdk-lib.aws_signer": {
2917
3034
  "targets": {
2918
3035
  "dotnet": {
@@ -3121,6 +3238,19 @@
3121
3238
  }
3122
3239
  }
3123
3240
  },
3241
+ "aws-cdk-lib.aws_verifiedpermissions": {
3242
+ "targets": {
3243
+ "dotnet": {
3244
+ "package": "Amazon.CDK.AWS.VerifiedPermissions"
3245
+ },
3246
+ "java": {
3247
+ "package": "services.verifiedpermissions"
3248
+ },
3249
+ "python": {
3250
+ "module": "aws_cdk.aws_verifiedpermissions"
3251
+ }
3252
+ }
3253
+ },
3124
3254
  "aws-cdk-lib.aws_voiceid": {
3125
3255
  "targets": {
3126
3256
  "dotnet": {
@@ -3212,6 +3342,19 @@
3212
3342
  }
3213
3343
  }
3214
3344
  },
3345
+ "aws-cdk-lib.aws_workspacesweb": {
3346
+ "targets": {
3347
+ "dotnet": {
3348
+ "package": "Amazon.CDK.AWS.WorkSpacesWeb"
3349
+ },
3350
+ "java": {
3351
+ "package": "services.workspacesweb"
3352
+ },
3353
+ "python": {
3354
+ "module": "aws_cdk.aws_workspacesweb"
3355
+ }
3356
+ }
3357
+ },
3215
3358
  "aws-cdk-lib.aws_xray": {
3216
3359
  "targets": {
3217
3360
  "dotnet": {
@@ -3437,7 +3580,7 @@
3437
3580
  },
3438
3581
  "name": "@cloudsnorkel/cdk-github-runners",
3439
3582
  "readme": {
3440
- "markdown": "# GitHub Self-Hosted Runners CDK Constructs\n\n[![NPM](https://img.shields.io/npm/v/@cloudsnorkel/cdk-github-runners?label=npm&logo=npm)][7]\n[![PyPI](https://img.shields.io/pypi/v/cloudsnorkel.cdk-github-runners?label=pypi&logo=pypi)][6]\n[![Maven Central](https://img.shields.io/maven-central/v/com.cloudsnorkel/cdk.github.runners.svg?label=Maven%20Central&logo=apachemaven)][8]\n[![Go](https://img.shields.io/github/v/tag/CloudSnorkel/cdk-github-runners?color=red&label=go&logo=go)][11]\n[![Nuget](https://img.shields.io/nuget/v/CloudSnorkel.Cdk.Github.Runners?color=red&&logo=nuget)][12]\n[![Release](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml/badge.svg)](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/CloudSnorkel/cdk-github-runners/blob/main/LICENSE)\n\nUse this CDK construct to create ephemeral [self-hosted GitHub runners][1] on-demand inside your AWS account.\n\n* Easy to configure GitHub integration with a web-based interface\n* Customizable runners with decent defaults\n* Multiple runner configurations controlled by labels\n* Everything fully hosted in your account\n* Automatically updated build environment with latest runner version\n\nSelf-hosted runners in AWS are useful when:\n\n* You need easy access to internal resources in your actions\n* You want to pre-install some software for your actions\n* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials][2] has more security controls)\n* You are using GitHub Enterprise Server\n\nEphemeral (or on-demand) runners are the [recommended way by GitHub][14] for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.\n\n## API\n\nThe best way to browse API documentation is on [Constructs Hub][13]. It is available in all supported programming languages.\n\n## Providers\n\nA runner provider creates compute resources on-demand and uses [actions/runner][5] to start a runner.\n\n| | EC2 | CodeBuild | Fargate | ECS | Lambda |\n|------------------|-------------------|----------------------------|----------------|----------------|---------------|\n| **Time limit** | Unlimited | 8 hours | Unlimited | Unlimited | 15 minutes |\n| **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | Unlimited | 1 to 6 |\n| **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | Unlimited | 128mb to 10gb |\n| **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Unlimited | Up to 10gb |\n| **Architecture** | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 |\n| **sudo** | ✔ | ✔ | ✔ | ✔ | ❌ |\n| **Docker** | ✔ | ✔ (Linux only) | ❌ | ✔ | ❌ |\n| **Spot pricing** | ✔ | ❌ | ✔ | ✔ | ❌ |\n| **OS** | Linux, Windows | Linux, Windows | Linux, Windows | Linux, Windows | Linux |\n\nThe best provider to use mostly depends on your current infrastructure. When in doubt, CodeBuild is always a good choice. Execution history and logs are easy to view, and it has no restrictive limits unless you need to run for more than 8 hours.\n\n* EC2 is useful when you want runners to have complete access to the host\n* ECS is useful when you want to control the infrastructure, like leaving the runner host running for faster startups\n* Lambda is useful for short jobs that can work within time, size and readonly system constraints\n\nYou can also create your own provider by implementing `IRunnerProvider`.\n\n## Installation\n\n1. Install and use the appropriate package\n <details><summary>Python</summary>\n\n ### Install\n Available on [PyPI][6].\n ```bash\n pip install cloudsnorkel.cdk-github-runners\n ```\n ### Use\n ```python\n from cloudsnorkel.cdk_github_runners import GitHubRunners\n\n GitHubRunners(self, \"runners\")\n ```\n </details>\n <details><summary>TypeScript or JavaScript</summary>\n\n ### Install\n Available on [npm][7].\n ```bash\n npm i @cloudsnorkel/cdk-github-runners\n ```\n ### Use\n ```typescript\n import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';\n\n new GitHubRunners(this, \"runners\");\n ```\n </details>\n <details><summary>Java</summary>\n\n ### Install\n Available on [Maven][8].\n ```xml\n <dependency>\n <groupId>com.cloudsnorkel</groupId>\n <artifactId>cdk.github.runners</artifactId>\n </dependency>\n ```\n ### Use\n ```java\n import com.cloudsnorkel.cdk.github.runners.GitHubRunners;\n\n GitHubRunners.Builder.create(this, \"runners\").build();\n ```\n </details>\n <details><summary>Go</summary>\n\n ### Install\n Available on [GitHub][11].\n ```bash\n go get github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n ```\n ### Use\n ```go\n import \"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\"\n\n NewGitHubRunners(this, jsii.String(\"runners\"))\n ```\n </details>\n <details><summary>.NET</summary>\n\n ### Install\n Available on [Nuget][12].\n ```bash\n dotnet add package CloudSnorkel.Cdk.Github.Runners\n ```\n ### Use\n ```csharp\n using CloudSnorkel;\n\n new GitHubRunners(this, \"runners\");\n ```\n </details>\n2. Use `GitHubRunners` construct in your code (starting with default arguments is fine)\n3. Deploy your stack\n4. Look for the status command output similar to `aws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json`\n ```\n ✅ github-runners-test\n\n ✨ Deployment time: 260.01s\n\n Outputs:\n github-runners-test.runnersstatuscommand4A30F0F5 = aws --region us-east-1 lambda invoke --function-name github-runners-test-runnersstatus1A5771C0-mvttg8oPQnQS status.json\n ```\n5. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file\n6. Open the URL in `github.setup.url` from `status.json` or [manually setup GitHub](SETUP_GITHUB.md) integration as an app or with personal access token\n7. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK\n8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, linux, codebuild]` or similar\n9. If the action is not successful, see [troubleshooting](#Troubleshooting)\n\n[![Demo](demo-thumbnail.jpg)](https://youtu.be/wlyv_3V8lIw)\n\n## Customizing\n\nThe default providers configured by `GitHubRunners` are useful for testing but probably not too much for actual production work. They run in the default VPC or no VPC and have no added IAM permissions. You would usually want to configure the providers yourself.\n\nFor example:\n\n```typescript\nlet vpc: ec2.Vpc;\nlet runnerSg: ec2.SecurityGroup;\nlet dbSg: ec2.SecurityGroup;\nlet bucket: s3.Bucket;\n\n// create a custom CodeBuild provider\nconst myProvider = new CodeBuildRunnerProvider(this, 'codebuild runner', {\n labels: ['my-codebuild'],\n vpc: vpc,\n securityGroups: [runnerSg],\n});\n// grant some permissions to the provider\nbucket.grantReadWrite(myProvider);\ndbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to connect to MySQL database');\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nAnother way to customize runners is by modifying the image used to spin them up. The image contains the [runner][5], any required dependencies, and integration code with the provider. You may choose to customize this image by adding more packages, for example.\n\n```typescript\nconst myBuilder = CodeBuildRunnerProvider.imageBuilder(this, 'image builder', {\n dockerfilePath: FargateRunner.LINUX_X64_DOCKERFILE_PATH,\n runnerVersion: RunnerVersion.specific('2.291.0'),\n rebuildInterval: Duration.days(14),\n});\nmyBuilder.addComponent(\n RunnerImageComponent.custom({ commands: ['apt install -y nginx xz-utils'] })\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['customized-fargate'],\n vpc: vpc,\n securityGroups: [runnerSg],\n imageBuilder: myBuilder,\n});\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nYour workflow will then look like:\n\n```yaml\nname: self-hosted example\non: push\njobs:\n self-hosted:\n runs-on: [self-hosted, customized-fargate]\n steps:\n - run: echo hello world\n```\n\nWindows images can also be customized the same way.\n\n```typescript\nconst myWindowsBuilder = FargateRunnerProvider.imageBuilder(this, 'Windows image builder', {\n architecture: Architecture.X86_64,\n os: Os.WINDOWS,\n runnerVersion: RunnerVersion.specific('2.291.0'),\n rebuildInterval: Duration.days(14),\n});\nmyWindowsBuilder.addComponent(\n RunnerImageComponent.custom({\n name: 'Ninja',\n commands: [\n 'Invoke-WebRequest -UseBasicParsing -Uri \"https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip\" -OutFile ninja.zip',\n 'Expand-Archive ninja.zip -DestinationPath C:\\\\actions',\n 'del ninja.zip',\n ],\n })\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['customized-windows-fargate'],\n vpc: vpc,\n securityGroups: [runnerSg],\n imageBuilder: myWindowsBuilder,\n});\n\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nThe runner OS and architecture is determined by the image it is set to use. For example, to create a Fargate runner provider for ARM64 set the `architecture` property for the image builder to `Architecture.ARM64` in the image builder properties.\n\n```typescript\nnew GitHubRunners(this, 'runners', {\n providers: [\n new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['arm64', 'fargate'],\n imageBuilder: FargateRunnerProvider.imageBuilder(this, 'image builder', {\n architecture: Architecture.ARM64,\n os: Os.LINUX_UBUNTU,\n }),\n }),\n ],\n});\n```\n\n## Architecture\n\n![Architecture diagram](architecture.svg)\n\n## Troubleshooting\n\nRunners are started in response to a webhook coming in from GitHub. If there are any issues starting the runner like missing capacity or transient API issues, the provider will keep retrying for 24 hours. Configuration issue related errors like pointing to a missing AMI will not be retried. GitHub itself will cancel the job if it can't find a runner for 24 hours. If your jobs don't start, follow the steps below to examine all parts of this workflow.\n\n1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK\n2. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider\n3. Diagnose relevant executions of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`\n 1. If the execution failed, check your runner provider configuration for errors\n 2. If the execution is still running for a long time, check the execution events to see why runner starting is being retried\n 3. If there are no relevant executions, move to the next step\n4. Confirm the webhook Lambda was called by visiting the URL in `troubleshooting.webhookHandlerUrl` from `status.json`\n 1. If it's not called or logs errors, confirm the webhook settings on the GitHub side\n 2. If you see too many errors, make sure you're only sending `workflow_job` events\n5. When using GitHub app, make sure there are active installations in `github.auth.app.installations`\n\nAll logs are saved in CloudWatch.\n* Log group names can be found in `status.json` for each provider, image builder, and other parts of the system\n* Some useful Logs Insights queries can be enabled with `GitHubRunners.createLogsInsightsQueries()`\n\nTo get `status.json`, check out the CloudFormation stack output for a command that generates it. The command looks like:\n\n```\naws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json\n```\n\n## Monitoring\n\nThere are two important ways to monitor your runners:\n\n1. Make sure runners don't fail to start. When that happens, jobs may sit and wait. Use `GitHubRunners.metricFailed()` to get a metric for the number of failed runner starts. You should use this metric to trigger an alarm.\n2. Make sure runner images don't fail to build. Failed runner image builds mean you will get stuck with out-of-date software on your runners. It may lead to security vulnerabilities, or it may lead to slower runner start-ups as the runner software itself needs to be updated. Use `GitHubRunners.failedImageBuildsTopic()` to get SNS topic that gets notified of failed runner image builds. You should subscribe to this topic.\n\nOther useful metrics to track:\n\n1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.\n2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.\n\n## Other Options\n\n1. [philips-labs/terraform-aws-github-runner][3] if you're using Terraform\n2. [actions/actions-runner-controller][4] if you're using Kubernetes\n\n\n[1]: https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners\n[2]: https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions\n[3]: https://github.com/philips-labs/terraform-aws-github-runner\n[4]: https://github.com/actions/actions-runner-controller\n[5]: https://github.com/actions/runner\n[6]: https://pypi.org/project/cloudsnorkel.cdk-github-runners\n[7]: https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners\n[8]: https://central.sonatype.com/artifact/com.cloudsnorkel/cdk.github.runners/\n[9]: https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps\n[10]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token\n[11]: https://pkg.go.dev/github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n[12]: https://www.nuget.org/packages/CloudSnorkel.Cdk.Github.Runners/\n[13]: https://constructs.dev/packages/@cloudsnorkel/cdk-github-runners/\n[14]: https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling\n"
3583
+ "markdown": "# GitHub Self-Hosted Runners CDK Constructs\n\n[![NPM](https://img.shields.io/npm/v/@cloudsnorkel/cdk-github-runners?label=npm&logo=npm)][7]\n[![PyPI](https://img.shields.io/pypi/v/cloudsnorkel.cdk-github-runners?label=pypi&logo=pypi)][6]\n[![Maven Central](https://img.shields.io/maven-central/v/com.cloudsnorkel/cdk.github.runners.svg?label=Maven%20Central&logo=apachemaven)][8]\n[![Go](https://img.shields.io/github/v/tag/CloudSnorkel/cdk-github-runners?color=red&label=go&logo=go)][11]\n[![Nuget](https://img.shields.io/nuget/v/CloudSnorkel.Cdk.Github.Runners?color=red&&logo=nuget)][12]\n[![Release](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml/badge.svg)](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml)\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/CloudSnorkel/cdk-github-runners/blob/main/LICENSE)\n\nUse this CDK construct to create ephemeral [self-hosted GitHub runners][1] on-demand inside your AWS account.\n\n* Easy to configure GitHub integration with a web-based interface\n* Customizable runners with decent defaults\n* Multiple runner configurations controlled by labels\n* Everything fully hosted in your account\n* Automatically updated build environment with latest runner version\n\nSelf-hosted runners in AWS are useful when:\n\n* You need easy access to internal resources in your actions\n* You want to pre-install some software for your actions\n* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials][2] has more security controls)\n* You are using GitHub Enterprise Server\n\nEphemeral (or on-demand) runners are the [recommended way by GitHub][14] for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.\n\n## API\n\nThe best way to browse API documentation is on [Constructs Hub][13]. It is available in all supported programming languages.\n\n## Providers\n\nA runner provider creates compute resources on-demand and uses [actions/runner][5] to start a runner.\n\n| | EC2 | CodeBuild | Fargate | ECS | Lambda |\n|------------------|-------------------|----------------------------|----------------|----------------|---------------|\n| **Time limit** | Unlimited | 8 hours | Unlimited | Unlimited | 15 minutes |\n| **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | Unlimited | 1 to 6 |\n| **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | Unlimited | 128mb to 10gb |\n| **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Unlimited | Up to 10gb |\n| **Architecture** | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 |\n| **sudo** | ✔ | ✔ | ✔ | ✔ | ❌ |\n| **Docker** | ✔ | ✔ (Linux only) | ❌ | ✔ | ❌ |\n| **Spot pricing** | ✔ | ❌ | ✔ | ✔ | ❌ |\n| **OS** | Linux, Windows | Linux, Windows | Linux, Windows | Linux, Windows | Linux |\n\nThe best provider to use mostly depends on your current infrastructure. When in doubt, CodeBuild is always a good choice. Execution history and logs are easy to view, and it has no restrictive limits unless you need to run for more than 8 hours.\n\n* EC2 is useful when you want runners to have complete access to the host\n* ECS is useful when you want to control the infrastructure, like leaving the runner host running for faster startups\n* Lambda is useful for short jobs that can work within time, size and readonly system constraints\n\nYou can also create your own provider by implementing `IRunnerProvider`.\n\n## Installation\n\n1. Install and use the appropriate package\n <details><summary>Python</summary>\n\n ### Install\n Available on [PyPI][6].\n ```bash\n pip install cloudsnorkel.cdk-github-runners\n ```\n ### Use\n ```python\n from cloudsnorkel.cdk_github_runners import GitHubRunners\n\n GitHubRunners(self, \"runners\")\n ```\n </details>\n <details><summary>TypeScript or JavaScript</summary>\n\n ### Install\n Available on [npm][7].\n ```bash\n npm i @cloudsnorkel/cdk-github-runners\n ```\n ### Use\n ```typescript\n import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';\n\n new GitHubRunners(this, \"runners\");\n ```\n </details>\n <details><summary>Java</summary>\n\n ### Install\n Available on [Maven][8].\n ```xml\n <dependency>\n <groupId>com.cloudsnorkel</groupId>\n <artifactId>cdk.github.runners</artifactId>\n </dependency>\n ```\n ### Use\n ```java\n import com.cloudsnorkel.cdk.github.runners.GitHubRunners;\n\n GitHubRunners.Builder.create(this, \"runners\").build();\n ```\n </details>\n <details><summary>Go</summary>\n\n ### Install\n Available on [GitHub][11].\n ```bash\n go get github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n ```\n ### Use\n ```go\n import \"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\"\n\n NewGitHubRunners(this, jsii.String(\"runners\"))\n ```\n </details>\n <details><summary>.NET</summary>\n\n ### Install\n Available on [Nuget][12].\n ```bash\n dotnet add package CloudSnorkel.Cdk.Github.Runners\n ```\n ### Use\n ```csharp\n using CloudSnorkel;\n\n new GitHubRunners(this, \"runners\");\n ```\n </details>\n2. Use `GitHubRunners` construct in your code (starting with default arguments is fine)\n3. Deploy your stack\n4. Look for the status command output similar to `aws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json`\n ```\n ✅ github-runners-test\n\n ✨ Deployment time: 260.01s\n\n Outputs:\n github-runners-test.runnersstatuscommand4A30F0F5 = aws --region us-east-1 lambda invoke --function-name github-runners-test-runnersstatus1A5771C0-mvttg8oPQnQS status.json\n ```\n5. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file\n6. Open the URL in `github.setup.url` from `status.json` or [manually setup GitHub](SETUP_GITHUB.md) integration as an app or with personal access token\n7. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK\n8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, linux, codebuild]` or similar\n9. If the action is not successful, see [troubleshooting](#Troubleshooting)\n\n[![Demo](demo-thumbnail.jpg)](https://youtu.be/wlyv_3V8lIw)\n\n## Customizing\n\nThe default providers configured by `GitHubRunners` are useful for testing but probably not too much for actual production work. They run in the default VPC or no VPC and have no added IAM permissions. You would usually want to configure the providers yourself.\n\nFor example:\n\n```typescript\nlet vpc: ec2.Vpc;\nlet runnerSg: ec2.SecurityGroup;\nlet dbSg: ec2.SecurityGroup;\nlet bucket: s3.Bucket;\n\n// create a custom CodeBuild provider\nconst myProvider = new CodeBuildRunnerProvider(this, 'codebuild runner', {\n labels: ['my-codebuild'],\n vpc: vpc,\n securityGroups: [runnerSg],\n});\n// grant some permissions to the provider\nbucket.grantReadWrite(myProvider);\ndbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to connect to MySQL database');\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nAnother way to customize runners is by modifying the image used to spin them up. The image contains the [runner][5], any required dependencies, and integration code with the provider. You may choose to customize this image by adding more packages, for example.\n\n```typescript\nconst myBuilder = FargateRunnerProvider.imageBuilder(this, 'image builder');\nmyBuilder.addComponent(\n RunnerImageComponent.custom({ commands: ['apt install -y nginx xz-utils'] }),\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['customized-fargate'],\n imageBuilder: myBuilder,\n});\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nYour workflow will then look like:\n\n```yaml\nname: self-hosted example\non: push\njobs:\n self-hosted:\n runs-on: [self-hosted, customized-fargate]\n steps:\n - run: echo hello world\n```\n\nWindows images can also be customized the same way.\n\n```typescript\nconst myWindowsBuilder = FargateRunnerProvider.imageBuilder(this, 'Windows image builder', {\n architecture: Architecture.X86_64,\n os: Os.WINDOWS,\n});\nmyWindowsBuilder.addComponent(\n RunnerImageComponent.custom({\n name: 'Ninja',\n commands: [\n 'Invoke-WebRequest -UseBasicParsing -Uri \"https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip\" -OutFile ninja.zip',\n 'Expand-Archive ninja.zip -DestinationPath C:\\\\actions',\n 'del ninja.zip',\n ],\n }),\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['customized-windows-fargate'],\n imageBuilder: myWindowsBuilder,\n});\n\nnew GitHubRunners(this, 'runners', {\n providers: [myProvider],\n});\n```\n\nThe runner OS and architecture is determined by the image it is set to use. For example, to create a Fargate runner provider for ARM64 set the `architecture` property for the image builder to `Architecture.ARM64` in the image builder properties.\n\n```typescript\nnew GitHubRunners(this, 'runners', {\n providers: [\n new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['arm64', 'fargate'],\n imageBuilder: FargateRunnerProvider.imageBuilder(this, 'image builder', {\n architecture: Architecture.ARM64,\n os: Os.LINUX_UBUNTU,\n }),\n }),\n ],\n});\n```\n\n## Architecture\n\n![Architecture diagram](architecture.svg)\n\n## Troubleshooting\n\nRunners are started in response to a webhook coming in from GitHub. If there are any issues starting the runner like missing capacity or transient API issues, the provider will keep retrying for 24 hours. Configuration issue related errors like pointing to a missing AMI will not be retried. GitHub itself will cancel the job if it can't find a runner for 24 hours. If your jobs don't start, follow the steps below to examine all parts of this workflow.\n\n1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK\n2. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider\n3. Diagnose relevant executions of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`\n 1. If the execution failed, check your runner provider configuration for errors\n 2. If the execution is still running for a long time, check the execution events to see why runner starting is being retried\n 3. If there are no relevant executions, move to the next step\n4. Confirm the webhook Lambda was called by visiting the URL in `troubleshooting.webhookHandlerUrl` from `status.json`\n 1. If it's not called or logs errors, confirm the webhook settings on the GitHub side\n 2. If you see too many errors, make sure you're only sending `workflow_job` events\n5. When using GitHub app, make sure there are active installations in `github.auth.app.installations`\n\nAll logs are saved in CloudWatch.\n* Log group names can be found in `status.json` for each provider, image builder, and other parts of the system\n* Some useful Logs Insights queries can be enabled with `GitHubRunners.createLogsInsightsQueries()`\n\nTo get `status.json`, check out the CloudFormation stack output for a command that generates it. The command looks like:\n\n```\naws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json\n```\n\n## Monitoring\n\nThere are two important ways to monitor your runners:\n\n1. Make sure runners don't fail to start. When that happens, jobs may sit and wait. Use `GitHubRunners.metricFailed()` to get a metric for the number of failed runner starts. You should use this metric to trigger an alarm.\n2. Make sure runner images don't fail to build. Failed runner image builds mean you will get stuck with out-of-date software on your runners. It may lead to security vulnerabilities, or it may lead to slower runner start-ups as the runner software itself needs to be updated. Use `GitHubRunners.failedImageBuildsTopic()` to get SNS topic that gets notified of failed runner image builds. You should subscribe to this topic.\n\nOther useful metrics to track:\n\n1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.\n2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.\n\n## Other Options\n\n1. [philips-labs/terraform-aws-github-runner][3] if you're using Terraform\n2. [actions/actions-runner-controller][4] if you're using Kubernetes\n\n\n[1]: https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners\n[2]: https://github.com/marketplace/actions/configure-aws-credentials-for-github-actions\n[3]: https://github.com/philips-labs/terraform-aws-github-runner\n[4]: https://github.com/actions/actions-runner-controller\n[5]: https://github.com/actions/runner\n[6]: https://pypi.org/project/cloudsnorkel.cdk-github-runners\n[7]: https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners\n[8]: https://central.sonatype.com/artifact/com.cloudsnorkel/cdk.github.runners/\n[9]: https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps\n[10]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token\n[11]: https://pkg.go.dev/github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n[12]: https://www.nuget.org/packages/CloudSnorkel.Cdk.Github.Runners/\n[13]: https://constructs.dev/packages/@cloudsnorkel/cdk-github-runners/\n[14]: https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling\n"
3441
3584
  },
3442
3585
  "repository": {
3443
3586
  "type": "git",
@@ -4392,7 +4535,7 @@
4392
4535
  "kind": "interface",
4393
4536
  "locationInModule": {
4394
4537
  "filename": "src/image-builders/aws-image-builder/builder.ts",
4395
- "line": 33
4538
+ "line": 31
4396
4539
  },
4397
4540
  "name": "AwsImageBuilderRunnerImageBuilderProps",
4398
4541
  "properties": [
@@ -4406,7 +4549,7 @@
4406
4549
  "immutable": true,
4407
4550
  "locationInModule": {
4408
4551
  "filename": "src/image-builders/aws-image-builder/builder.ts",
4409
- "line": 39
4552
+ "line": 37
4410
4553
  },
4411
4554
  "name": "instanceType",
4412
4555
  "optional": true,
@@ -4473,7 +4616,7 @@
4473
4616
  },
4474
4617
  "locationInModule": {
4475
4618
  "filename": "src/image-builders/codebuild-deprecated.ts",
4476
- "line": 288
4619
+ "line": 289
4477
4620
  },
4478
4621
  "name": "addExtraCertificates",
4479
4622
  "parameters": [
@@ -4495,7 +4638,7 @@
4495
4638
  },
4496
4639
  "locationInModule": {
4497
4640
  "filename": "src/image-builders/codebuild-deprecated.ts",
4498
- "line": 222
4641
+ "line": 223
4499
4642
  },
4500
4643
  "name": "addFiles",
4501
4644
  "parameters": [
@@ -4526,7 +4669,7 @@
4526
4669
  },
4527
4670
  "locationInModule": {
4528
4671
  "filename": "src/image-builders/codebuild-deprecated.ts",
4529
- "line": 274
4672
+ "line": 275
4530
4673
  },
4531
4674
  "name": "addPolicyStatement",
4532
4675
  "parameters": [
@@ -4548,7 +4691,7 @@
4548
4691
  },
4549
4692
  "locationInModule": {
4550
4693
  "filename": "src/image-builders/codebuild-deprecated.ts",
4551
- "line": 249
4694
+ "line": 250
4552
4695
  },
4553
4696
  "name": "addPostBuildCommand",
4554
4697
  "parameters": [
@@ -4570,7 +4713,7 @@
4570
4713
  },
4571
4714
  "locationInModule": {
4572
4715
  "filename": "src/image-builders/codebuild-deprecated.ts",
4573
- "line": 237
4716
+ "line": 238
4574
4717
  },
4575
4718
  "name": "addPreBuildCommand",
4576
4719
  "parameters": [
@@ -4593,7 +4736,7 @@
4593
4736
  },
4594
4737
  "locationInModule": {
4595
4738
  "filename": "src/image-builders/codebuild-deprecated.ts",
4596
- "line": 529
4739
+ "line": 530
4597
4740
  },
4598
4741
  "name": "bindAmi",
4599
4742
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -4610,7 +4753,7 @@
4610
4753
  },
4611
4754
  "locationInModule": {
4612
4755
  "filename": "src/image-builders/codebuild-deprecated.ts",
4613
- "line": 298
4756
+ "line": 299
4614
4757
  },
4615
4758
  "name": "bindDockerImage",
4616
4759
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -4628,7 +4771,7 @@
4628
4771
  },
4629
4772
  "locationInModule": {
4630
4773
  "filename": "src/image-builders/codebuild-deprecated.ts",
4631
- "line": 262
4774
+ "line": 263
4632
4775
  },
4633
4776
  "name": "setBuildArg",
4634
4777
  "parameters": [
@@ -4662,7 +4805,7 @@
4662
4805
  "immutable": true,
4663
4806
  "locationInModule": {
4664
4807
  "filename": "src/image-builders/codebuild-deprecated.ts",
4665
- "line": 523
4808
+ "line": 524
4666
4809
  },
4667
4810
  "name": "connections",
4668
4811
  "type": {
@@ -4957,7 +5100,7 @@
4957
5100
  },
4958
5101
  "locationInModule": {
4959
5102
  "filename": "src/providers/codebuild.ts",
4960
- "line": 220
5103
+ "line": 226
4961
5104
  },
4962
5105
  "parameters": [
4963
5106
  {
@@ -4984,7 +5127,7 @@
4984
5127
  "kind": "class",
4985
5128
  "locationInModule": {
4986
5129
  "filename": "src/providers/codebuild.ts",
4987
- "line": 426
5130
+ "line": 432
4988
5131
  },
4989
5132
  "name": "CodeBuildRunner",
4990
5133
  "symbolId": "src/providers/codebuild:CodeBuildRunner"
@@ -5078,7 +5221,7 @@
5078
5221
  },
5079
5222
  "locationInModule": {
5080
5223
  "filename": "src/providers/codebuild.ts",
5081
- "line": 220
5224
+ "line": 226
5082
5225
  },
5083
5226
  "parameters": [
5084
5227
  {
@@ -5113,13 +5256,13 @@
5113
5256
  "methods": [
5114
5257
  {
5115
5258
  "docs": {
5116
- "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
5259
+ "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
5117
5260
  "stability": "experimental",
5118
- "summary": "Create new image builder that builds CodeBuild specific runner images using Ubuntu."
5261
+ "summary": "Create new image builder that builds CodeBuild specific runner images."
5119
5262
  },
5120
5263
  "locationInModule": {
5121
5264
  "filename": "src/providers/codebuild.ts",
5122
- "line": 167
5265
+ "line": 173
5123
5266
  },
5124
5267
  "name": "imageBuilder",
5125
5268
  "parameters": [
@@ -5145,7 +5288,7 @@
5145
5288
  ],
5146
5289
  "returns": {
5147
5290
  "type": {
5148
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
5291
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
5149
5292
  }
5150
5293
  },
5151
5294
  "static": true
@@ -5158,7 +5301,7 @@
5158
5301
  },
5159
5302
  "locationInModule": {
5160
5303
  "filename": "src/providers/codebuild.ts",
5161
- "line": 353
5304
+ "line": 359
5162
5305
  },
5163
5306
  "name": "getStepFunctionTask",
5164
5307
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5187,7 +5330,7 @@
5187
5330
  },
5188
5331
  "locationInModule": {
5189
5332
  "filename": "src/providers/codebuild.ts",
5190
- "line": 394
5333
+ "line": 400
5191
5334
  },
5192
5335
  "name": "grantStateMachine",
5193
5336
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5206,7 +5349,7 @@
5206
5349
  },
5207
5350
  "locationInModule": {
5208
5351
  "filename": "src/providers/common.ts",
5209
- "line": 479
5352
+ "line": 484
5210
5353
  },
5211
5354
  "name": "labelsFromProperties",
5212
5355
  "parameters": [
@@ -5256,7 +5399,7 @@
5256
5399
  },
5257
5400
  "locationInModule": {
5258
5401
  "filename": "src/providers/codebuild.ts",
5259
- "line": 397
5402
+ "line": 403
5260
5403
  },
5261
5404
  "name": "status",
5262
5405
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5323,7 +5466,7 @@
5323
5466
  "immutable": true,
5324
5467
  "locationInModule": {
5325
5468
  "filename": "src/providers/codebuild.ts",
5326
- "line": 418
5469
+ "line": 424
5327
5470
  },
5328
5471
  "name": "connections",
5329
5472
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -5339,7 +5482,7 @@
5339
5482
  "immutable": true,
5340
5483
  "locationInModule": {
5341
5484
  "filename": "src/providers/codebuild.ts",
5342
- "line": 197
5485
+ "line": 203
5343
5486
  },
5344
5487
  "name": "grantPrincipal",
5345
5488
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -5356,7 +5499,7 @@
5356
5499
  "immutable": true,
5357
5500
  "locationInModule": {
5358
5501
  "filename": "src/providers/codebuild.ts",
5359
- "line": 202
5502
+ "line": 208
5360
5503
  },
5361
5504
  "name": "image",
5362
5505
  "type": {
@@ -5371,7 +5514,7 @@
5371
5514
  "immutable": true,
5372
5515
  "locationInModule": {
5373
5516
  "filename": "src/providers/codebuild.ts",
5374
- "line": 192
5517
+ "line": 198
5375
5518
  },
5376
5519
  "name": "labels",
5377
5520
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5393,7 +5536,7 @@
5393
5536
  "immutable": true,
5394
5537
  "locationInModule": {
5395
5538
  "filename": "src/providers/codebuild.ts",
5396
- "line": 209
5539
+ "line": 215
5397
5540
  },
5398
5541
  "name": "logGroup",
5399
5542
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5409,7 +5552,7 @@
5409
5552
  "immutable": true,
5410
5553
  "locationInModule": {
5411
5554
  "filename": "src/providers/codebuild.ts",
5412
- "line": 187
5555
+ "line": 193
5413
5556
  },
5414
5557
  "name": "project",
5415
5558
  "type": {
@@ -5424,7 +5567,7 @@
5424
5567
  "immutable": true,
5425
5568
  "locationInModule": {
5426
5569
  "filename": "src/providers/codebuild.ts",
5427
- "line": 211
5570
+ "line": 217
5428
5571
  },
5429
5572
  "name": "retryableErrors",
5430
5573
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5713,7 +5856,7 @@
5713
5856
  },
5714
5857
  "locationInModule": {
5715
5858
  "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
5716
- "line": 218
5859
+ "line": 219
5717
5860
  },
5718
5861
  "name": "addComponent",
5719
5862
  "parameters": [
@@ -5733,7 +5876,7 @@
5733
5876
  },
5734
5877
  "locationInModule": {
5735
5878
  "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
5736
- "line": 235
5879
+ "line": 236
5737
5880
  },
5738
5881
  "name": "addExtraCertificates",
5739
5882
  "parameters": [
@@ -5756,7 +5899,7 @@
5756
5899
  },
5757
5900
  "locationInModule": {
5758
5901
  "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
5759
- "line": 340
5902
+ "line": 341
5760
5903
  },
5761
5904
  "name": "bindAmi",
5762
5905
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -5773,7 +5916,7 @@
5773
5916
  },
5774
5917
  "locationInModule": {
5775
5918
  "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
5776
- "line": 248
5919
+ "line": 249
5777
5920
  },
5778
5921
  "name": "bindDockerImage",
5779
5922
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -5944,7 +6087,7 @@
5944
6087
  },
5945
6088
  "locationInModule": {
5946
6089
  "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
5947
- "line": 204
6090
+ "line": 205
5948
6091
  },
5949
6092
  "name": "prependComponent",
5950
6093
  "parameters": [
@@ -6343,7 +6486,7 @@
6343
6486
  },
6344
6487
  "locationInModule": {
6345
6488
  "filename": "src/providers/ec2.ts",
6346
- "line": 340
6489
+ "line": 346
6347
6490
  },
6348
6491
  "parameters": [
6349
6492
  {
@@ -6370,7 +6513,7 @@
6370
6513
  "kind": "class",
6371
6514
  "locationInModule": {
6372
6515
  "filename": "src/providers/ec2.ts",
6373
- "line": 553
6516
+ "line": 559
6374
6517
  },
6375
6518
  "name": "Ec2Runner",
6376
6519
  "symbolId": "src/providers/ec2:Ec2Runner"
@@ -6390,7 +6533,7 @@
6390
6533
  },
6391
6534
  "locationInModule": {
6392
6535
  "filename": "src/providers/ec2.ts",
6393
- "line": 340
6536
+ "line": 346
6394
6537
  },
6395
6538
  "parameters": [
6396
6539
  {
@@ -6425,13 +6568,13 @@
6425
6568
  "methods": [
6426
6569
  {
6427
6570
  "docs": {
6428
- "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
6571
+ "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
6429
6572
  "stability": "experimental",
6430
- "summary": "Create new image builder that builds EC2 specific runner images using Ubuntu."
6573
+ "summary": "Create new image builder that builds EC2 specific runner images."
6431
6574
  },
6432
6575
  "locationInModule": {
6433
6576
  "filename": "src/providers/ec2.ts",
6434
- "line": 289
6577
+ "line": 295
6435
6578
  },
6436
6579
  "name": "imageBuilder",
6437
6580
  "parameters": [
@@ -6457,7 +6600,7 @@
6457
6600
  ],
6458
6601
  "returns": {
6459
6602
  "type": {
6460
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
6603
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
6461
6604
  }
6462
6605
  },
6463
6606
  "static": true
@@ -6470,7 +6613,7 @@
6470
6613
  },
6471
6614
  "locationInModule": {
6472
6615
  "filename": "src/providers/ec2.ts",
6473
- "line": 395
6616
+ "line": 401
6474
6617
  },
6475
6618
  "name": "getStepFunctionTask",
6476
6619
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6499,7 +6642,7 @@
6499
6642
  },
6500
6643
  "locationInModule": {
6501
6644
  "filename": "src/providers/ec2.ts",
6502
- "line": 493
6645
+ "line": 499
6503
6646
  },
6504
6647
  "name": "grantStateMachine",
6505
6648
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6518,7 +6661,7 @@
6518
6661
  },
6519
6662
  "locationInModule": {
6520
6663
  "filename": "src/providers/common.ts",
6521
- "line": 479
6664
+ "line": 484
6522
6665
  },
6523
6666
  "name": "labelsFromProperties",
6524
6667
  "parameters": [
@@ -6568,7 +6711,7 @@
6568
6711
  },
6569
6712
  "locationInModule": {
6570
6713
  "filename": "src/providers/ec2.ts",
6571
- "line": 523
6714
+ "line": 529
6572
6715
  },
6573
6716
  "name": "status",
6574
6717
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6597,7 +6740,7 @@
6597
6740
  "immutable": true,
6598
6741
  "locationInModule": {
6599
6742
  "filename": "src/providers/ec2.ts",
6600
- "line": 545
6743
+ "line": 551
6601
6744
  },
6602
6745
  "name": "connections",
6603
6746
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -6613,7 +6756,7 @@
6613
6756
  "immutable": true,
6614
6757
  "locationInModule": {
6615
6758
  "filename": "src/providers/ec2.ts",
6616
- "line": 315
6759
+ "line": 321
6617
6760
  },
6618
6761
  "name": "grantPrincipal",
6619
6762
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -6629,7 +6772,7 @@
6629
6772
  "immutable": true,
6630
6773
  "locationInModule": {
6631
6774
  "filename": "src/providers/ec2.ts",
6632
- "line": 310
6775
+ "line": 316
6633
6776
  },
6634
6777
  "name": "labels",
6635
6778
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6651,7 +6794,7 @@
6651
6794
  "immutable": true,
6652
6795
  "locationInModule": {
6653
6796
  "filename": "src/providers/ec2.ts",
6654
- "line": 322
6797
+ "line": 328
6655
6798
  },
6656
6799
  "name": "logGroup",
6657
6800
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6667,7 +6810,7 @@
6667
6810
  "immutable": true,
6668
6811
  "locationInModule": {
6669
6812
  "filename": "src/providers/ec2.ts",
6670
- "line": 324
6813
+ "line": 330
6671
6814
  },
6672
6815
  "name": "retryableErrors",
6673
6816
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6951,7 +7094,7 @@
6951
7094
  },
6952
7095
  "locationInModule": {
6953
7096
  "filename": "src/providers/ecs.ts",
6954
- "line": 321
7097
+ "line": 327
6955
7098
  },
6956
7099
  "parameters": [
6957
7100
  {
@@ -6986,13 +7129,13 @@
6986
7129
  "methods": [
6987
7130
  {
6988
7131
  "docs": {
6989
- "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
7132
+ "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
6990
7133
  "stability": "experimental",
6991
- "summary": "Create new image builder that builds ECS specific runner images using Ubuntu."
7134
+ "summary": "Create new image builder that builds ECS specific runner images."
6992
7135
  },
6993
7136
  "locationInModule": {
6994
7137
  "filename": "src/providers/ecs.ts",
6995
- "line": 225
7138
+ "line": 231
6996
7139
  },
6997
7140
  "name": "imageBuilder",
6998
7141
  "parameters": [
@@ -7018,7 +7161,7 @@
7018
7161
  ],
7019
7162
  "returns": {
7020
7163
  "type": {
7021
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
7164
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
7022
7165
  }
7023
7166
  },
7024
7167
  "static": true
@@ -7031,7 +7174,7 @@
7031
7174
  },
7032
7175
  "locationInModule": {
7033
7176
  "filename": "src/providers/ecs.ts",
7034
- "line": 534
7177
+ "line": 540
7035
7178
  },
7036
7179
  "name": "getStepFunctionTask",
7037
7180
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7060,7 +7203,7 @@
7060
7203
  },
7061
7204
  "locationInModule": {
7062
7205
  "filename": "src/providers/ecs.ts",
7063
- "line": 586
7206
+ "line": 592
7064
7207
  },
7065
7208
  "name": "grantStateMachine",
7066
7209
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7079,7 +7222,7 @@
7079
7222
  },
7080
7223
  "locationInModule": {
7081
7224
  "filename": "src/providers/common.ts",
7082
- "line": 479
7225
+ "line": 484
7083
7226
  },
7084
7227
  "name": "labelsFromProperties",
7085
7228
  "parameters": [
@@ -7129,7 +7272,7 @@
7129
7272
  },
7130
7273
  "locationInModule": {
7131
7274
  "filename": "src/providers/ecs.ts",
7132
- "line": 589
7275
+ "line": 595
7133
7276
  },
7134
7277
  "name": "status",
7135
7278
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7158,7 +7301,7 @@
7158
7301
  "immutable": true,
7159
7302
  "locationInModule": {
7160
7303
  "filename": "src/providers/ecs.ts",
7161
- "line": 290
7304
+ "line": 296
7162
7305
  },
7163
7306
  "name": "connections",
7164
7307
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -7174,7 +7317,7 @@
7174
7317
  "immutable": true,
7175
7318
  "locationInModule": {
7176
7319
  "filename": "src/providers/ecs.ts",
7177
- "line": 285
7320
+ "line": 291
7178
7321
  },
7179
7322
  "name": "grantPrincipal",
7180
7323
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -7190,7 +7333,7 @@
7190
7333
  "immutable": true,
7191
7334
  "locationInModule": {
7192
7335
  "filename": "src/providers/ecs.ts",
7193
- "line": 265
7336
+ "line": 271
7194
7337
  },
7195
7338
  "name": "labels",
7196
7339
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7212,7 +7355,7 @@
7212
7355
  "immutable": true,
7213
7356
  "locationInModule": {
7214
7357
  "filename": "src/providers/ecs.ts",
7215
- "line": 302
7358
+ "line": 308
7216
7359
  },
7217
7360
  "name": "logGroup",
7218
7361
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7228,7 +7371,7 @@
7228
7371
  "immutable": true,
7229
7372
  "locationInModule": {
7230
7373
  "filename": "src/providers/ecs.ts",
7231
- "line": 314
7374
+ "line": 320
7232
7375
  },
7233
7376
  "name": "retryableErrors",
7234
7377
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7622,7 +7765,7 @@
7622
7765
  },
7623
7766
  "locationInModule": {
7624
7767
  "filename": "src/providers/fargate.ts",
7625
- "line": 364
7768
+ "line": 370
7626
7769
  },
7627
7770
  "parameters": [
7628
7771
  {
@@ -7649,7 +7792,7 @@
7649
7792
  "kind": "class",
7650
7793
  "locationInModule": {
7651
7794
  "filename": "src/providers/fargate.ts",
7652
- "line": 532
7795
+ "line": 538
7653
7796
  },
7654
7797
  "name": "FargateRunner",
7655
7798
  "symbolId": "src/providers/fargate:FargateRunner"
@@ -7669,7 +7812,7 @@
7669
7812
  },
7670
7813
  "locationInModule": {
7671
7814
  "filename": "src/providers/fargate.ts",
7672
- "line": 364
7815
+ "line": 370
7673
7816
  },
7674
7817
  "parameters": [
7675
7818
  {
@@ -7704,13 +7847,13 @@
7704
7847
  "methods": [
7705
7848
  {
7706
7849
  "docs": {
7707
- "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`",
7850
+ "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`",
7708
7851
  "stability": "experimental",
7709
- "summary": "Create new image builder that builds Fargate specific runner images using Ubuntu."
7852
+ "summary": "Create new image builder that builds Fargate specific runner images."
7710
7853
  },
7711
7854
  "locationInModule": {
7712
7855
  "filename": "src/providers/fargate.ts",
7713
- "line": 278
7856
+ "line": 284
7714
7857
  },
7715
7858
  "name": "imageBuilder",
7716
7859
  "parameters": [
@@ -7736,7 +7879,7 @@
7736
7879
  ],
7737
7880
  "returns": {
7738
7881
  "type": {
7739
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
7882
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
7740
7883
  }
7741
7884
  },
7742
7885
  "static": true
@@ -7749,7 +7892,7 @@
7749
7892
  },
7750
7893
  "locationInModule": {
7751
7894
  "filename": "src/providers/fargate.ts",
7752
- "line": 451
7895
+ "line": 457
7753
7896
  },
7754
7897
  "name": "getStepFunctionTask",
7755
7898
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7778,7 +7921,7 @@
7778
7921
  },
7779
7922
  "locationInModule": {
7780
7923
  "filename": "src/providers/fargate.ts",
7781
- "line": 507
7924
+ "line": 513
7782
7925
  },
7783
7926
  "name": "grantStateMachine",
7784
7927
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7797,7 +7940,7 @@
7797
7940
  },
7798
7941
  "locationInModule": {
7799
7942
  "filename": "src/providers/common.ts",
7800
- "line": 479
7943
+ "line": 484
7801
7944
  },
7802
7945
  "name": "labelsFromProperties",
7803
7946
  "parameters": [
@@ -7847,7 +7990,7 @@
7847
7990
  },
7848
7991
  "locationInModule": {
7849
7992
  "filename": "src/providers/fargate.ts",
7850
- "line": 510
7993
+ "line": 516
7851
7994
  },
7852
7995
  "name": "status",
7853
7996
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -7914,7 +8057,7 @@
7914
8057
  "immutable": true,
7915
8058
  "locationInModule": {
7916
8059
  "filename": "src/providers/fargate.ts",
7917
- "line": 327
8060
+ "line": 333
7918
8061
  },
7919
8062
  "name": "assignPublicIp",
7920
8063
  "type": {
@@ -7929,7 +8072,7 @@
7929
8072
  "immutable": true,
7930
8073
  "locationInModule": {
7931
8074
  "filename": "src/providers/fargate.ts",
7932
- "line": 297
8075
+ "line": 303
7933
8076
  },
7934
8077
  "name": "cluster",
7935
8078
  "type": {
@@ -7944,7 +8087,7 @@
7944
8087
  "immutable": true,
7945
8088
  "locationInModule": {
7946
8089
  "filename": "src/providers/fargate.ts",
7947
- "line": 337
8090
+ "line": 343
7948
8091
  },
7949
8092
  "name": "connections",
7950
8093
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -7960,7 +8103,7 @@
7960
8103
  "immutable": true,
7961
8104
  "locationInModule": {
7962
8105
  "filename": "src/providers/fargate.ts",
7963
- "line": 307
8106
+ "line": 313
7964
8107
  },
7965
8108
  "name": "container",
7966
8109
  "type": {
@@ -7975,7 +8118,7 @@
7975
8118
  "immutable": true,
7976
8119
  "locationInModule": {
7977
8120
  "filename": "src/providers/fargate.ts",
7978
- "line": 332
8121
+ "line": 338
7979
8122
  },
7980
8123
  "name": "grantPrincipal",
7981
8124
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -7992,7 +8135,7 @@
7992
8135
  "immutable": true,
7993
8136
  "locationInModule": {
7994
8137
  "filename": "src/providers/fargate.ts",
7995
- "line": 347
8138
+ "line": 353
7996
8139
  },
7997
8140
  "name": "image",
7998
8141
  "type": {
@@ -8007,7 +8150,7 @@
8007
8150
  "immutable": true,
8008
8151
  "locationInModule": {
8009
8152
  "filename": "src/providers/fargate.ts",
8010
- "line": 312
8153
+ "line": 318
8011
8154
  },
8012
8155
  "name": "labels",
8013
8156
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8029,7 +8172,7 @@
8029
8172
  "immutable": true,
8030
8173
  "locationInModule": {
8031
8174
  "filename": "src/providers/fargate.ts",
8032
- "line": 354
8175
+ "line": 360
8033
8176
  },
8034
8177
  "name": "logGroup",
8035
8178
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8045,7 +8188,7 @@
8045
8188
  "immutable": true,
8046
8189
  "locationInModule": {
8047
8190
  "filename": "src/providers/fargate.ts",
8048
- "line": 356
8191
+ "line": 362
8049
8192
  },
8050
8193
  "name": "retryableErrors",
8051
8194
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8066,7 +8209,7 @@
8066
8209
  "immutable": true,
8067
8210
  "locationInModule": {
8068
8211
  "filename": "src/providers/fargate.ts",
8069
- "line": 342
8212
+ "line": 348
8070
8213
  },
8071
8214
  "name": "spot",
8072
8215
  "type": {
@@ -8081,7 +8224,7 @@
8081
8224
  "immutable": true,
8082
8225
  "locationInModule": {
8083
8226
  "filename": "src/providers/fargate.ts",
8084
- "line": 302
8227
+ "line": 308
8085
8228
  },
8086
8229
  "name": "task",
8087
8230
  "type": {
@@ -8096,7 +8239,7 @@
8096
8239
  "immutable": true,
8097
8240
  "locationInModule": {
8098
8241
  "filename": "src/providers/fargate.ts",
8099
- "line": 322
8242
+ "line": 328
8100
8243
  },
8101
8244
  "name": "subnetSelection",
8102
8245
  "optional": true,
@@ -8112,7 +8255,7 @@
8112
8255
  "immutable": true,
8113
8256
  "locationInModule": {
8114
8257
  "filename": "src/providers/fargate.ts",
8115
- "line": 317
8258
+ "line": 323
8116
8259
  },
8117
8260
  "name": "vpc",
8118
8261
  "optional": true,
@@ -8940,6 +9083,77 @@
8940
9083
  ],
8941
9084
  "symbolId": "src/runner:GitHubRunnersProps"
8942
9085
  },
9086
+ "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder": {
9087
+ "assembly": "@cloudsnorkel/cdk-github-runners",
9088
+ "docs": {
9089
+ "remarks": "The image can be configured by adding or removing components. The image builder can be configured by adding grants or allowing connections.\n\nAn image can be a Docker image or AMI.",
9090
+ "stability": "experimental",
9091
+ "summary": "Interface for constructs that build an image that can be used in {@link IRunnerProvider }."
9092
+ },
9093
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
9094
+ "interfaces": [
9095
+ "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
9096
+ "aws-cdk-lib.aws_ec2.IConnectable",
9097
+ "aws-cdk-lib.aws_iam.IGrantable"
9098
+ ],
9099
+ "kind": "interface",
9100
+ "locationInModule": {
9101
+ "filename": "src/image-builders/common.ts",
9102
+ "line": 286
9103
+ },
9104
+ "methods": [
9105
+ {
9106
+ "abstract": true,
9107
+ "docs": {
9108
+ "remarks": "The component will be added to the end of the list of components.",
9109
+ "stability": "experimental",
9110
+ "summary": "Add a component to the image builder."
9111
+ },
9112
+ "locationInModule": {
9113
+ "filename": "src/image-builders/common.ts",
9114
+ "line": 292
9115
+ },
9116
+ "name": "addComponent",
9117
+ "parameters": [
9118
+ {
9119
+ "docs": {
9120
+ "summary": "component to add."
9121
+ },
9122
+ "name": "component",
9123
+ "type": {
9124
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
9125
+ }
9126
+ }
9127
+ ]
9128
+ },
9129
+ {
9130
+ "abstract": true,
9131
+ "docs": {
9132
+ "remarks": "Removal is done by component name. Multiple components with the same name will all be removed.",
9133
+ "stability": "experimental",
9134
+ "summary": "Remove a component from the image builder."
9135
+ },
9136
+ "locationInModule": {
9137
+ "filename": "src/image-builders/common.ts",
9138
+ "line": 299
9139
+ },
9140
+ "name": "removeComponent",
9141
+ "parameters": [
9142
+ {
9143
+ "docs": {
9144
+ "summary": "component to remove."
9145
+ },
9146
+ "name": "component",
9147
+ "type": {
9148
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
9149
+ }
9150
+ }
9151
+ ]
9152
+ }
9153
+ ],
9154
+ "name": "IConfigurableRunnerImageBuilder",
9155
+ "symbolId": "src/image-builders/common:IConfigurableRunnerImageBuilder"
9156
+ },
8943
9157
  "@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus": {
8944
9158
  "assembly": "@cloudsnorkel/cdk-github-runners",
8945
9159
  "docs": {
@@ -8950,7 +9164,7 @@
8950
9164
  "kind": "interface",
8951
9165
  "locationInModule": {
8952
9166
  "filename": "src/providers/common.ts",
8953
- "line": 360
9167
+ "line": 365
8954
9168
  },
8955
9169
  "name": "IRunnerAmiStatus",
8956
9170
  "properties": [
@@ -8963,7 +9177,7 @@
8963
9177
  "immutable": true,
8964
9178
  "locationInModule": {
8965
9179
  "filename": "src/providers/common.ts",
8966
- "line": 364
9180
+ "line": 369
8967
9181
  },
8968
9182
  "name": "launchTemplate",
8969
9183
  "type": {
@@ -8979,7 +9193,7 @@
8979
9193
  "immutable": true,
8980
9194
  "locationInModule": {
8981
9195
  "filename": "src/providers/common.ts",
8982
- "line": 369
9196
+ "line": 374
8983
9197
  },
8984
9198
  "name": "amiBuilderLogGroup",
8985
9199
  "optional": true,
@@ -9054,7 +9268,7 @@
9054
9268
  "kind": "interface",
9055
9269
  "locationInModule": {
9056
9270
  "filename": "src/providers/common.ts",
9057
- "line": 340
9271
+ "line": 345
9058
9272
  },
9059
9273
  "name": "IRunnerImageStatus",
9060
9274
  "properties": [
@@ -9067,7 +9281,7 @@
9067
9281
  "immutable": true,
9068
9282
  "locationInModule": {
9069
9283
  "filename": "src/providers/common.ts",
9070
- "line": 344
9284
+ "line": 349
9071
9285
  },
9072
9286
  "name": "imageRepository",
9073
9287
  "type": {
@@ -9083,7 +9297,7 @@
9083
9297
  "immutable": true,
9084
9298
  "locationInModule": {
9085
9299
  "filename": "src/providers/common.ts",
9086
- "line": 349
9300
+ "line": 354
9087
9301
  },
9088
9302
  "name": "imageTag",
9089
9303
  "type": {
@@ -9099,7 +9313,7 @@
9099
9313
  "immutable": true,
9100
9314
  "locationInModule": {
9101
9315
  "filename": "src/providers/common.ts",
9102
- "line": 354
9316
+ "line": 359
9103
9317
  },
9104
9318
  "name": "imageBuilderLogGroup",
9105
9319
  "optional": true,
@@ -9126,7 +9340,7 @@
9126
9340
  "kind": "interface",
9127
9341
  "locationInModule": {
9128
9342
  "filename": "src/providers/common.ts",
9129
- "line": 420
9343
+ "line": 425
9130
9344
  },
9131
9345
  "methods": [
9132
9346
  {
@@ -9138,7 +9352,7 @@
9138
9352
  },
9139
9353
  "locationInModule": {
9140
9354
  "filename": "src/providers/common.ts",
9141
- "line": 451
9355
+ "line": 456
9142
9356
  },
9143
9357
  "name": "getStepFunctionTask",
9144
9358
  "parameters": [
@@ -9167,7 +9381,7 @@
9167
9381
  },
9168
9382
  "locationInModule": {
9169
9383
  "filename": "src/providers/common.ts",
9170
- "line": 459
9384
+ "line": 464
9171
9385
  },
9172
9386
  "name": "grantStateMachine",
9173
9387
  "parameters": [
@@ -9191,7 +9405,7 @@
9191
9405
  },
9192
9406
  "locationInModule": {
9193
9407
  "filename": "src/providers/common.ts",
9194
- "line": 466
9408
+ "line": 471
9195
9409
  },
9196
9410
  "name": "status",
9197
9411
  "parameters": [
@@ -9224,7 +9438,7 @@
9224
9438
  "immutable": true,
9225
9439
  "locationInModule": {
9226
9440
  "filename": "src/providers/common.ts",
9227
- "line": 428
9441
+ "line": 433
9228
9442
  },
9229
9443
  "name": "labels",
9230
9444
  "type": {
@@ -9246,7 +9460,7 @@
9246
9460
  "immutable": true,
9247
9461
  "locationInModule": {
9248
9462
  "filename": "src/providers/common.ts",
9249
- "line": 435
9463
+ "line": 440
9250
9464
  },
9251
9465
  "name": "logGroup",
9252
9466
  "type": {
@@ -9263,7 +9477,7 @@
9263
9477
  "immutable": true,
9264
9478
  "locationInModule": {
9265
9479
  "filename": "src/providers/common.ts",
9266
- "line": 442
9480
+ "line": 447
9267
9481
  },
9268
9482
  "name": "retryableErrors",
9269
9483
  "type": {
@@ -9288,7 +9502,7 @@
9288
9502
  "kind": "interface",
9289
9503
  "locationInModule": {
9290
9504
  "filename": "src/providers/common.ts",
9291
- "line": 375
9505
+ "line": 380
9292
9506
  },
9293
9507
  "name": "IRunnerProviderStatus",
9294
9508
  "properties": [
@@ -9301,7 +9515,7 @@
9301
9515
  "immutable": true,
9302
9516
  "locationInModule": {
9303
9517
  "filename": "src/providers/common.ts",
9304
- "line": 384
9518
+ "line": 389
9305
9519
  },
9306
9520
  "name": "labels",
9307
9521
  "type": {
@@ -9322,7 +9536,7 @@
9322
9536
  "immutable": true,
9323
9537
  "locationInModule": {
9324
9538
  "filename": "src/providers/common.ts",
9325
- "line": 379
9539
+ "line": 384
9326
9540
  },
9327
9541
  "name": "type",
9328
9542
  "type": {
@@ -9338,7 +9552,7 @@
9338
9552
  "immutable": true,
9339
9553
  "locationInModule": {
9340
9554
  "filename": "src/providers/common.ts",
9341
- "line": 409
9555
+ "line": 414
9342
9556
  },
9343
9557
  "name": "ami",
9344
9558
  "optional": true,
@@ -9355,7 +9569,7 @@
9355
9569
  "immutable": true,
9356
9570
  "locationInModule": {
9357
9571
  "filename": "src/providers/common.ts",
9358
- "line": 404
9572
+ "line": 409
9359
9573
  },
9360
9574
  "name": "image",
9361
9575
  "optional": true,
@@ -9372,7 +9586,7 @@
9372
9586
  "immutable": true,
9373
9587
  "locationInModule": {
9374
9588
  "filename": "src/providers/common.ts",
9375
- "line": 414
9589
+ "line": 419
9376
9590
  },
9377
9591
  "name": "logGroup",
9378
9592
  "optional": true,
@@ -9389,7 +9603,7 @@
9389
9603
  "immutable": true,
9390
9604
  "locationInModule": {
9391
9605
  "filename": "src/providers/common.ts",
9392
- "line": 399
9606
+ "line": 404
9393
9607
  },
9394
9608
  "name": "roleArn",
9395
9609
  "optional": true,
@@ -9406,7 +9620,7 @@
9406
9620
  "immutable": true,
9407
9621
  "locationInModule": {
9408
9622
  "filename": "src/providers/common.ts",
9409
- "line": 394
9623
+ "line": 399
9410
9624
  },
9411
9625
  "name": "securityGroups",
9412
9626
  "optional": true,
@@ -9428,7 +9642,7 @@
9428
9642
  "immutable": true,
9429
9643
  "locationInModule": {
9430
9644
  "filename": "src/providers/common.ts",
9431
- "line": 389
9645
+ "line": 394
9432
9646
  },
9433
9647
  "name": "vpcArn",
9434
9648
  "optional": true,
@@ -9450,7 +9664,7 @@
9450
9664
  "kind": "interface",
9451
9665
  "locationInModule": {
9452
9666
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9453
- "line": 45
9667
+ "line": 43
9454
9668
  },
9455
9669
  "name": "ImageBuilderAsset",
9456
9670
  "properties": [
@@ -9463,7 +9677,7 @@
9463
9677
  "immutable": true,
9464
9678
  "locationInModule": {
9465
9679
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9466
- "line": 54
9680
+ "line": 52
9467
9681
  },
9468
9682
  "name": "asset",
9469
9683
  "type": {
@@ -9479,7 +9693,7 @@
9479
9693
  "immutable": true,
9480
9694
  "locationInModule": {
9481
9695
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9482
- "line": 49
9696
+ "line": 47
9483
9697
  },
9484
9698
  "name": "path",
9485
9699
  "type": {
@@ -9505,7 +9719,7 @@
9505
9719
  },
9506
9720
  "locationInModule": {
9507
9721
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9508
- "line": 128
9722
+ "line": 126
9509
9723
  },
9510
9724
  "parameters": [
9511
9725
  {
@@ -9531,9 +9745,45 @@
9531
9745
  "kind": "class",
9532
9746
  "locationInModule": {
9533
9747
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9534
- "line": 115
9748
+ "line": 113
9535
9749
  },
9536
9750
  "methods": [
9751
+ {
9752
+ "docs": {
9753
+ "stability": "deprecated"
9754
+ },
9755
+ "locationInModule": {
9756
+ "filename": "src/image-builders/aws-image-builder/common.ts",
9757
+ "line": 15
9758
+ },
9759
+ "name": "generateVersion",
9760
+ "parameters": [
9761
+ {
9762
+ "name": "type",
9763
+ "type": {
9764
+ "primitive": "string"
9765
+ }
9766
+ },
9767
+ {
9768
+ "name": "name",
9769
+ "type": {
9770
+ "primitive": "string"
9771
+ }
9772
+ },
9773
+ {
9774
+ "name": "data",
9775
+ "type": {
9776
+ "primitive": "any"
9777
+ }
9778
+ }
9779
+ ],
9780
+ "protected": true,
9781
+ "returns": {
9782
+ "type": {
9783
+ "primitive": "string"
9784
+ }
9785
+ }
9786
+ },
9537
9787
  {
9538
9788
  "docs": {
9539
9789
  "stability": "deprecated",
@@ -9541,7 +9791,7 @@
9541
9791
  },
9542
9792
  "locationInModule": {
9543
9793
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9544
- "line": 230
9794
+ "line": 228
9545
9795
  },
9546
9796
  "name": "grantAssetsRead",
9547
9797
  "parameters": [
@@ -9559,7 +9809,7 @@
9559
9809
  },
9560
9810
  "locationInModule": {
9561
9811
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9562
- "line": 236
9812
+ "line": 234
9563
9813
  },
9564
9814
  "name": "prefixCommandsWithErrorHandling",
9565
9815
  "parameters": [
@@ -9591,42 +9841,6 @@
9591
9841
  }
9592
9842
  }
9593
9843
  }
9594
- },
9595
- {
9596
- "docs": {
9597
- "stability": "deprecated"
9598
- },
9599
- "locationInModule": {
9600
- "filename": "src/image-builders/aws-image-builder/common.ts",
9601
- "line": 15
9602
- },
9603
- "name": "version",
9604
- "parameters": [
9605
- {
9606
- "name": "type",
9607
- "type": {
9608
- "primitive": "string"
9609
- }
9610
- },
9611
- {
9612
- "name": "name",
9613
- "type": {
9614
- "primitive": "string"
9615
- }
9616
- },
9617
- {
9618
- "name": "data",
9619
- "type": {
9620
- "primitive": "any"
9621
- }
9622
- }
9623
- ],
9624
- "protected": true,
9625
- "returns": {
9626
- "type": {
9627
- "primitive": "string"
9628
- }
9629
- }
9630
9844
  }
9631
9845
  ],
9632
9846
  "name": "ImageBuilderComponent",
@@ -9639,7 +9853,7 @@
9639
9853
  "immutable": true,
9640
9854
  "locationInModule": {
9641
9855
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9642
- "line": 119
9856
+ "line": 117
9643
9857
  },
9644
9858
  "name": "arn",
9645
9859
  "type": {
@@ -9654,7 +9868,7 @@
9654
9868
  "immutable": true,
9655
9869
  "locationInModule": {
9656
9870
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9657
- "line": 124
9871
+ "line": 122
9658
9872
  },
9659
9873
  "name": "platform",
9660
9874
  "type": {
@@ -9675,7 +9889,7 @@
9675
9889
  "kind": "interface",
9676
9890
  "locationInModule": {
9677
9891
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9678
- "line": 60
9892
+ "line": 58
9679
9893
  },
9680
9894
  "name": "ImageBuilderComponentProperties",
9681
9895
  "properties": [
@@ -9689,7 +9903,7 @@
9689
9903
  "immutable": true,
9690
9904
  "locationInModule": {
9691
9905
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9692
- "line": 81
9906
+ "line": 79
9693
9907
  },
9694
9908
  "name": "commands",
9695
9909
  "type": {
@@ -9710,7 +9924,7 @@
9710
9924
  "immutable": true,
9711
9925
  "locationInModule": {
9712
9926
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9713
- "line": 74
9927
+ "line": 72
9714
9928
  },
9715
9929
  "name": "description",
9716
9930
  "type": {
@@ -9726,7 +9940,7 @@
9726
9940
  "immutable": true,
9727
9941
  "locationInModule": {
9728
9942
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9729
- "line": 69
9943
+ "line": 67
9730
9944
  },
9731
9945
  "name": "displayName",
9732
9946
  "type": {
@@ -9743,7 +9957,7 @@
9743
9957
  "immutable": true,
9744
9958
  "locationInModule": {
9745
9959
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9746
- "line": 64
9960
+ "line": 62
9747
9961
  },
9748
9962
  "name": "platform",
9749
9963
  "type": {
@@ -9759,7 +9973,7 @@
9759
9973
  "immutable": true,
9760
9974
  "locationInModule": {
9761
9975
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9762
- "line": 86
9976
+ "line": 84
9763
9977
  },
9764
9978
  "name": "assets",
9765
9979
  "optional": true,
@@ -9782,7 +9996,7 @@
9782
9996
  "immutable": true,
9783
9997
  "locationInModule": {
9784
9998
  "filename": "src/image-builders/aws-image-builder/builder.ts",
9785
- "line": 93
9999
+ "line": 91
9786
10000
  },
9787
10001
  "name": "reboot",
9788
10002
  "optional": true,
@@ -9955,7 +10169,7 @@
9955
10169
  },
9956
10170
  "locationInModule": {
9957
10171
  "filename": "src/providers/lambda.ts",
9958
- "line": 229
10172
+ "line": 235
9959
10173
  },
9960
10174
  "parameters": [
9961
10175
  {
@@ -9982,7 +10196,7 @@
9982
10196
  "kind": "class",
9983
10197
  "locationInModule": {
9984
10198
  "filename": "src/providers/lambda.ts",
9985
- "line": 462
10199
+ "line": 468
9986
10200
  },
9987
10201
  "name": "LambdaRunner",
9988
10202
  "symbolId": "src/providers/lambda:LambdaRunner"
@@ -10002,7 +10216,7 @@
10002
10216
  },
10003
10217
  "locationInModule": {
10004
10218
  "filename": "src/providers/lambda.ts",
10005
- "line": 229
10219
+ "line": 235
10006
10220
  },
10007
10221
  "parameters": [
10008
10222
  {
@@ -10037,13 +10251,13 @@
10037
10251
  "methods": [
10038
10252
  {
10039
10253
  "docs": {
10040
- "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`\n * `RunnerImageComponent.lambdaEntrypoint()`\n\n Base Docker image: `public.ecr.aws/lambda/nodejs:16-x86_64` or `public.ecr.aws/lambda/nodejs:16-arm64`",
10254
+ "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Amazon Linux 2 running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`\n * `RunnerImageComponent.lambdaEntrypoint()`\n\n Base Docker image: `public.ecr.aws/lambda/nodejs:20-x86_64` or `public.ecr.aws/lambda/nodejs:20-arm64`",
10041
10255
  "stability": "experimental",
10042
- "summary": "Create new image builder that builds Lambda specific runner images using Amazon Linux 2."
10256
+ "summary": "Create new image builder that builds Lambda specific runner images."
10043
10257
  },
10044
10258
  "locationInModule": {
10045
10259
  "filename": "src/providers/lambda.ts",
10046
- "line": 163
10260
+ "line": 169
10047
10261
  },
10048
10262
  "name": "imageBuilder",
10049
10263
  "parameters": [
@@ -10069,7 +10283,7 @@
10069
10283
  ],
10070
10284
  "returns": {
10071
10285
  "type": {
10072
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
10286
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
10073
10287
  }
10074
10288
  },
10075
10289
  "static": true
@@ -10082,7 +10296,7 @@
10082
10296
  },
10083
10297
  "locationInModule": {
10084
10298
  "filename": "src/providers/lambda.ts",
10085
- "line": 317
10299
+ "line": 323
10086
10300
  },
10087
10301
  "name": "getStepFunctionTask",
10088
10302
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -10111,7 +10325,7 @@
10111
10325
  },
10112
10326
  "locationInModule": {
10113
10327
  "filename": "src/providers/lambda.ts",
10114
- "line": 379
10328
+ "line": 385
10115
10329
  },
10116
10330
  "name": "grantStateMachine",
10117
10331
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -10130,7 +10344,7 @@
10130
10344
  },
10131
10345
  "locationInModule": {
10132
10346
  "filename": "src/providers/common.ts",
10133
- "line": 479
10347
+ "line": 484
10134
10348
  },
10135
10349
  "name": "labelsFromProperties",
10136
10350
  "parameters": [
@@ -10180,7 +10394,7 @@
10180
10394
  },
10181
10395
  "locationInModule": {
10182
10396
  "filename": "src/providers/lambda.ts",
10183
- "line": 382
10397
+ "line": 388
10184
10398
  },
10185
10399
  "name": "status",
10186
10400
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -10247,7 +10461,7 @@
10247
10461
  "immutable": true,
10248
10462
  "locationInModule": {
10249
10463
  "filename": "src/providers/lambda.ts",
10250
- "line": 306
10464
+ "line": 312
10251
10465
  },
10252
10466
  "name": "connections",
10253
10467
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -10263,7 +10477,7 @@
10263
10477
  "immutable": true,
10264
10478
  "locationInModule": {
10265
10479
  "filename": "src/providers/lambda.ts",
10266
- "line": 194
10480
+ "line": 200
10267
10481
  },
10268
10482
  "name": "function",
10269
10483
  "type": {
@@ -10278,7 +10492,7 @@
10278
10492
  "immutable": true,
10279
10493
  "locationInModule": {
10280
10494
  "filename": "src/providers/lambda.ts",
10281
- "line": 204
10495
+ "line": 210
10282
10496
  },
10283
10497
  "name": "grantPrincipal",
10284
10498
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -10295,7 +10509,7 @@
10295
10509
  "immutable": true,
10296
10510
  "locationInModule": {
10297
10511
  "filename": "src/providers/lambda.ts",
10298
- "line": 209
10512
+ "line": 215
10299
10513
  },
10300
10514
  "name": "image",
10301
10515
  "type": {
@@ -10310,7 +10524,7 @@
10310
10524
  "immutable": true,
10311
10525
  "locationInModule": {
10312
10526
  "filename": "src/providers/lambda.ts",
10313
- "line": 199
10527
+ "line": 205
10314
10528
  },
10315
10529
  "name": "labels",
10316
10530
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -10332,7 +10546,7 @@
10332
10546
  "immutable": true,
10333
10547
  "locationInModule": {
10334
10548
  "filename": "src/providers/lambda.ts",
10335
- "line": 216
10549
+ "line": 222
10336
10550
  },
10337
10551
  "name": "logGroup",
10338
10552
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -10348,7 +10562,7 @@
10348
10562
  "immutable": true,
10349
10563
  "locationInModule": {
10350
10564
  "filename": "src/providers/lambda.ts",
10351
- "line": 218
10565
+ "line": 224
10352
10566
  },
10353
10567
  "name": "retryableErrors",
10354
10568
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -11008,7 +11222,7 @@
11008
11222
  },
11009
11223
  "locationInModule": {
11010
11224
  "filename": "src/providers/common.ts",
11011
- "line": 148
11225
+ "line": 153
11012
11226
  },
11013
11227
  "name": "is",
11014
11228
  "parameters": [
@@ -11035,7 +11249,7 @@
11035
11249
  },
11036
11250
  "locationInModule": {
11037
11251
  "filename": "src/providers/common.ts",
11038
- "line": 157
11252
+ "line": 162
11039
11253
  },
11040
11254
  "name": "isIn",
11041
11255
  "parameters": [
@@ -11098,6 +11312,23 @@
11098
11312
  "fqn": "@cloudsnorkel/cdk-github-runners.Os"
11099
11313
  }
11100
11314
  },
11315
+ {
11316
+ "const": true,
11317
+ "docs": {
11318
+ "stability": "experimental",
11319
+ "summary": "Amazon Linux 2023."
11320
+ },
11321
+ "immutable": true,
11322
+ "locationInModule": {
11323
+ "filename": "src/providers/common.ts",
11324
+ "line": 134
11325
+ },
11326
+ "name": "LINUX_AMAZON_2023",
11327
+ "static": true,
11328
+ "type": {
11329
+ "fqn": "@cloudsnorkel/cdk-github-runners.Os"
11330
+ }
11331
+ },
11101
11332
  {
11102
11333
  "const": true,
11103
11334
  "docs": {
@@ -11124,7 +11355,7 @@
11124
11355
  "immutable": true,
11125
11356
  "locationInModule": {
11126
11357
  "filename": "src/providers/common.ts",
11127
- "line": 134
11358
+ "line": 139
11128
11359
  },
11129
11360
  "name": "WINDOWS",
11130
11361
  "static": true,
@@ -11139,7 +11370,7 @@
11139
11370
  "immutable": true,
11140
11371
  "locationInModule": {
11141
11372
  "filename": "src/providers/common.ts",
11142
- "line": 140
11373
+ "line": 145
11143
11374
  },
11144
11375
  "name": "name",
11145
11376
  "type": {
@@ -11161,7 +11392,7 @@
11161
11392
  "kind": "interface",
11162
11393
  "locationInModule": {
11163
11394
  "filename": "src/providers/common.ts",
11164
- "line": 246
11395
+ "line": 251
11165
11396
  },
11166
11397
  "name": "ProviderRetryOptions",
11167
11398
  "properties": [
@@ -11175,7 +11406,7 @@
11175
11406
  "immutable": true,
11176
11407
  "locationInModule": {
11177
11408
  "filename": "src/providers/common.ts",
11178
- "line": 273
11409
+ "line": 278
11179
11410
  },
11180
11411
  "name": "backoffRate",
11181
11412
  "optional": true,
@@ -11194,7 +11425,7 @@
11194
11425
  "immutable": true,
11195
11426
  "locationInModule": {
11196
11427
  "filename": "src/providers/common.ts",
11197
- "line": 259
11428
+ "line": 264
11198
11429
  },
11199
11430
  "name": "interval",
11200
11431
  "optional": true,
@@ -11212,7 +11443,7 @@
11212
11443
  "immutable": true,
11213
11444
  "locationInModule": {
11214
11445
  "filename": "src/providers/common.ts",
11215
- "line": 266
11446
+ "line": 271
11216
11447
  },
11217
11448
  "name": "maxAttempts",
11218
11449
  "optional": true,
@@ -11231,7 +11462,7 @@
11231
11462
  "immutable": true,
11232
11463
  "locationInModule": {
11233
11464
  "filename": "src/providers/common.ts",
11234
- "line": 252
11465
+ "line": 257
11235
11466
  },
11236
11467
  "name": "retry",
11237
11468
  "optional": true,
@@ -11253,7 +11484,7 @@
11253
11484
  "kind": "interface",
11254
11485
  "locationInModule": {
11255
11486
  "filename": "src/providers/common.ts",
11256
- "line": 214
11487
+ "line": 219
11257
11488
  },
11258
11489
  "name": "RunnerAmi",
11259
11490
  "properties": [
@@ -11266,7 +11497,7 @@
11266
11497
  "immutable": true,
11267
11498
  "locationInModule": {
11268
11499
  "filename": "src/providers/common.ts",
11269
- "line": 223
11500
+ "line": 228
11270
11501
  },
11271
11502
  "name": "architecture",
11272
11503
  "type": {
@@ -11282,7 +11513,7 @@
11282
11513
  "immutable": true,
11283
11514
  "locationInModule": {
11284
11515
  "filename": "src/providers/common.ts",
11285
- "line": 218
11516
+ "line": 223
11286
11517
  },
11287
11518
  "name": "launchTemplate",
11288
11519
  "type": {
@@ -11298,7 +11529,7 @@
11298
11529
  "immutable": true,
11299
11530
  "locationInModule": {
11300
11531
  "filename": "src/providers/common.ts",
11301
- "line": 228
11532
+ "line": 233
11302
11533
  },
11303
11534
  "name": "os",
11304
11535
  "type": {
@@ -11315,7 +11546,7 @@
11315
11546
  "immutable": true,
11316
11547
  "locationInModule": {
11317
11548
  "filename": "src/providers/common.ts",
11318
- "line": 240
11549
+ "line": 245
11319
11550
  },
11320
11551
  "name": "runnerVersion",
11321
11552
  "type": {
@@ -11331,7 +11562,7 @@
11331
11562
  "immutable": true,
11332
11563
  "locationInModule": {
11333
11564
  "filename": "src/providers/common.ts",
11334
- "line": 233
11565
+ "line": 238
11335
11566
  },
11336
11567
  "name": "logGroup",
11337
11568
  "optional": true,
@@ -11353,7 +11584,7 @@
11353
11584
  "kind": "interface",
11354
11585
  "locationInModule": {
11355
11586
  "filename": "src/providers/common.ts",
11356
- "line": 170
11587
+ "line": 175
11357
11588
  },
11358
11589
  "name": "RunnerImage",
11359
11590
  "properties": [
@@ -11366,7 +11597,7 @@
11366
11597
  "immutable": true,
11367
11598
  "locationInModule": {
11368
11599
  "filename": "src/providers/common.ts",
11369
- "line": 184
11600
+ "line": 189
11370
11601
  },
11371
11602
  "name": "architecture",
11372
11603
  "type": {
@@ -11382,7 +11613,7 @@
11382
11613
  "immutable": true,
11383
11614
  "locationInModule": {
11384
11615
  "filename": "src/providers/common.ts",
11385
- "line": 174
11616
+ "line": 179
11386
11617
  },
11387
11618
  "name": "imageRepository",
11388
11619
  "type": {
@@ -11398,7 +11629,7 @@
11398
11629
  "immutable": true,
11399
11630
  "locationInModule": {
11400
11631
  "filename": "src/providers/common.ts",
11401
- "line": 179
11632
+ "line": 184
11402
11633
  },
11403
11634
  "name": "imageTag",
11404
11635
  "type": {
@@ -11414,7 +11645,7 @@
11414
11645
  "immutable": true,
11415
11646
  "locationInModule": {
11416
11647
  "filename": "src/providers/common.ts",
11417
- "line": 189
11648
+ "line": 194
11418
11649
  },
11419
11650
  "name": "os",
11420
11651
  "type": {
@@ -11431,7 +11662,7 @@
11431
11662
  "immutable": true,
11432
11663
  "locationInModule": {
11433
11664
  "filename": "src/providers/common.ts",
11434
- "line": 201
11665
+ "line": 206
11435
11666
  },
11436
11667
  "name": "runnerVersion",
11437
11668
  "type": {
@@ -11447,7 +11678,7 @@
11447
11678
  "immutable": true,
11448
11679
  "locationInModule": {
11449
11680
  "filename": "src/providers/common.ts",
11450
- "line": 194
11681
+ "line": 199
11451
11682
  },
11452
11683
  "name": "logGroup",
11453
11684
  "optional": true,
@@ -11525,7 +11756,7 @@
11525
11756
  },
11526
11757
  "locationInModule": {
11527
11758
  "filename": "src/image-builders/common.ts",
11528
- "line": 287
11759
+ "line": 308
11529
11760
  },
11530
11761
  "parameters": [
11531
11762
  {
@@ -11551,9 +11782,7 @@
11551
11782
  "protected": true
11552
11783
  },
11553
11784
  "interfaces": [
11554
- "aws-cdk-lib.aws_ec2.IConnectable",
11555
- "aws-cdk-lib.aws_iam.IGrantable",
11556
- "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
11785
+ "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
11557
11786
  ],
11558
11787
  "kind": "class",
11559
11788
  "locationInModule": {
@@ -11595,7 +11824,7 @@
11595
11824
  ],
11596
11825
  "returns": {
11597
11826
  "type": {
11598
- "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
11827
+ "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
11599
11828
  }
11600
11829
  },
11601
11830
  "static": true
@@ -11608,14 +11837,12 @@
11608
11837
  },
11609
11838
  "locationInModule": {
11610
11839
  "filename": "src/image-builders/common.ts",
11611
- "line": 307
11840
+ "line": 323
11612
11841
  },
11613
11842
  "name": "addComponent",
11843
+ "overrides": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
11614
11844
  "parameters": [
11615
11845
  {
11616
- "docs": {
11617
- "summary": "component to add."
11618
- },
11619
11846
  "name": "component",
11620
11847
  "type": {
11621
11848
  "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
@@ -11632,7 +11859,7 @@
11632
11859
  },
11633
11860
  "locationInModule": {
11634
11861
  "filename": "src/image-builders/common.ts",
11635
- "line": 297
11862
+ "line": 318
11636
11863
  },
11637
11864
  "name": "bindAmi",
11638
11865
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -11651,7 +11878,7 @@
11651
11878
  },
11652
11879
  "locationInModule": {
11653
11880
  "filename": "src/image-builders/common.ts",
11654
- "line": 295
11881
+ "line": 316
11655
11882
  },
11656
11883
  "name": "bindDockerImage",
11657
11884
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
@@ -11669,14 +11896,12 @@
11669
11896
  },
11670
11897
  "locationInModule": {
11671
11898
  "filename": "src/image-builders/common.ts",
11672
- "line": 316
11899
+ "line": 327
11673
11900
  },
11674
11901
  "name": "removeComponent",
11902
+ "overrides": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
11675
11903
  "parameters": [
11676
11904
  {
11677
- "docs": {
11678
- "summary": "component to remove."
11679
- },
11680
11905
  "name": "component",
11681
11906
  "type": {
11682
11907
  "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
@@ -11696,7 +11921,7 @@
11696
11921
  "immutable": true,
11697
11922
  "locationInModule": {
11698
11923
  "filename": "src/image-builders/common.ts",
11699
- "line": 299
11924
+ "line": 320
11700
11925
  },
11701
11926
  "name": "connections",
11702
11927
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -11713,7 +11938,7 @@
11713
11938
  "immutable": true,
11714
11939
  "locationInModule": {
11715
11940
  "filename": "src/image-builders/common.ts",
11716
- "line": 300
11941
+ "line": 321
11717
11942
  },
11718
11943
  "name": "grantPrincipal",
11719
11944
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -11727,7 +11952,7 @@
11727
11952
  },
11728
11953
  "locationInModule": {
11729
11954
  "filename": "src/image-builders/common.ts",
11730
- "line": 285
11955
+ "line": 306
11731
11956
  },
11732
11957
  "name": "components",
11733
11958
  "protected": true,
@@ -12101,7 +12326,7 @@
12101
12326
  },
12102
12327
  "locationInModule": {
12103
12328
  "filename": "src/image-builders/components.ts",
12104
- "line": 148
12329
+ "line": 153
12105
12330
  },
12106
12331
  "name": "awsCli",
12107
12332
  "returns": {
@@ -12145,7 +12370,7 @@
12145
12370
  },
12146
12371
  "locationInModule": {
12147
12372
  "filename": "src/image-builders/components.ts",
12148
- "line": 335
12373
+ "line": 351
12149
12374
  },
12150
12375
  "name": "docker",
12151
12376
  "returns": {
@@ -12163,7 +12388,7 @@
12163
12388
  },
12164
12389
  "locationInModule": {
12165
12390
  "filename": "src/image-builders/components.ts",
12166
- "line": 399
12391
+ "line": 419
12167
12392
  },
12168
12393
  "name": "dockerInDocker",
12169
12394
  "returns": {
@@ -12181,7 +12406,7 @@
12181
12406
  },
12182
12407
  "locationInModule": {
12183
12408
  "filename": "src/image-builders/components.ts",
12184
- "line": 409
12409
+ "line": 429
12185
12410
  },
12186
12411
  "name": "extraCertificates",
12187
12412
  "parameters": [
@@ -12218,7 +12443,7 @@
12218
12443
  },
12219
12444
  "locationInModule": {
12220
12445
  "filename": "src/image-builders/components.ts",
12221
- "line": 222
12446
+ "line": 232
12222
12447
  },
12223
12448
  "name": "git",
12224
12449
  "returns": {
@@ -12235,7 +12460,7 @@
12235
12460
  },
12236
12461
  "locationInModule": {
12237
12462
  "filename": "src/image-builders/components.ts",
12238
- "line": 184
12463
+ "line": 189
12239
12464
  },
12240
12465
  "name": "githubCli",
12241
12466
  "returns": {
@@ -12253,7 +12478,7 @@
12253
12478
  },
12254
12479
  "locationInModule": {
12255
12480
  "filename": "src/image-builders/components.ts",
12256
- "line": 262
12481
+ "line": 276
12257
12482
  },
12258
12483
  "name": "githubRunner",
12259
12484
  "parameters": [
@@ -12282,7 +12507,7 @@
12282
12507
  },
12283
12508
  "locationInModule": {
12284
12509
  "filename": "src/image-builders/components.ts",
12285
- "line": 459
12510
+ "line": 479
12286
12511
  },
12287
12512
  "name": "lambdaEntrypoint",
12288
12513
  "returns": {
@@ -12316,7 +12541,7 @@
12316
12541
  },
12317
12542
  "locationInModule": {
12318
12543
  "filename": "src/image-builders/components.ts",
12319
- "line": 117
12544
+ "line": 122
12320
12545
  },
12321
12546
  "name": "runnerUser",
12322
12547
  "returns": {
@@ -12334,7 +12559,7 @@
12334
12559
  },
12335
12560
  "locationInModule": {
12336
12561
  "filename": "src/image-builders/components.ts",
12337
- "line": 508
12562
+ "line": 528
12338
12563
  },
12339
12564
  "name": "getAssets",
12340
12565
  "parameters": [
@@ -12371,7 +12596,7 @@
12371
12596
  },
12372
12597
  "locationInModule": {
12373
12598
  "filename": "src/image-builders/components.ts",
12374
- "line": 503
12599
+ "line": 523
12375
12600
  },
12376
12601
  "name": "getCommands",
12377
12602
  "parameters": [
@@ -12407,7 +12632,7 @@
12407
12632
  },
12408
12633
  "locationInModule": {
12409
12634
  "filename": "src/image-builders/components.ts",
12410
- "line": 517
12635
+ "line": 537
12411
12636
  },
12412
12637
  "name": "getDockerCommands",
12413
12638
  "parameters": [
@@ -12442,7 +12667,7 @@
12442
12667
  },
12443
12668
  "locationInModule": {
12444
12669
  "filename": "src/image-builders/components.ts",
12445
- "line": 524
12670
+ "line": 544
12446
12671
  },
12447
12672
  "name": "shouldReboot",
12448
12673
  "parameters": [
@@ -12471,14 +12696,14 @@
12471
12696
  {
12472
12697
  "abstract": true,
12473
12698
  "docs": {
12474
- "remarks": "Used to identify component in image build logs, and for {@link RunnerImageBuilder.removeComponent }",
12699
+ "remarks": "Used to identify component in image build logs, and for {@link IConfigurableRunnerImageBuilder.removeComponent }",
12475
12700
  "stability": "experimental",
12476
12701
  "summary": "Component name."
12477
12702
  },
12478
12703
  "immutable": true,
12479
12704
  "locationInModule": {
12480
12705
  "filename": "src/image-builders/components.ts",
12481
- "line": 498
12706
+ "line": 518
12482
12707
  },
12483
12708
  "name": "name",
12484
12709
  "type": {
@@ -12574,7 +12799,7 @@
12574
12799
  "docs": {
12575
12800
  "remarks": "Name must only contain alphanumeric characters and dashes.",
12576
12801
  "stability": "experimental",
12577
- "summary": "Component name used for (1) image build logging and (2) identifier for {@link ImageRunnerBuilder.removeComponent }."
12802
+ "summary": "Component name used for (1) image build logging and (2) identifier for {@link IConfigurableRunnerImageBuilder.removeComponent }."
12578
12803
  },
12579
12804
  "immutable": true,
12580
12805
  "locationInModule": {
@@ -12601,7 +12826,7 @@
12601
12826
  "kind": "interface",
12602
12827
  "locationInModule": {
12603
12828
  "filename": "src/providers/common.ts",
12604
- "line": 279
12829
+ "line": 284
12605
12830
  },
12606
12831
  "name": "RunnerProviderProps",
12607
12832
  "properties": [
@@ -12616,7 +12841,7 @@
12616
12841
  "immutable": true,
12617
12842
  "locationInModule": {
12618
12843
  "filename": "src/providers/common.ts",
12619
- "line": 287
12844
+ "line": 292
12620
12845
  },
12621
12846
  "name": "logRetention",
12622
12847
  "optional": true,
@@ -12633,7 +12858,7 @@
12633
12858
  "immutable": true,
12634
12859
  "locationInModule": {
12635
12860
  "filename": "src/providers/common.ts",
12636
- "line": 292
12861
+ "line": 297
12637
12862
  },
12638
12863
  "name": "retryOptions",
12639
12864
  "optional": true,
@@ -12656,7 +12881,7 @@
12656
12881
  "kind": "interface",
12657
12882
  "locationInModule": {
12658
12883
  "filename": "src/providers/common.ts",
12659
- "line": 304
12884
+ "line": 309
12660
12885
  },
12661
12886
  "name": "RunnerRuntimeParameters",
12662
12887
  "properties": [
@@ -12670,7 +12895,7 @@
12670
12895
  "immutable": true,
12671
12896
  "locationInModule": {
12672
12897
  "filename": "src/providers/common.ts",
12673
- "line": 318
12898
+ "line": 323
12674
12899
  },
12675
12900
  "name": "githubDomainPath",
12676
12901
  "type": {
@@ -12686,7 +12911,7 @@
12686
12911
  "immutable": true,
12687
12912
  "locationInModule": {
12688
12913
  "filename": "src/providers/common.ts",
12689
- "line": 323
12914
+ "line": 328
12690
12915
  },
12691
12916
  "name": "ownerPath",
12692
12917
  "type": {
@@ -12702,7 +12927,7 @@
12702
12927
  "immutable": true,
12703
12928
  "locationInModule": {
12704
12929
  "filename": "src/providers/common.ts",
12705
- "line": 333
12930
+ "line": 338
12706
12931
  },
12707
12932
  "name": "registrationUrl",
12708
12933
  "type": {
@@ -12718,7 +12943,7 @@
12718
12943
  "immutable": true,
12719
12944
  "locationInModule": {
12720
12945
  "filename": "src/providers/common.ts",
12721
- "line": 328
12946
+ "line": 333
12722
12947
  },
12723
12948
  "name": "repoPath",
12724
12949
  "type": {
@@ -12735,7 +12960,7 @@
12735
12960
  "immutable": true,
12736
12961
  "locationInModule": {
12737
12962
  "filename": "src/providers/common.ts",
12738
- "line": 313
12963
+ "line": 318
12739
12964
  },
12740
12965
  "name": "runnerNamePath",
12741
12966
  "type": {
@@ -12751,7 +12976,7 @@
12751
12976
  "immutable": true,
12752
12977
  "locationInModule": {
12753
12978
  "filename": "src/providers/common.ts",
12754
- "line": 308
12979
+ "line": 313
12755
12980
  },
12756
12981
  "name": "runnerTokenPath",
12757
12982
  "type": {
@@ -13378,6 +13603,6 @@
13378
13603
  "symbolId": "src/image-builders/aws-image-builder/deprecated/windows-components:WindowsComponents"
13379
13604
  }
13380
13605
  },
13381
- "version": "0.11.6",
13382
- "fingerprint": "yiA0IekhG5D10PvsSpwCifz1Q4/KDpDWzYjTrw7sE9M="
13606
+ "version": "0.12.1",
13607
+ "fingerprint": "CheUhI+V0IZlwpL7A+EUmqmPDyww42VwOu0X2VOrz/s="
13383
13608
  }