@cloudsnorkel/cdk-github-runners 0.8.2 → 0.8.4

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 (36) hide show
  1. package/.jsii +114 -114
  2. package/API.md +8 -0
  3. package/README.md +20 -3
  4. package/assets/docker-images/lambda/linux-arm64/runner.sh +7 -1
  5. package/assets/docker-images/lambda/linux-x64/runner.sh +7 -1
  6. package/assets/lambdas/aws-image-builder-versioner.lambda/index.js +42 -27
  7. package/assets/lambdas/setup.lambda/index.html +12 -12
  8. package/lib/lambdas/aws-image-builder-versioner-function.js +2 -2
  9. package/lib/lambdas/aws-image-builder-versioner.lambda.js +38 -22
  10. package/lib/lambdas/build-image-function.js +2 -2
  11. package/lib/lambdas/delete-ami-function.js +2 -2
  12. package/lib/lambdas/delete-runner-function.js +2 -2
  13. package/lib/lambdas/setup-function.js +2 -2
  14. package/lib/lambdas/status-function.js +2 -2
  15. package/lib/lambdas/token-retriever-function.js +2 -2
  16. package/lib/lambdas/update-lambda-function.js +2 -2
  17. package/lib/lambdas/webhook-handler-function.js +2 -2
  18. package/lib/providers/codebuild.d.ts +2 -0
  19. package/lib/providers/codebuild.js +4 -4
  20. package/lib/providers/common.js +3 -3
  21. package/lib/providers/ec2.d.ts +2 -0
  22. package/lib/providers/ec2.js +3 -3
  23. package/lib/providers/fargate.d.ts +2 -0
  24. package/lib/providers/fargate.js +4 -4
  25. package/lib/providers/image-builders/ami.js +1 -1
  26. package/lib/providers/image-builders/codebuild.js +3 -3
  27. package/lib/providers/image-builders/common.js +1 -1
  28. package/lib/providers/image-builders/container.js +1 -1
  29. package/lib/providers/image-builders/linux-components.js +1 -1
  30. package/lib/providers/image-builders/static.js +1 -1
  31. package/lib/providers/image-builders/windows-components.js +1 -1
  32. package/lib/providers/lambda.d.ts +2 -0
  33. package/lib/providers/lambda.js +3 -3
  34. package/lib/runner.js +1 -1
  35. package/lib/secrets.js +1 -1
  36. package/package.json +11 -11
package/.jsii CHANGED
@@ -3114,7 +3114,7 @@
3114
3114
  "stability": "experimental"
3115
3115
  },
3116
3116
  "homepage": "https://github.com/CloudSnorkel/cdk-github-runners.git",
3117
- "jsiiVersion": "1.75.0 (build 63bb957)",
3117
+ "jsiiVersion": "1.79.0 (build b22f628)",
3118
3118
  "keywords": [
3119
3119
  "aws",
3120
3120
  "aws-cdk",
@@ -3138,7 +3138,7 @@
3138
3138
  },
3139
3139
  "name": "@cloudsnorkel/cdk-github-runners",
3140
3140
  "readme": {
3141
- "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=java)][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\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 | Lambda |\n|------------------|-------------------|----------------------------|----------------|---------------|\n| **Time limit** | Unlimited | 8 hours | Unlimited | 15 minutes |\n| **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | 1 to 6 |\n| **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | 128mb to 10gb |\n| **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Up to 10gb |\n| **Architecture** | 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 |\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\nYou can also create your own provider by implementing `IRunnerProvider`.\n\n## Installation\n\n1. Confirm you're using CDK v2\n2. Install the appropriate package\n 1. [Python][6]\n ```\n pip install cloudsnorkel.cdk-github-runners\n ```\n 2. [TypeScript or JavaScript][7]\n ```\n npm i @cloudsnorkel/cdk-github-runners\n ```\n 3. [Java][8]\n ```xml\n <dependency>\n <groupId>com.cloudsnorkel</groupId>\n <artifactId>cdk.github.runners</artifactId>\n </dependency>\n ```\n 4. [Go][11]\n ```\n go get github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n ```\n 5. [.NET][12]\n ```\n dotnet add package CloudSnorkel.Cdk.Github.Runners\n ```\n3. Use `GitHubRunners` construct in your code (starting with default arguments is fine)\n4. Deploy your stack\n5. Look for the status command output similar to `aws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json`\n6. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file\n7. 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\n8. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK\n9. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, linux, codebuild]` or similar\n10. 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 CodeBuildRunner(this, 'codebuild runner', {\n label: 'my-codebuild',\n vpc: vpc,\n securityGroup: 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 = new CodeBuildImageBuilder(this, 'image builder', {\n dockerfilePath: FargateRunner.LINUX_X64_DOCKERFILE_PATH,\n runnerVersion: RunnerVersion.specific('2.291.0'),\n rebuildInterval: Duration.days(14),\n});\nmyBuilder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n label: 'customized-fargate',\n vpc: vpc,\n securityGroup: runnerSg,\n imageBuilder: myBuilder,\n});\n\n// create the runner infrastructure\nnew GitHubRunners(stack, '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 must be built with AWS Image Builder.\n\n```typescript\nconst myWindowsBuilder = new ContainerImageBuilder(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(new ImageBuilderComponent(this, 'Ninja Component',\n {\n displayName: 'Ninja',\n description: 'Download and install Ninja build system',\n platform: 'Windows',\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 label: 'customized-windows-fargate',\n vpc: vpc,\n securityGroup: runnerSg,\n imageBuiler: myWindowsBuilder,\n});\n\n// create the runner infrastructure\nnew GitHubRunners(stack, 'runners', {\n providers: [myProvider],\n});\n```\n\n## Architecture\n\n![Architecture diagram](architecture.svg)\n\n## Troubleshooting\n\n1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK\n2. If jobs are stuck on pending:\n 1. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider\n 2. If it happens every time, cancel the job and start it again\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 installation in `github.auth.app.installations`\n6. Check execution details of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`\n 1. Use the details tab to find the specific execution of the provider (Lambda, CodeBuild, Fargate, etc.)\n 2. Every step function execution should be successful, even if the runner action inside it failed\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-action-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://search.maven.org/search?q=g:%22com.cloudsnorkel%22%20AND%20a:%22cdk.github.runners%22\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"
3141
+ "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=java)][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\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 | Lambda |\n|------------------|-------------------|----------------------------|----------------|---------------|\n| **Time limit** | Unlimited | 8 hours | Unlimited | 15 minutes |\n| **vCPUs** | Unlimited | 2, 4, 8, or 72 | 0.25 to 4 | 1 to 6 |\n| **RAM** | Unlimited | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | 128mb to 10gb |\n| **Storage** | Unlimited | 50gb to 824gb | 20gb to 200gb | Up to 10gb |\n| **Architecture** | 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 |\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\nYou can also create your own provider by implementing `IRunnerProvider`.\n\n## Installation\n\n1. Confirm you're using CDK v2\n2. Install the appropriate package\n 1. [Python][6]\n ```\n pip install cloudsnorkel.cdk-github-runners\n ```\n 2. [TypeScript or JavaScript][7]\n ```\n npm i @cloudsnorkel/cdk-github-runners\n ```\n 3. [Java][8]\n ```xml\n <dependency>\n <groupId>com.cloudsnorkel</groupId>\n <artifactId>cdk.github.runners</artifactId>\n </dependency>\n ```\n 4. [Go][11]\n ```\n go get github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n ```\n 5. [.NET][12]\n ```\n dotnet add package CloudSnorkel.Cdk.Github.Runners\n ```\n3. Use `GitHubRunners` construct in your code (starting with default arguments is fine)\n4. Deploy your stack\n5. Look for the status command output similar to `aws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json`\n6. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file\n7. 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\n8. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK\n9. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, linux, codebuild]` or similar\n10. 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 CodeBuildRunner(this, 'codebuild runner', {\n label: 'my-codebuild',\n vpc: vpc,\n securityGroup: 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 = new CodeBuildImageBuilder(this, 'image builder', {\n dockerfilePath: FargateRunner.LINUX_X64_DOCKERFILE_PATH,\n runnerVersion: RunnerVersion.specific('2.291.0'),\n rebuildInterval: Duration.days(14),\n});\nmyBuilder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n label: 'customized-fargate',\n vpc: vpc,\n securityGroup: 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 must be built with AWS Image Builder.\n\n```typescript\nconst myWindowsBuilder = new ContainerImageBuilder(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(new ImageBuilderComponent(this, 'Ninja Component',\n {\n displayName: 'Ninja',\n description: 'Download and install Ninja build system',\n platform: 'Windows',\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 label: 'customized-windows-fargate',\n vpc: vpc,\n securityGroup: runnerSg,\n imageBuidler: myWindowsBuilder,\n});\n\n// create the runner infrastructure\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 CodeBuild runner provider for ARM64 set the `architecture` property for the image builder to `Architecture.ARM64` and use the `LINUX_ARM64_DOCKERFILE_PATH` constant.\n\n```typescript\nnew GitHubRunners(this, 'runners', {\n providers: [\n new FargateRunnerProvider(this, 'fargate runner', {\n labels: ['arm64', 'fargate'],\n imageBuidler: new CodeBuildImageBuilder(this, 'image builder', {\n architecture: Architecture.ARM64,\n os: Os.LINUX,\n dockerfilePath: FargateRunner.LINUX_ARM64_DOCKERFILE_PATH,\n }),\n }),\n ],\n});\n```\n\n## Architecture\n\n![Architecture diagram](architecture.svg)\n\n## Troubleshooting\n\n1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK\n2. If jobs are stuck on pending:\n 1. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider\n 2. If it happens every time, cancel the job and start it again\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 installation in `github.auth.app.installations`\n6. Check execution details of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`\n 1. Use the details tab to find the specific execution of the provider (Lambda, CodeBuild, Fargate, etc.)\n 2. Every step function execution should be successful, even if the runner action inside it failed\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-action-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://search.maven.org/search?q=g:%22com.cloudsnorkel%22%20AND%20a:%22cdk.github.runners%22\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"
3142
3142
  },
3143
3143
  "repository": {
3144
3144
  "type": "git",
@@ -4471,7 +4471,7 @@
4471
4471
  },
4472
4472
  "locationInModule": {
4473
4473
  "filename": "src/providers/codebuild.ts",
4474
- "line": 178
4474
+ "line": 180
4475
4475
  },
4476
4476
  "parameters": [
4477
4477
  {
@@ -4498,7 +4498,7 @@
4498
4498
  "kind": "class",
4499
4499
  "locationInModule": {
4500
4500
  "filename": "src/providers/codebuild.ts",
4501
- "line": 381
4501
+ "line": 383
4502
4502
  },
4503
4503
  "name": "CodeBuildRunner",
4504
4504
  "symbolId": "src/providers/codebuild:CodeBuildRunner"
@@ -4518,7 +4518,7 @@
4518
4518
  },
4519
4519
  "locationInModule": {
4520
4520
  "filename": "src/providers/codebuild.ts",
4521
- "line": 178
4521
+ "line": 180
4522
4522
  },
4523
4523
  "parameters": [
4524
4524
  {
@@ -4548,7 +4548,7 @@
4548
4548
  "kind": "class",
4549
4549
  "locationInModule": {
4550
4550
  "filename": "src/providers/codebuild.ts",
4551
- "line": 120
4551
+ "line": 122
4552
4552
  },
4553
4553
  "methods": [
4554
4554
  {
@@ -4598,7 +4598,7 @@
4598
4598
  },
4599
4599
  "locationInModule": {
4600
4600
  "filename": "src/providers/codebuild.ts",
4601
- "line": 308
4601
+ "line": 310
4602
4602
  },
4603
4603
  "name": "getStepFunctionTask",
4604
4604
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4627,7 +4627,7 @@
4627
4627
  },
4628
4628
  "locationInModule": {
4629
4629
  "filename": "src/providers/codebuild.ts",
4630
- "line": 349
4630
+ "line": 351
4631
4631
  },
4632
4632
  "name": "grantStateMachine",
4633
4633
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4696,7 +4696,7 @@
4696
4696
  },
4697
4697
  "locationInModule": {
4698
4698
  "filename": "src/providers/codebuild.ts",
4699
- "line": 352
4699
+ "line": 354
4700
4700
  },
4701
4701
  "name": "status",
4702
4702
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4727,7 +4727,7 @@
4727
4727
  "immutable": true,
4728
4728
  "locationInModule": {
4729
4729
  "filename": "src/providers/codebuild.ts",
4730
- "line": 145
4730
+ "line": 147
4731
4731
  },
4732
4732
  "name": "LINUX_ARM64_DOCKERFILE_PATH",
4733
4733
  "static": true,
@@ -4745,7 +4745,7 @@
4745
4745
  "immutable": true,
4746
4746
  "locationInModule": {
4747
4747
  "filename": "src/providers/codebuild.ts",
4748
- "line": 132
4748
+ "line": 134
4749
4749
  },
4750
4750
  "name": "LINUX_X64_DOCKERFILE_PATH",
4751
4751
  "static": true,
@@ -4761,7 +4761,7 @@
4761
4761
  "immutable": true,
4762
4762
  "locationInModule": {
4763
4763
  "filename": "src/providers/codebuild.ts",
4764
- "line": 373
4764
+ "line": 375
4765
4765
  },
4766
4766
  "name": "connections",
4767
4767
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -4777,7 +4777,7 @@
4777
4777
  "immutable": true,
4778
4778
  "locationInModule": {
4779
4779
  "filename": "src/providers/codebuild.ts",
4780
- "line": 160
4780
+ "line": 162
4781
4781
  },
4782
4782
  "name": "grantPrincipal",
4783
4783
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -4794,7 +4794,7 @@
4794
4794
  "immutable": true,
4795
4795
  "locationInModule": {
4796
4796
  "filename": "src/providers/codebuild.ts",
4797
- "line": 165
4797
+ "line": 167
4798
4798
  },
4799
4799
  "name": "image",
4800
4800
  "type": {
@@ -4809,7 +4809,7 @@
4809
4809
  "immutable": true,
4810
4810
  "locationInModule": {
4811
4811
  "filename": "src/providers/codebuild.ts",
4812
- "line": 155
4812
+ "line": 157
4813
4813
  },
4814
4814
  "name": "labels",
4815
4815
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4831,7 +4831,7 @@
4831
4831
  "immutable": true,
4832
4832
  "locationInModule": {
4833
4833
  "filename": "src/providers/codebuild.ts",
4834
- "line": 172
4834
+ "line": 174
4835
4835
  },
4836
4836
  "name": "logGroup",
4837
4837
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -4847,7 +4847,7 @@
4847
4847
  "immutable": true,
4848
4848
  "locationInModule": {
4849
4849
  "filename": "src/providers/codebuild.ts",
4850
- "line": 150
4850
+ "line": 152
4851
4851
  },
4852
4852
  "name": "project",
4853
4853
  "type": {
@@ -4885,7 +4885,7 @@
4885
4885
  "immutable": true,
4886
4886
  "locationInModule": {
4887
4887
  "filename": "src/providers/codebuild.ts",
4888
- "line": 93
4888
+ "line": 95
4889
4889
  },
4890
4890
  "name": "computeType",
4891
4891
  "optional": true,
@@ -4904,7 +4904,7 @@
4904
4904
  "immutable": true,
4905
4905
  "locationInModule": {
4906
4906
  "filename": "src/providers/codebuild.ts",
4907
- "line": 110
4907
+ "line": 112
4908
4908
  },
4909
4909
  "name": "dockerInDocker",
4910
4910
  "optional": true,
@@ -4916,14 +4916,14 @@
4916
4916
  "abstract": true,
4917
4917
  "docs": {
4918
4918
  "default": "image builder with `CodeBuildRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile",
4919
- "remarks": "A user named `runner` is expected to exist with access to Docker-in-Docker.",
4919
+ "remarks": "A user named `runner` is expected to exist with access to Docker-in-Docker.\n\nThe image builder determines the OS and architecture of the runner.",
4920
4920
  "stability": "experimental",
4921
4921
  "summary": "Image builder for CodeBuild image with GitHub runner pre-configured."
4922
4922
  },
4923
4923
  "immutable": true,
4924
4924
  "locationInModule": {
4925
4925
  "filename": "src/providers/codebuild.ts",
4926
- "line": 36
4926
+ "line": 38
4927
4927
  },
4928
4928
  "name": "imageBuilder",
4929
4929
  "optional": true,
@@ -4942,7 +4942,7 @@
4942
4942
  "immutable": true,
4943
4943
  "locationInModule": {
4944
4944
  "filename": "src/providers/codebuild.ts",
4945
- "line": 44
4945
+ "line": 46
4946
4946
  },
4947
4947
  "name": "label",
4948
4948
  "optional": true,
@@ -4961,7 +4961,7 @@
4961
4961
  "immutable": true,
4962
4962
  "locationInModule": {
4963
4963
  "filename": "src/providers/codebuild.ts",
4964
- "line": 55
4964
+ "line": 57
4965
4965
  },
4966
4966
  "name": "labels",
4967
4967
  "optional": true,
@@ -4985,7 +4985,7 @@
4985
4985
  "immutable": true,
4986
4986
  "locationInModule": {
4987
4987
  "filename": "src/providers/codebuild.ts",
4988
- "line": 71
4988
+ "line": 73
4989
4989
  },
4990
4990
  "name": "securityGroup",
4991
4991
  "optional": true,
@@ -5003,7 +5003,7 @@
5003
5003
  "immutable": true,
5004
5004
  "locationInModule": {
5005
5005
  "filename": "src/providers/codebuild.ts",
5006
- "line": 78
5006
+ "line": 80
5007
5007
  },
5008
5008
  "name": "securityGroups",
5009
5009
  "optional": true,
@@ -5026,7 +5026,7 @@
5026
5026
  "immutable": true,
5027
5027
  "locationInModule": {
5028
5028
  "filename": "src/providers/codebuild.ts",
5029
- "line": 85
5029
+ "line": 87
5030
5030
  },
5031
5031
  "name": "subnetSelection",
5032
5032
  "optional": true,
@@ -5045,7 +5045,7 @@
5045
5045
  "immutable": true,
5046
5046
  "locationInModule": {
5047
5047
  "filename": "src/providers/codebuild.ts",
5048
- "line": 102
5048
+ "line": 104
5049
5049
  },
5050
5050
  "name": "timeout",
5051
5051
  "optional": true,
@@ -5063,7 +5063,7 @@
5063
5063
  "immutable": true,
5064
5064
  "locationInModule": {
5065
5065
  "filename": "src/providers/codebuild.ts",
5066
- "line": 62
5066
+ "line": 64
5067
5067
  },
5068
5068
  "name": "vpc",
5069
5069
  "optional": true,
@@ -5743,7 +5743,7 @@
5743
5743
  },
5744
5744
  "locationInModule": {
5745
5745
  "filename": "src/providers/ec2.ts",
5746
- "line": 252
5746
+ "line": 254
5747
5747
  },
5748
5748
  "parameters": [
5749
5749
  {
@@ -5770,7 +5770,7 @@
5770
5770
  "kind": "class",
5771
5771
  "locationInModule": {
5772
5772
  "filename": "src/providers/ec2.ts",
5773
- "line": 469
5773
+ "line": 471
5774
5774
  },
5775
5775
  "name": "Ec2Runner",
5776
5776
  "symbolId": "src/providers/ec2:Ec2Runner"
@@ -5790,7 +5790,7 @@
5790
5790
  },
5791
5791
  "locationInModule": {
5792
5792
  "filename": "src/providers/ec2.ts",
5793
- "line": 252
5793
+ "line": 254
5794
5794
  },
5795
5795
  "parameters": [
5796
5796
  {
@@ -5820,7 +5820,7 @@
5820
5820
  "kind": "class",
5821
5821
  "locationInModule": {
5822
5822
  "filename": "src/providers/ec2.ts",
5823
- "line": 224
5823
+ "line": 226
5824
5824
  },
5825
5825
  "methods": [
5826
5826
  {
@@ -5870,7 +5870,7 @@
5870
5870
  },
5871
5871
  "locationInModule": {
5872
5872
  "filename": "src/providers/ec2.ts",
5873
- "line": 304
5873
+ "line": 306
5874
5874
  },
5875
5875
  "name": "getStepFunctionTask",
5876
5876
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5899,7 +5899,7 @@
5899
5899
  },
5900
5900
  "locationInModule": {
5901
5901
  "filename": "src/providers/ec2.ts",
5902
- "line": 409
5902
+ "line": 411
5903
5903
  },
5904
5904
  "name": "grantStateMachine",
5905
5905
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5968,7 +5968,7 @@
5968
5968
  },
5969
5969
  "locationInModule": {
5970
5970
  "filename": "src/providers/ec2.ts",
5971
- "line": 439
5971
+ "line": 441
5972
5972
  },
5973
5973
  "name": "status",
5974
5974
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -5997,7 +5997,7 @@
5997
5997
  "immutable": true,
5998
5998
  "locationInModule": {
5999
5999
  "filename": "src/providers/ec2.ts",
6000
- "line": 461
6000
+ "line": 463
6001
6001
  },
6002
6002
  "name": "connections",
6003
6003
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -6013,7 +6013,7 @@
6013
6013
  "immutable": true,
6014
6014
  "locationInModule": {
6015
6015
  "filename": "src/providers/ec2.ts",
6016
- "line": 233
6016
+ "line": 235
6017
6017
  },
6018
6018
  "name": "grantPrincipal",
6019
6019
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -6029,7 +6029,7 @@
6029
6029
  "immutable": true,
6030
6030
  "locationInModule": {
6031
6031
  "filename": "src/providers/ec2.ts",
6032
- "line": 228
6032
+ "line": 230
6033
6033
  },
6034
6034
  "name": "labels",
6035
6035
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6051,7 +6051,7 @@
6051
6051
  "immutable": true,
6052
6052
  "locationInModule": {
6053
6053
  "filename": "src/providers/ec2.ts",
6054
- "line": 240
6054
+ "line": 242
6055
6055
  },
6056
6056
  "name": "logGroup",
6057
6057
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6084,14 +6084,14 @@
6084
6084
  "abstract": true,
6085
6085
  "docs": {
6086
6086
  "default": "AMI builder for Ubuntu Linux on the same subnet as configured by {@link vpc} and {@link subnetSelection}",
6087
- "remarks": "On Linux, a user named `runner` is expected to exist with access to Docker.",
6087
+ "remarks": "On Linux, a user named `runner` is expected to exist with access to Docker.\n\nThe AMI builder determines the OS and architecture of the runner.",
6088
6088
  "stability": "experimental",
6089
6089
  "summary": "AMI builder that creates AMIs with GitHub runner pre-configured."
6090
6090
  },
6091
6091
  "immutable": true,
6092
6092
  "locationInModule": {
6093
6093
  "filename": "src/providers/ec2.ts",
6094
- "line": 138
6094
+ "line": 140
6095
6095
  },
6096
6096
  "name": "amiBuilder",
6097
6097
  "optional": true,
@@ -6109,7 +6109,7 @@
6109
6109
  "immutable": true,
6110
6110
  "locationInModule": {
6111
6111
  "filename": "src/providers/ec2.ts",
6112
- "line": 156
6112
+ "line": 158
6113
6113
  },
6114
6114
  "name": "instanceType",
6115
6115
  "optional": true,
@@ -6128,7 +6128,7 @@
6128
6128
  "immutable": true,
6129
6129
  "locationInModule": {
6130
6130
  "filename": "src/providers/ec2.ts",
6131
- "line": 149
6131
+ "line": 151
6132
6132
  },
6133
6133
  "name": "labels",
6134
6134
  "optional": true,
@@ -6152,7 +6152,7 @@
6152
6152
  "immutable": true,
6153
6153
  "locationInModule": {
6154
6154
  "filename": "src/providers/ec2.ts",
6155
- "line": 172
6155
+ "line": 174
6156
6156
  },
6157
6157
  "name": "securityGroup",
6158
6158
  "optional": true,
@@ -6170,7 +6170,7 @@
6170
6170
  "immutable": true,
6171
6171
  "locationInModule": {
6172
6172
  "filename": "src/providers/ec2.ts",
6173
- "line": 179
6173
+ "line": 181
6174
6174
  },
6175
6175
  "name": "securityGroups",
6176
6176
  "optional": true,
@@ -6194,7 +6194,7 @@
6194
6194
  "immutable": true,
6195
6195
  "locationInModule": {
6196
6196
  "filename": "src/providers/ec2.ts",
6197
- "line": 209
6197
+ "line": 211
6198
6198
  },
6199
6199
  "name": "spot",
6200
6200
  "optional": true,
@@ -6212,7 +6212,7 @@
6212
6212
  "immutable": true,
6213
6213
  "locationInModule": {
6214
6214
  "filename": "src/providers/ec2.ts",
6215
- "line": 216
6215
+ "line": 218
6216
6216
  },
6217
6217
  "name": "spotMaxPrice",
6218
6218
  "optional": true,
@@ -6231,7 +6231,7 @@
6231
6231
  "immutable": true,
6232
6232
  "locationInModule": {
6233
6233
  "filename": "src/providers/ec2.ts",
6234
- "line": 163
6234
+ "line": 165
6235
6235
  },
6236
6236
  "name": "storageSize",
6237
6237
  "optional": true,
@@ -6250,7 +6250,7 @@
6250
6250
  "immutable": true,
6251
6251
  "locationInModule": {
6252
6252
  "filename": "src/providers/ec2.ts",
6253
- "line": 188
6253
+ "line": 190
6254
6254
  },
6255
6255
  "name": "subnet",
6256
6256
  "optional": true,
@@ -6269,7 +6269,7 @@
6269
6269
  "immutable": true,
6270
6270
  "locationInModule": {
6271
6271
  "filename": "src/providers/ec2.ts",
6272
- "line": 202
6272
+ "line": 204
6273
6273
  },
6274
6274
  "name": "subnetSelection",
6275
6275
  "optional": true,
@@ -6287,7 +6287,7 @@
6287
6287
  "immutable": true,
6288
6288
  "locationInModule": {
6289
6289
  "filename": "src/providers/ec2.ts",
6290
- "line": 195
6290
+ "line": 197
6291
6291
  },
6292
6292
  "name": "vpc",
6293
6293
  "optional": true,
@@ -6312,7 +6312,7 @@
6312
6312
  },
6313
6313
  "locationInModule": {
6314
6314
  "filename": "src/providers/fargate.ts",
6315
- "line": 288
6315
+ "line": 290
6316
6316
  },
6317
6317
  "parameters": [
6318
6318
  {
@@ -6339,7 +6339,7 @@
6339
6339
  "kind": "class",
6340
6340
  "locationInModule": {
6341
6341
  "filename": "src/providers/fargate.ts",
6342
- "line": 479
6342
+ "line": 481
6343
6343
  },
6344
6344
  "name": "FargateRunner",
6345
6345
  "symbolId": "src/providers/fargate:FargateRunner"
@@ -6359,7 +6359,7 @@
6359
6359
  },
6360
6360
  "locationInModule": {
6361
6361
  "filename": "src/providers/fargate.ts",
6362
- "line": 288
6362
+ "line": 290
6363
6363
  },
6364
6364
  "parameters": [
6365
6365
  {
@@ -6389,7 +6389,7 @@
6389
6389
  "kind": "class",
6390
6390
  "locationInModule": {
6391
6391
  "filename": "src/providers/fargate.ts",
6392
- "line": 205
6392
+ "line": 207
6393
6393
  },
6394
6394
  "methods": [
6395
6395
  {
@@ -6439,7 +6439,7 @@
6439
6439
  },
6440
6440
  "locationInModule": {
6441
6441
  "filename": "src/providers/fargate.ts",
6442
- "line": 373
6442
+ "line": 375
6443
6443
  },
6444
6444
  "name": "getStepFunctionTask",
6445
6445
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6468,7 +6468,7 @@
6468
6468
  },
6469
6469
  "locationInModule": {
6470
6470
  "filename": "src/providers/fargate.ts",
6471
- "line": 427
6471
+ "line": 429
6472
6472
  },
6473
6473
  "name": "grantStateMachine",
6474
6474
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6537,7 +6537,7 @@
6537
6537
  },
6538
6538
  "locationInModule": {
6539
6539
  "filename": "src/providers/fargate.ts",
6540
- "line": 430
6540
+ "line": 432
6541
6541
  },
6542
6542
  "name": "status",
6543
6543
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6568,7 +6568,7 @@
6568
6568
  "immutable": true,
6569
6569
  "locationInModule": {
6570
6570
  "filename": "src/providers/fargate.ts",
6571
- "line": 222
6571
+ "line": 224
6572
6572
  },
6573
6573
  "name": "LINUX_ARM64_DOCKERFILE_PATH",
6574
6574
  "static": true,
@@ -6586,7 +6586,7 @@
6586
6586
  "immutable": true,
6587
6587
  "locationInModule": {
6588
6588
  "filename": "src/providers/fargate.ts",
6589
- "line": 213
6589
+ "line": 215
6590
6590
  },
6591
6591
  "name": "LINUX_X64_DOCKERFILE_PATH",
6592
6592
  "static": true,
@@ -6602,7 +6602,7 @@
6602
6602
  "immutable": true,
6603
6603
  "locationInModule": {
6604
6604
  "filename": "src/providers/fargate.ts",
6605
- "line": 257
6605
+ "line": 259
6606
6606
  },
6607
6607
  "name": "assignPublicIp",
6608
6608
  "type": {
@@ -6617,7 +6617,7 @@
6617
6617
  "immutable": true,
6618
6618
  "locationInModule": {
6619
6619
  "filename": "src/providers/fargate.ts",
6620
- "line": 227
6620
+ "line": 229
6621
6621
  },
6622
6622
  "name": "cluster",
6623
6623
  "type": {
@@ -6632,7 +6632,7 @@
6632
6632
  "immutable": true,
6633
6633
  "locationInModule": {
6634
6634
  "filename": "src/providers/fargate.ts",
6635
- "line": 267
6635
+ "line": 269
6636
6636
  },
6637
6637
  "name": "connections",
6638
6638
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -6648,7 +6648,7 @@
6648
6648
  "immutable": true,
6649
6649
  "locationInModule": {
6650
6650
  "filename": "src/providers/fargate.ts",
6651
- "line": 237
6651
+ "line": 239
6652
6652
  },
6653
6653
  "name": "container",
6654
6654
  "type": {
@@ -6663,7 +6663,7 @@
6663
6663
  "immutable": true,
6664
6664
  "locationInModule": {
6665
6665
  "filename": "src/providers/fargate.ts",
6666
- "line": 262
6666
+ "line": 264
6667
6667
  },
6668
6668
  "name": "grantPrincipal",
6669
6669
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -6680,7 +6680,7 @@
6680
6680
  "immutable": true,
6681
6681
  "locationInModule": {
6682
6682
  "filename": "src/providers/fargate.ts",
6683
- "line": 277
6683
+ "line": 279
6684
6684
  },
6685
6685
  "name": "image",
6686
6686
  "type": {
@@ -6695,7 +6695,7 @@
6695
6695
  "immutable": true,
6696
6696
  "locationInModule": {
6697
6697
  "filename": "src/providers/fargate.ts",
6698
- "line": 242
6698
+ "line": 244
6699
6699
  },
6700
6700
  "name": "labels",
6701
6701
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6717,7 +6717,7 @@
6717
6717
  "immutable": true,
6718
6718
  "locationInModule": {
6719
6719
  "filename": "src/providers/fargate.ts",
6720
- "line": 284
6720
+ "line": 286
6721
6721
  },
6722
6722
  "name": "logGroup",
6723
6723
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -6733,7 +6733,7 @@
6733
6733
  "immutable": true,
6734
6734
  "locationInModule": {
6735
6735
  "filename": "src/providers/fargate.ts",
6736
- "line": 272
6736
+ "line": 274
6737
6737
  },
6738
6738
  "name": "spot",
6739
6739
  "type": {
@@ -6748,7 +6748,7 @@
6748
6748
  "immutable": true,
6749
6749
  "locationInModule": {
6750
6750
  "filename": "src/providers/fargate.ts",
6751
- "line": 232
6751
+ "line": 234
6752
6752
  },
6753
6753
  "name": "task",
6754
6754
  "type": {
@@ -6763,7 +6763,7 @@
6763
6763
  "immutable": true,
6764
6764
  "locationInModule": {
6765
6765
  "filename": "src/providers/fargate.ts",
6766
- "line": 252
6766
+ "line": 254
6767
6767
  },
6768
6768
  "name": "subnetSelection",
6769
6769
  "optional": true,
@@ -6779,7 +6779,7 @@
6779
6779
  "immutable": true,
6780
6780
  "locationInModule": {
6781
6781
  "filename": "src/providers/fargate.ts",
6782
- "line": 247
6782
+ "line": 249
6783
6783
  },
6784
6784
  "name": "vpc",
6785
6785
  "optional": true,
@@ -6819,7 +6819,7 @@
6819
6819
  "immutable": true,
6820
6820
  "locationInModule": {
6821
6821
  "filename": "src/providers/fargate.ts",
6822
- "line": 102
6822
+ "line": 104
6823
6823
  },
6824
6824
  "name": "assignPublicIp",
6825
6825
  "optional": true,
@@ -6837,7 +6837,7 @@
6837
6837
  "immutable": true,
6838
6838
  "locationInModule": {
6839
6839
  "filename": "src/providers/fargate.ts",
6840
- "line": 93
6840
+ "line": 95
6841
6841
  },
6842
6842
  "name": "cluster",
6843
6843
  "optional": true,
@@ -6856,7 +6856,7 @@
6856
6856
  "immutable": true,
6857
6857
  "locationInModule": {
6858
6858
  "filename": "src/providers/fargate.ts",
6859
- "line": 121
6859
+ "line": 123
6860
6860
  },
6861
6861
  "name": "cpu",
6862
6862
  "optional": true,
@@ -6875,7 +6875,7 @@
6875
6875
  "immutable": true,
6876
6876
  "locationInModule": {
6877
6877
  "filename": "src/providers/fargate.ts",
6878
- "line": 148
6878
+ "line": 150
6879
6879
  },
6880
6880
  "name": "ephemeralStorageGiB",
6881
6881
  "optional": true,
@@ -6887,14 +6887,14 @@
6887
6887
  "abstract": true,
6888
6888
  "docs": {
6889
6889
  "default": "image builder with `FargateRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile",
6890
- "remarks": "A user named `runner` is expected to exist.",
6890
+ "remarks": "A user named `runner` is expected to exist.\n\nThe image builder determines the OS and architecture of the runner.",
6891
6891
  "stability": "experimental",
6892
6892
  "summary": "Provider running an image to run inside CodeBuild with GitHub runner pre-configured."
6893
6893
  },
6894
6894
  "immutable": true,
6895
6895
  "locationInModule": {
6896
6896
  "filename": "src/providers/fargate.ts",
6897
- "line": 37
6897
+ "line": 39
6898
6898
  },
6899
6899
  "name": "imageBuilder",
6900
6900
  "optional": true,
@@ -6913,7 +6913,7 @@
6913
6913
  "immutable": true,
6914
6914
  "locationInModule": {
6915
6915
  "filename": "src/providers/fargate.ts",
6916
- "line": 45
6916
+ "line": 47
6917
6917
  },
6918
6918
  "name": "label",
6919
6919
  "optional": true,
@@ -6932,7 +6932,7 @@
6932
6932
  "immutable": true,
6933
6933
  "locationInModule": {
6934
6934
  "filename": "src/providers/fargate.ts",
6935
- "line": 56
6935
+ "line": 58
6936
6936
  },
6937
6937
  "name": "labels",
6938
6938
  "optional": true,
@@ -6956,7 +6956,7 @@
6956
6956
  "immutable": true,
6957
6957
  "locationInModule": {
6958
6958
  "filename": "src/providers/fargate.ts",
6959
- "line": 139
6959
+ "line": 141
6960
6960
  },
6961
6961
  "name": "memoryLimitMiB",
6962
6962
  "optional": true,
@@ -6975,7 +6975,7 @@
6975
6975
  "immutable": true,
6976
6976
  "locationInModule": {
6977
6977
  "filename": "src/providers/fargate.ts",
6978
- "line": 79
6978
+ "line": 81
6979
6979
  },
6980
6980
  "name": "securityGroup",
6981
6981
  "optional": true,
@@ -6993,7 +6993,7 @@
6993
6993
  "immutable": true,
6994
6994
  "locationInModule": {
6995
6995
  "filename": "src/providers/fargate.ts",
6996
- "line": 86
6996
+ "line": 88
6997
6997
  },
6998
6998
  "name": "securityGroups",
6999
6999
  "optional": true,
@@ -7017,7 +7017,7 @@
7017
7017
  "immutable": true,
7018
7018
  "locationInModule": {
7019
7019
  "filename": "src/providers/fargate.ts",
7020
- "line": 158
7020
+ "line": 160
7021
7021
  },
7022
7022
  "name": "spot",
7023
7023
  "optional": true,
@@ -7035,7 +7035,7 @@
7035
7035
  "immutable": true,
7036
7036
  "locationInModule": {
7037
7037
  "filename": "src/providers/fargate.ts",
7038
- "line": 70
7038
+ "line": 72
7039
7039
  },
7040
7040
  "name": "subnetSelection",
7041
7041
  "optional": true,
@@ -7053,7 +7053,7 @@
7053
7053
  "immutable": true,
7054
7054
  "locationInModule": {
7055
7055
  "filename": "src/providers/fargate.ts",
7056
- "line": 63
7056
+ "line": 65
7057
7057
  },
7058
7058
  "name": "vpc",
7059
7059
  "optional": true,
@@ -8246,7 +8246,7 @@
8246
8246
  },
8247
8247
  "locationInModule": {
8248
8248
  "filename": "src/providers/lambda.ts",
8249
- "line": 174
8249
+ "line": 176
8250
8250
  },
8251
8251
  "parameters": [
8252
8252
  {
@@ -8273,7 +8273,7 @@
8273
8273
  "kind": "class",
8274
8274
  "locationInModule": {
8275
8275
  "filename": "src/providers/lambda.ts",
8276
- "line": 400
8276
+ "line": 402
8277
8277
  },
8278
8278
  "name": "LambdaRunner",
8279
8279
  "symbolId": "src/providers/lambda:LambdaRunner"
@@ -8293,7 +8293,7 @@
8293
8293
  },
8294
8294
  "locationInModule": {
8295
8295
  "filename": "src/providers/lambda.ts",
8296
- "line": 174
8296
+ "line": 176
8297
8297
  },
8298
8298
  "parameters": [
8299
8299
  {
@@ -8323,7 +8323,7 @@
8323
8323
  "kind": "class",
8324
8324
  "locationInModule": {
8325
8325
  "filename": "src/providers/lambda.ts",
8326
- "line": 125
8326
+ "line": 127
8327
8327
  },
8328
8328
  "methods": [
8329
8329
  {
@@ -8373,7 +8373,7 @@
8373
8373
  },
8374
8374
  "locationInModule": {
8375
8375
  "filename": "src/providers/lambda.ts",
8376
- "line": 255
8376
+ "line": 257
8377
8377
  },
8378
8378
  "name": "getStepFunctionTask",
8379
8379
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8402,7 +8402,7 @@
8402
8402
  },
8403
8403
  "locationInModule": {
8404
8404
  "filename": "src/providers/lambda.ts",
8405
- "line": 318
8405
+ "line": 320
8406
8406
  },
8407
8407
  "name": "grantStateMachine",
8408
8408
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8471,7 +8471,7 @@
8471
8471
  },
8472
8472
  "locationInModule": {
8473
8473
  "filename": "src/providers/lambda.ts",
8474
- "line": 321
8474
+ "line": 323
8475
8475
  },
8476
8476
  "name": "status",
8477
8477
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8502,7 +8502,7 @@
8502
8502
  "immutable": true,
8503
8503
  "locationInModule": {
8504
8504
  "filename": "src/providers/lambda.ts",
8505
- "line": 142
8505
+ "line": 144
8506
8506
  },
8507
8507
  "name": "LINUX_ARM64_DOCKERFILE_PATH",
8508
8508
  "static": true,
@@ -8520,7 +8520,7 @@
8520
8520
  "immutable": true,
8521
8521
  "locationInModule": {
8522
8522
  "filename": "src/providers/lambda.ts",
8523
- "line": 133
8523
+ "line": 135
8524
8524
  },
8525
8525
  "name": "LINUX_X64_DOCKERFILE_PATH",
8526
8526
  "static": true,
@@ -8536,7 +8536,7 @@
8536
8536
  "immutable": true,
8537
8537
  "locationInModule": {
8538
8538
  "filename": "src/providers/lambda.ts",
8539
- "line": 244
8539
+ "line": 246
8540
8540
  },
8541
8541
  "name": "connections",
8542
8542
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -8552,7 +8552,7 @@
8552
8552
  "immutable": true,
8553
8553
  "locationInModule": {
8554
8554
  "filename": "src/providers/lambda.ts",
8555
- "line": 147
8555
+ "line": 149
8556
8556
  },
8557
8557
  "name": "function",
8558
8558
  "type": {
@@ -8567,7 +8567,7 @@
8567
8567
  "immutable": true,
8568
8568
  "locationInModule": {
8569
8569
  "filename": "src/providers/lambda.ts",
8570
- "line": 157
8570
+ "line": 159
8571
8571
  },
8572
8572
  "name": "grantPrincipal",
8573
8573
  "overrides": "aws-cdk-lib.aws_iam.IGrantable",
@@ -8584,7 +8584,7 @@
8584
8584
  "immutable": true,
8585
8585
  "locationInModule": {
8586
8586
  "filename": "src/providers/lambda.ts",
8587
- "line": 162
8587
+ "line": 164
8588
8588
  },
8589
8589
  "name": "image",
8590
8590
  "type": {
@@ -8599,7 +8599,7 @@
8599
8599
  "immutable": true,
8600
8600
  "locationInModule": {
8601
8601
  "filename": "src/providers/lambda.ts",
8602
- "line": 152
8602
+ "line": 154
8603
8603
  },
8604
8604
  "name": "labels",
8605
8605
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8621,7 +8621,7 @@
8621
8621
  "immutable": true,
8622
8622
  "locationInModule": {
8623
8623
  "filename": "src/providers/lambda.ts",
8624
- "line": 169
8624
+ "line": 171
8625
8625
  },
8626
8626
  "name": "logGroup",
8627
8627
  "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
@@ -8659,7 +8659,7 @@
8659
8659
  "immutable": true,
8660
8660
  "locationInModule": {
8661
8661
  "filename": "src/providers/lambda.ts",
8662
- "line": 76
8662
+ "line": 78
8663
8663
  },
8664
8664
  "name": "ephemeralStorageSize",
8665
8665
  "optional": true,
@@ -8671,7 +8671,7 @@
8671
8671
  "abstract": true,
8672
8672
  "docs": {
8673
8673
  "default": "image builder with LambdaRunner.LINUX_X64_DOCKERFILE_PATH as Dockerfile",
8674
- "remarks": "The default command (`CMD`) should be `[\"runner.handler\"]` which points to an included `runner.js` with a function named `handler`. The function should start the GitHub runner.",
8674
+ "remarks": "The default command (`CMD`) should be `[\"runner.handler\"]` which points to an included `runner.js` with a function named `handler`. The function should start the GitHub runner.\n\nThe image builder determines the OS and architecture of the runner.",
8675
8675
  "see": "https://github.com/CloudSnorkel/cdk-github-runners/tree/main/src/providers/docker-images/lambda",
8676
8676
  "stability": "experimental",
8677
8677
  "summary": "Provider running an image to run inside CodeBuild with GitHub runner pre-configured."
@@ -8679,7 +8679,7 @@
8679
8679
  "immutable": true,
8680
8680
  "locationInModule": {
8681
8681
  "filename": "src/providers/lambda.ts",
8682
- "line": 40
8682
+ "line": 42
8683
8683
  },
8684
8684
  "name": "imageBuilder",
8685
8685
  "optional": true,
@@ -8698,7 +8698,7 @@
8698
8698
  "immutable": true,
8699
8699
  "locationInModule": {
8700
8700
  "filename": "src/providers/lambda.ts",
8701
- "line": 48
8701
+ "line": 50
8702
8702
  },
8703
8703
  "name": "label",
8704
8704
  "optional": true,
@@ -8717,7 +8717,7 @@
8717
8717
  "immutable": true,
8718
8718
  "locationInModule": {
8719
8719
  "filename": "src/providers/lambda.ts",
8720
- "line": 59
8720
+ "line": 61
8721
8721
  },
8722
8722
  "name": "labels",
8723
8723
  "optional": true,
@@ -8741,7 +8741,7 @@
8741
8741
  "immutable": true,
8742
8742
  "locationInModule": {
8743
8743
  "filename": "src/providers/lambda.ts",
8744
- "line": 69
8744
+ "line": 71
8745
8745
  },
8746
8746
  "name": "memorySize",
8747
8747
  "optional": true,
@@ -8760,7 +8760,7 @@
8760
8760
  "immutable": true,
8761
8761
  "locationInModule": {
8762
8762
  "filename": "src/providers/lambda.ts",
8763
- "line": 101
8763
+ "line": 103
8764
8764
  },
8765
8765
  "name": "securityGroup",
8766
8766
  "optional": true,
@@ -8778,7 +8778,7 @@
8778
8778
  "immutable": true,
8779
8779
  "locationInModule": {
8780
8780
  "filename": "src/providers/lambda.ts",
8781
- "line": 108
8781
+ "line": 110
8782
8782
  },
8783
8783
  "name": "securityGroups",
8784
8784
  "optional": true,
@@ -8801,7 +8801,7 @@
8801
8801
  "immutable": true,
8802
8802
  "locationInModule": {
8803
8803
  "filename": "src/providers/lambda.ts",
8804
- "line": 115
8804
+ "line": 117
8805
8805
  },
8806
8806
  "name": "subnetSelection",
8807
8807
  "optional": true,
@@ -8820,7 +8820,7 @@
8820
8820
  "immutable": true,
8821
8821
  "locationInModule": {
8822
8822
  "filename": "src/providers/lambda.ts",
8823
- "line": 85
8823
+ "line": 87
8824
8824
  },
8825
8825
  "name": "timeout",
8826
8826
  "optional": true,
@@ -8838,7 +8838,7 @@
8838
8838
  "immutable": true,
8839
8839
  "locationInModule": {
8840
8840
  "filename": "src/providers/lambda.ts",
8841
- "line": 92
8841
+ "line": 94
8842
8842
  },
8843
8843
  "name": "vpc",
8844
8844
  "optional": true,
@@ -10461,6 +10461,6 @@
10461
10461
  "symbolId": "src/providers/image-builders/windows-components:WindowsComponents"
10462
10462
  }
10463
10463
  },
10464
- "version": "0.8.2",
10465
- "fingerprint": "bNthPy5heboN527fQeALrmO+UpHzBXMira4OVkTf/ec="
10464
+ "version": "0.8.4",
10465
+ "fingerprint": "5FI3ExjE5qaaWB37BaY1pM8TomyJWYxj9yB0uQ7xumo="
10466
10466
  }