@cloudsnorkel/cdk-github-runners 0.1.0 → 0.3.0
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.
- package/.gitattributes +6 -1
- package/.jsii +1663 -596
- package/API.md +1105 -107
- package/README.md +63 -48
- package/SETUP_GITHUB.md +56 -19
- package/demo-thumbnail.jpg +0 -0
- package/lib/index.d.ts +3 -2
- package/lib/index.js +7 -1
- package/lib/lambdas/build-image/index.js +121 -0
- package/lib/lambdas/delete-runner/index.js +29 -15
- package/lib/lambdas/setup/index.js +9103 -0
- package/lib/lambdas/status/index.js +33 -14
- package/lib/lambdas/token-retriever/index.js +20 -10
- package/lib/lambdas/update-lambda/index.js +55 -0
- package/lib/lambdas/webhook-handler/index.js +21 -8
- package/lib/providers/codebuild.d.ts +32 -3
- package/lib/providers/codebuild.js +58 -13
- package/lib/providers/common.d.ts +87 -7
- package/lib/providers/common.js +64 -4
- package/lib/providers/docker-images/codebuild/linux-arm64/Dockerfile +59 -0
- package/lib/providers/docker-images/codebuild/{Dockerfile → linux-x64/Dockerfile} +10 -5
- package/lib/providers/docker-images/fargate/linux-arm64/Dockerfile +41 -0
- package/lib/providers/docker-images/fargate/{runner.sh → linux-arm64/runner.sh} +0 -0
- package/lib/providers/docker-images/fargate/{Dockerfile → linux-x64/Dockerfile} +10 -5
- package/lib/providers/docker-images/fargate/linux-x64/runner.sh +5 -0
- package/lib/providers/docker-images/lambda/linux-arm64/Dockerfile +32 -0
- package/lib/providers/docker-images/lambda/{runner.js → linux-arm64/runner.js} +0 -0
- package/lib/providers/docker-images/lambda/{runner.sh → linux-arm64/runner.sh} +0 -0
- package/lib/providers/docker-images/lambda/linux-x64/Dockerfile +31 -0
- package/lib/providers/docker-images/lambda/linux-x64/runner.js +29 -0
- package/lib/providers/docker-images/lambda/linux-x64/runner.sh +12 -0
- package/lib/providers/fargate.d.ts +46 -2
- package/lib/providers/fargate.js +65 -10
- package/lib/providers/image-builders/codebuild.d.ts +170 -0
- package/lib/providers/image-builders/codebuild.js +340 -0
- package/lib/providers/image-builders/static.d.ts +29 -0
- package/lib/providers/image-builders/static.js +58 -0
- package/lib/providers/lambda.d.ts +27 -2
- package/lib/providers/lambda.js +88 -9
- package/lib/runner.d.ts +5 -16
- package/lib/runner.js +38 -26
- package/lib/secrets.d.ts +4 -1
- package/lib/secrets.js +12 -2
- package/lib/utils.d.ts +2 -2
- package/lib/utils.js +14 -3
- package/lib/webhook.d.ts +0 -1
- package/lib/webhook.js +2 -1
- package/package.json +12 -10
- package/changelog.md +0 -11
- package/lib/index.d.ts.map +0 -1
- package/lib/providers/codebuild.d.ts.map +0 -1
- package/lib/providers/common.d.ts.map +0 -1
- package/lib/providers/docker-images/lambda/Dockerfile +0 -27
- package/lib/providers/fargate.d.ts.map +0 -1
- package/lib/providers/lambda.d.ts.map +0 -1
- package/lib/runner.d.ts.map +0 -1
- package/lib/secrets.d.ts.map +0 -1
- package/lib/utils.d.ts.map +0 -1
- package/lib/webhook.d.ts.map +0 -1
- package/releasetag.txt +0 -1
- package/version.txt +0 -1
package/.jsii
CHANGED
|
@@ -2971,7 +2971,7 @@
|
|
|
2971
2971
|
"stability": "experimental"
|
|
2972
2972
|
},
|
|
2973
2973
|
"homepage": "https://github.com/CloudSnorkel/cdk-github-runners.git",
|
|
2974
|
-
"jsiiVersion": "1.
|
|
2974
|
+
"jsiiVersion": "1.61.0 (build abf4039)",
|
|
2975
2975
|
"keywords": [
|
|
2976
2976
|
"aws",
|
|
2977
2977
|
"aws-cdk",
|
|
@@ -2995,7 +2995,7 @@
|
|
|
2995
2995
|
},
|
|
2996
2996
|
"name": "@cloudsnorkel/cdk-github-runners",
|
|
2997
2997
|
"readme": {
|
|
2998
|
-
"markdown": "# GitHub Self-Hosted Runners CDK Constructs\n\n[][6]\n[][7]\n[][8]\n[][11]\n[][12]\n[](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml)\n[](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\n* Customizable runners with decent defaults\n*
|
|
2998
|
+
"markdown": "# GitHub Self-Hosted Runners CDK Constructs\n\n[][6]\n[][7]\n[][8]\n[][11]\n[][12]\n[](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml)\n[](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\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| | CodeBuild | Fargate | Lambda |\n|------------------|--------------------------|----------------|----------------|\n| **Time limit** | 8 hours | Unlimited | 15 minutes |\n| **vCPUs** | 2, 4, 8, or 72 | 0.25 to 4 | 1 to 6 |\n| **RAM** | 3gb, 7gb, 15gb, or 145gb | 512mb to 30gb | 128mb to 10gb |\n| **Storage** | 50gb to 824gb | 20gb to 200gb | Up to 10gb |\n| **Architecture** | x86_64, ARM64 | x86_64, ARM64 | x86_64, ARM64 |\n| **sudo** | ✔ | ✔ | ❌ |\n| **Docker** | ✔ | ❌ | ❌ |\n| **Spot pricing** | ❌ | ✔ | ❌ |\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[](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: FargateProvider.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 FargateProvider(this, 'fargate runner', {\n label: 'my-codebuild',\n vpc: vpc,\n securityGroup: runnerSg,\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, my-codebuild]\n steps:\n - run: echo hello world\n```\n\n## Architecture\n\n\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. 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\n3. When using GitHub app, make sure there are active installation in `github.auth.app.installations`\n4. 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-runner-controller/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-runner-controller/actions-runner-controller\n[5]: https://github.com/actions/runner\n[6]: https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners\n[7]: https://pypi.org/project/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"
|
|
2999
2999
|
},
|
|
3000
3000
|
"repository": {
|
|
3001
3001
|
"type": "git",
|
|
@@ -3026,22 +3026,116 @@
|
|
|
3026
3026
|
}
|
|
3027
3027
|
},
|
|
3028
3028
|
"types": {
|
|
3029
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3029
|
+
"@cloudsnorkel/cdk-github-runners.Architecture": {
|
|
3030
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3031
|
+
"docs": {
|
|
3032
|
+
"stability": "experimental",
|
|
3033
|
+
"summary": "CPU architecture enum for an image."
|
|
3034
|
+
},
|
|
3035
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture",
|
|
3036
|
+
"kind": "class",
|
|
3037
|
+
"locationInModule": {
|
|
3038
|
+
"filename": "src/providers/common.ts",
|
|
3039
|
+
"line": 32
|
|
3040
|
+
},
|
|
3041
|
+
"methods": [
|
|
3042
|
+
{
|
|
3043
|
+
"docs": {
|
|
3044
|
+
"stability": "experimental",
|
|
3045
|
+
"summary": "Checks if the given architecture is the same as this one."
|
|
3046
|
+
},
|
|
3047
|
+
"locationInModule": {
|
|
3048
|
+
"filename": "src/providers/common.ts",
|
|
3049
|
+
"line": 55
|
|
3050
|
+
},
|
|
3051
|
+
"name": "is",
|
|
3052
|
+
"parameters": [
|
|
3053
|
+
{
|
|
3054
|
+
"docs": {
|
|
3055
|
+
"summary": "architecture to compare."
|
|
3056
|
+
},
|
|
3057
|
+
"name": "arch",
|
|
3058
|
+
"type": {
|
|
3059
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
3060
|
+
}
|
|
3061
|
+
}
|
|
3062
|
+
],
|
|
3063
|
+
"returns": {
|
|
3064
|
+
"type": {
|
|
3065
|
+
"primitive": "boolean"
|
|
3066
|
+
}
|
|
3067
|
+
}
|
|
3068
|
+
}
|
|
3069
|
+
],
|
|
3070
|
+
"name": "Architecture",
|
|
3071
|
+
"properties": [
|
|
3072
|
+
{
|
|
3073
|
+
"const": true,
|
|
3074
|
+
"docs": {
|
|
3075
|
+
"stability": "experimental",
|
|
3076
|
+
"summary": "ARM64."
|
|
3077
|
+
},
|
|
3078
|
+
"immutable": true,
|
|
3079
|
+
"locationInModule": {
|
|
3080
|
+
"filename": "src/providers/common.ts",
|
|
3081
|
+
"line": 36
|
|
3082
|
+
},
|
|
3083
|
+
"name": "ARM64",
|
|
3084
|
+
"static": true,
|
|
3085
|
+
"type": {
|
|
3086
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
3087
|
+
}
|
|
3088
|
+
},
|
|
3089
|
+
{
|
|
3090
|
+
"const": true,
|
|
3091
|
+
"docs": {
|
|
3092
|
+
"stability": "experimental",
|
|
3093
|
+
"summary": "X86_64."
|
|
3094
|
+
},
|
|
3095
|
+
"immutable": true,
|
|
3096
|
+
"locationInModule": {
|
|
3097
|
+
"filename": "src/providers/common.ts",
|
|
3098
|
+
"line": 41
|
|
3099
|
+
},
|
|
3100
|
+
"name": "X86_64",
|
|
3101
|
+
"static": true,
|
|
3102
|
+
"type": {
|
|
3103
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
3104
|
+
}
|
|
3105
|
+
},
|
|
3106
|
+
{
|
|
3107
|
+
"docs": {
|
|
3108
|
+
"stability": "experimental"
|
|
3109
|
+
},
|
|
3110
|
+
"immutable": true,
|
|
3111
|
+
"locationInModule": {
|
|
3112
|
+
"filename": "src/providers/common.ts",
|
|
3113
|
+
"line": 47
|
|
3114
|
+
},
|
|
3115
|
+
"name": "name",
|
|
3116
|
+
"type": {
|
|
3117
|
+
"primitive": "string"
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
],
|
|
3121
|
+
"symbolId": "src/providers/common:Architecture"
|
|
3122
|
+
},
|
|
3123
|
+
"@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder": {
|
|
3030
3124
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3031
3125
|
"base": "constructs.Construct",
|
|
3032
3126
|
"docs": {
|
|
3033
|
-
"remarks": "
|
|
3127
|
+
"remarks": "Builders can be used with runner providers.\n\nEach builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.\n\nYou can create an instance of this construct to customize the image used to spin-up runners. Each provider has its own requirements for what an image should do. That's why they each provide their own Dockerfile.\n\nFor example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:\n\n```\nconst builder = new CodeBuildImageBuilder(this, 'Builder', {\n dockerfilePath: FargateProvider.LINUX_X64_DOCKERFILE_PATH,\n runnerVersion: RunnerVersion.specific('2.293.0'),\n rebuildInterval: Duration.days(14),\n});\nbuilder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');\nnew FargateProvider(this, 'Fargate provider', {\n label: 'customized-fargate',\n imageBuilder: builder,\n});\n```",
|
|
3034
3128
|
"stability": "experimental",
|
|
3035
|
-
"summary": "
|
|
3129
|
+
"summary": "An image builder that uses CodeBuild to build Docker images pre-baked with all the GitHub Actions runner requirements."
|
|
3036
3130
|
},
|
|
3037
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3131
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder",
|
|
3038
3132
|
"initializer": {
|
|
3039
3133
|
"docs": {
|
|
3040
3134
|
"stability": "experimental"
|
|
3041
3135
|
},
|
|
3042
3136
|
"locationInModule": {
|
|
3043
|
-
"filename": "src/providers/codebuild.ts",
|
|
3044
|
-
"line":
|
|
3137
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3138
|
+
"line": 164
|
|
3045
3139
|
},
|
|
3046
3140
|
"parameters": [
|
|
3047
3141
|
{
|
|
@@ -3059,298 +3153,440 @@
|
|
|
3059
3153
|
{
|
|
3060
3154
|
"name": "props",
|
|
3061
3155
|
"type": {
|
|
3062
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3156
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"
|
|
3063
3157
|
}
|
|
3064
3158
|
}
|
|
3065
3159
|
]
|
|
3066
3160
|
},
|
|
3067
3161
|
"interfaces": [
|
|
3068
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3162
|
+
"@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
3069
3163
|
],
|
|
3070
3164
|
"kind": "class",
|
|
3071
3165
|
"locationInModule": {
|
|
3072
|
-
"filename": "src/providers/codebuild.ts",
|
|
3073
|
-
"line":
|
|
3166
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3167
|
+
"line": 149
|
|
3074
3168
|
},
|
|
3075
3169
|
"methods": [
|
|
3076
3170
|
{
|
|
3077
3171
|
"docs": {
|
|
3078
|
-
"remarks": "Called by GithubRunners and shouldn't be called manually.",
|
|
3079
3172
|
"stability": "experimental",
|
|
3080
|
-
"summary": "
|
|
3173
|
+
"summary": "Uploads a folder to the build server at a given folder name."
|
|
3081
3174
|
},
|
|
3082
3175
|
"locationInModule": {
|
|
3083
|
-
"filename": "src/providers/codebuild.ts",
|
|
3084
|
-
"line":
|
|
3176
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3177
|
+
"line": 205
|
|
3085
3178
|
},
|
|
3086
|
-
"name": "
|
|
3087
|
-
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3179
|
+
"name": "addFiles",
|
|
3088
3180
|
"parameters": [
|
|
3089
3181
|
{
|
|
3090
3182
|
"docs": {
|
|
3091
|
-
"summary": "
|
|
3183
|
+
"summary": "path to source directory."
|
|
3092
3184
|
},
|
|
3093
|
-
"name": "
|
|
3185
|
+
"name": "sourcePath",
|
|
3094
3186
|
"type": {
|
|
3095
|
-
"
|
|
3187
|
+
"primitive": "string"
|
|
3188
|
+
}
|
|
3189
|
+
},
|
|
3190
|
+
{
|
|
3191
|
+
"docs": {
|
|
3192
|
+
"summary": "name of destination folder."
|
|
3193
|
+
},
|
|
3194
|
+
"name": "destName",
|
|
3195
|
+
"type": {
|
|
3196
|
+
"primitive": "string"
|
|
3096
3197
|
}
|
|
3097
3198
|
}
|
|
3098
|
-
]
|
|
3099
|
-
|
|
3100
|
-
"type": {
|
|
3101
|
-
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
3102
|
-
}
|
|
3103
|
-
}
|
|
3104
|
-
}
|
|
3105
|
-
],
|
|
3106
|
-
"name": "CodeBuildRunner",
|
|
3107
|
-
"properties": [
|
|
3199
|
+
]
|
|
3200
|
+
},
|
|
3108
3201
|
{
|
|
3109
3202
|
"docs": {
|
|
3110
3203
|
"stability": "experimental",
|
|
3111
|
-
"summary": "
|
|
3204
|
+
"summary": "Add a policy statement to the builder to access resources required to the image build."
|
|
3112
3205
|
},
|
|
3113
|
-
"immutable": true,
|
|
3114
3206
|
"locationInModule": {
|
|
3115
|
-
"filename": "src/providers/codebuild.ts",
|
|
3116
|
-
"line":
|
|
3207
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3208
|
+
"line": 257
|
|
3117
3209
|
},
|
|
3118
|
-
"name": "
|
|
3119
|
-
"
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
3210
|
+
"name": "addPolicyStatement",
|
|
3211
|
+
"parameters": [
|
|
3212
|
+
{
|
|
3213
|
+
"docs": {
|
|
3214
|
+
"summary": "IAM policy statement."
|
|
3215
|
+
},
|
|
3216
|
+
"name": "statement",
|
|
3217
|
+
"type": {
|
|
3218
|
+
"fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
|
|
3219
|
+
}
|
|
3220
|
+
}
|
|
3221
|
+
]
|
|
3123
3222
|
},
|
|
3124
3223
|
{
|
|
3125
3224
|
"docs": {
|
|
3126
3225
|
"stability": "experimental",
|
|
3127
|
-
"summary": "
|
|
3226
|
+
"summary": "Adds a command that runs after `docker build` and `docker push`."
|
|
3128
3227
|
},
|
|
3129
|
-
"immutable": true,
|
|
3130
3228
|
"locationInModule": {
|
|
3131
|
-
"filename": "src/providers/codebuild.ts",
|
|
3132
|
-
"line":
|
|
3229
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3230
|
+
"line": 232
|
|
3133
3231
|
},
|
|
3134
|
-
"name": "
|
|
3135
|
-
"
|
|
3136
|
-
|
|
3137
|
-
|
|
3138
|
-
|
|
3232
|
+
"name": "addPostBuildCommand",
|
|
3233
|
+
"parameters": [
|
|
3234
|
+
{
|
|
3235
|
+
"docs": {
|
|
3236
|
+
"summary": "command to add."
|
|
3237
|
+
},
|
|
3238
|
+
"name": "command",
|
|
3239
|
+
"type": {
|
|
3240
|
+
"primitive": "string"
|
|
3241
|
+
}
|
|
3242
|
+
}
|
|
3243
|
+
]
|
|
3139
3244
|
},
|
|
3140
3245
|
{
|
|
3141
3246
|
"docs": {
|
|
3142
3247
|
"stability": "experimental",
|
|
3143
|
-
"summary": "
|
|
3248
|
+
"summary": "Adds a command that runs before `docker build`."
|
|
3144
3249
|
},
|
|
3145
|
-
"immutable": true,
|
|
3146
3250
|
"locationInModule": {
|
|
3147
|
-
"filename": "src/providers/codebuild.ts",
|
|
3148
|
-
"line":
|
|
3251
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3252
|
+
"line": 220
|
|
3149
3253
|
},
|
|
3150
|
-
"name": "
|
|
3151
|
-
"
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3254
|
+
"name": "addPreBuildCommand",
|
|
3255
|
+
"parameters": [
|
|
3256
|
+
{
|
|
3257
|
+
"docs": {
|
|
3258
|
+
"summary": "command to add."
|
|
3259
|
+
},
|
|
3260
|
+
"name": "command",
|
|
3261
|
+
"type": {
|
|
3262
|
+
"primitive": "string"
|
|
3263
|
+
}
|
|
3264
|
+
}
|
|
3265
|
+
]
|
|
3155
3266
|
},
|
|
3156
3267
|
{
|
|
3157
3268
|
"docs": {
|
|
3158
3269
|
"stability": "experimental",
|
|
3159
|
-
"summary": "
|
|
3270
|
+
"summary": "Called by IRunnerProvider to finalize settings and create the image builder."
|
|
3160
3271
|
},
|
|
3161
|
-
"immutable": true,
|
|
3162
3272
|
"locationInModule": {
|
|
3163
|
-
"filename": "src/providers/codebuild.ts",
|
|
3164
|
-
"line":
|
|
3273
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3274
|
+
"line": 267
|
|
3165
3275
|
},
|
|
3166
|
-
"name": "
|
|
3167
|
-
"
|
|
3168
|
-
|
|
3276
|
+
"name": "bind",
|
|
3277
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IImageBuilder",
|
|
3278
|
+
"returns": {
|
|
3279
|
+
"type": {
|
|
3280
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
|
|
3281
|
+
}
|
|
3169
3282
|
}
|
|
3170
3283
|
},
|
|
3171
3284
|
{
|
|
3172
3285
|
"docs": {
|
|
3286
|
+
"remarks": "See the documentation for the Dockerfile you're using for a list of supported build arguments.",
|
|
3173
3287
|
"stability": "experimental",
|
|
3174
|
-
"summary": "
|
|
3288
|
+
"summary": "Adds a build argument for Docker."
|
|
3175
3289
|
},
|
|
3176
|
-
"immutable": true,
|
|
3177
3290
|
"locationInModule": {
|
|
3178
|
-
"filename": "src/providers/codebuild.ts",
|
|
3179
|
-
"line":
|
|
3291
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3292
|
+
"line": 245
|
|
3180
3293
|
},
|
|
3181
|
-
"name": "
|
|
3182
|
-
"
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3294
|
+
"name": "setBuildArg",
|
|
3295
|
+
"parameters": [
|
|
3296
|
+
{
|
|
3297
|
+
"docs": {
|
|
3298
|
+
"summary": "build argument name."
|
|
3299
|
+
},
|
|
3300
|
+
"name": "name",
|
|
3301
|
+
"type": {
|
|
3302
|
+
"primitive": "string"
|
|
3303
|
+
}
|
|
3304
|
+
},
|
|
3305
|
+
{
|
|
3306
|
+
"docs": {
|
|
3307
|
+
"summary": "build argument value."
|
|
3308
|
+
},
|
|
3309
|
+
"name": "value",
|
|
3310
|
+
"type": {
|
|
3311
|
+
"primitive": "string"
|
|
3312
|
+
}
|
|
3313
|
+
}
|
|
3314
|
+
]
|
|
3315
|
+
}
|
|
3316
|
+
],
|
|
3317
|
+
"name": "CodeBuildImageBuilder",
|
|
3318
|
+
"properties": [
|
|
3188
3319
|
{
|
|
3189
3320
|
"docs": {
|
|
3190
|
-
"stability": "experimental"
|
|
3191
|
-
"summary": "VPC used for hosting the project."
|
|
3321
|
+
"stability": "experimental"
|
|
3192
3322
|
},
|
|
3193
3323
|
"immutable": true,
|
|
3194
3324
|
"locationInModule": {
|
|
3195
|
-
"filename": "src/providers/codebuild.ts",
|
|
3196
|
-
"line":
|
|
3325
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3326
|
+
"line": 164
|
|
3197
3327
|
},
|
|
3198
|
-
"name": "
|
|
3199
|
-
"optional": true,
|
|
3200
|
-
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3328
|
+
"name": "props",
|
|
3201
3329
|
"type": {
|
|
3202
|
-
"fqn": "
|
|
3330
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"
|
|
3203
3331
|
}
|
|
3204
3332
|
}
|
|
3205
3333
|
],
|
|
3206
|
-
"symbolId": "src/providers/codebuild:
|
|
3334
|
+
"symbolId": "src/providers/image-builders/codebuild:CodeBuildImageBuilder"
|
|
3207
3335
|
},
|
|
3208
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3336
|
+
"@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps": {
|
|
3209
3337
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3210
3338
|
"datatype": true,
|
|
3211
3339
|
"docs": {
|
|
3212
|
-
"stability": "experimental"
|
|
3340
|
+
"stability": "experimental",
|
|
3341
|
+
"summary": "Properties for CodeBuildImageBuilder construct."
|
|
3213
3342
|
},
|
|
3214
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3215
|
-
"interfaces": [
|
|
3216
|
-
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
|
|
3217
|
-
],
|
|
3343
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps",
|
|
3218
3344
|
"kind": "interface",
|
|
3219
3345
|
"locationInModule": {
|
|
3220
|
-
"filename": "src/providers/codebuild.ts",
|
|
3221
|
-
"line":
|
|
3346
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3347
|
+
"line": 34
|
|
3222
3348
|
},
|
|
3223
|
-
"name": "
|
|
3349
|
+
"name": "CodeBuildImageBuilderProps",
|
|
3224
3350
|
"properties": [
|
|
3225
3351
|
{
|
|
3226
3352
|
"abstract": true,
|
|
3227
3353
|
"docs": {
|
|
3228
|
-
"
|
|
3229
|
-
"remarks": "See the {@link ComputeType} enum for the possible values.",
|
|
3354
|
+
"remarks": "It can be a path to a Dockerfile, a folder containing a Dockerfile, or a zip file containing a Dockerfile.",
|
|
3230
3355
|
"stability": "experimental",
|
|
3231
|
-
"summary": "
|
|
3356
|
+
"summary": "Path to Dockerfile to be built."
|
|
3232
3357
|
},
|
|
3233
3358
|
"immutable": true,
|
|
3234
3359
|
"locationInModule": {
|
|
3235
|
-
"filename": "src/providers/codebuild.ts",
|
|
3360
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3236
3361
|
"line": 52
|
|
3237
3362
|
},
|
|
3238
|
-
"name": "
|
|
3239
|
-
"optional": true,
|
|
3363
|
+
"name": "dockerfilePath",
|
|
3240
3364
|
"type": {
|
|
3241
|
-
"
|
|
3365
|
+
"primitive": "string"
|
|
3242
3366
|
}
|
|
3243
3367
|
},
|
|
3244
3368
|
{
|
|
3245
3369
|
"abstract": true,
|
|
3246
3370
|
"docs": {
|
|
3247
|
-
"default": "
|
|
3371
|
+
"default": "Architecture.X86_64",
|
|
3248
3372
|
"stability": "experimental",
|
|
3249
|
-
"summary": "
|
|
3373
|
+
"summary": "Image architecture."
|
|
3250
3374
|
},
|
|
3251
3375
|
"immutable": true,
|
|
3252
3376
|
"locationInModule": {
|
|
3253
|
-
"filename": "src/providers/codebuild.ts",
|
|
3254
|
-
"line":
|
|
3377
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3378
|
+
"line": 40
|
|
3255
3379
|
},
|
|
3256
|
-
"name": "
|
|
3380
|
+
"name": "architecture",
|
|
3257
3381
|
"optional": true,
|
|
3258
3382
|
"type": {
|
|
3259
|
-
"
|
|
3383
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
3260
3384
|
}
|
|
3261
3385
|
},
|
|
3262
3386
|
{
|
|
3263
3387
|
"abstract": true,
|
|
3264
3388
|
"docs": {
|
|
3265
|
-
"default": "
|
|
3389
|
+
"default": "{@link ComputeType#SMALL}",
|
|
3390
|
+
"remarks": "See the {@link ComputeType} enum for the possible values.",
|
|
3266
3391
|
"stability": "experimental",
|
|
3267
|
-
"summary": "
|
|
3392
|
+
"summary": "The type of compute to use for this build."
|
|
3268
3393
|
},
|
|
3269
3394
|
"immutable": true,
|
|
3270
3395
|
"locationInModule": {
|
|
3271
|
-
"filename": "src/providers/codebuild.ts",
|
|
3272
|
-
"line":
|
|
3396
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3397
|
+
"line": 97
|
|
3273
3398
|
},
|
|
3274
|
-
"name": "
|
|
3399
|
+
"name": "computeType",
|
|
3275
3400
|
"optional": true,
|
|
3276
3401
|
"type": {
|
|
3277
|
-
"fqn": "aws-cdk-lib.
|
|
3402
|
+
"fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
|
|
3278
3403
|
}
|
|
3279
3404
|
},
|
|
3280
3405
|
{
|
|
3281
3406
|
"abstract": true,
|
|
3282
3407
|
"docs": {
|
|
3283
|
-
"default": "
|
|
3408
|
+
"default": "RemovalPolicy.DESTROY",
|
|
3409
|
+
"remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the CodeBuild logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
|
|
3284
3410
|
"stability": "experimental",
|
|
3285
|
-
"summary": "
|
|
3411
|
+
"summary": "Removal policy for logs of image builds."
|
|
3286
3412
|
},
|
|
3287
3413
|
"immutable": true,
|
|
3288
3414
|
"locationInModule": {
|
|
3289
|
-
"filename": "src/providers/codebuild.ts",
|
|
3290
|
-
"line":
|
|
3415
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3416
|
+
"line": 124
|
|
3291
3417
|
},
|
|
3292
|
-
"name": "
|
|
3418
|
+
"name": "logRemovalPolicy",
|
|
3293
3419
|
"optional": true,
|
|
3294
3420
|
"type": {
|
|
3295
|
-
"fqn": "aws-cdk-lib.
|
|
3421
|
+
"fqn": "aws-cdk-lib.RemovalPolicy"
|
|
3296
3422
|
}
|
|
3297
3423
|
},
|
|
3298
3424
|
{
|
|
3299
3425
|
"abstract": true,
|
|
3300
3426
|
"docs": {
|
|
3301
|
-
"default": "
|
|
3302
|
-
"remarks": "
|
|
3427
|
+
"default": "logs.RetentionDays.ONE_MONTH",
|
|
3428
|
+
"remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
|
|
3303
3429
|
"stability": "experimental",
|
|
3304
|
-
"summary": "The number of
|
|
3430
|
+
"summary": "The number of days log events are kept in CloudWatch Logs."
|
|
3305
3431
|
},
|
|
3306
3432
|
"immutable": true,
|
|
3307
3433
|
"locationInModule": {
|
|
3308
|
-
"filename": "src/providers/codebuild.ts",
|
|
3309
|
-
"line":
|
|
3434
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3435
|
+
"line": 115
|
|
3310
3436
|
},
|
|
3311
|
-
"name": "
|
|
3437
|
+
"name": "logRetention",
|
|
3312
3438
|
"optional": true,
|
|
3313
3439
|
"type": {
|
|
3314
|
-
"fqn": "aws-cdk-lib.
|
|
3440
|
+
"fqn": "aws-cdk-lib.aws_logs.RetentionDays"
|
|
3315
3441
|
}
|
|
3316
3442
|
},
|
|
3317
3443
|
{
|
|
3318
3444
|
"abstract": true,
|
|
3319
3445
|
"docs": {
|
|
3320
|
-
"default": "
|
|
3446
|
+
"default": "OS.LINUX",
|
|
3321
3447
|
"stability": "experimental",
|
|
3322
|
-
"summary": "
|
|
3448
|
+
"summary": "Image OS."
|
|
3323
3449
|
},
|
|
3324
3450
|
"immutable": true,
|
|
3325
3451
|
"locationInModule": {
|
|
3326
|
-
"filename": "src/providers/codebuild.ts",
|
|
3327
|
-
"line":
|
|
3452
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3453
|
+
"line": 47
|
|
3328
3454
|
},
|
|
3329
|
-
"name": "
|
|
3455
|
+
"name": "os",
|
|
3330
3456
|
"optional": true,
|
|
3331
3457
|
"type": {
|
|
3332
|
-
"fqn": "
|
|
3458
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
3333
3459
|
}
|
|
3334
|
-
}
|
|
3460
|
+
},
|
|
3461
|
+
{
|
|
3462
|
+
"abstract": true,
|
|
3463
|
+
"docs": {
|
|
3464
|
+
"default": "Duration.days(7)",
|
|
3465
|
+
"remarks": "Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
|
|
3466
|
+
"stability": "experimental",
|
|
3467
|
+
"summary": "Schedule the image to be rebuilt every given interval."
|
|
3468
|
+
},
|
|
3469
|
+
"immutable": true,
|
|
3470
|
+
"locationInModule": {
|
|
3471
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3472
|
+
"line": 68
|
|
3473
|
+
},
|
|
3474
|
+
"name": "rebuildInterval",
|
|
3475
|
+
"optional": true,
|
|
3476
|
+
"type": {
|
|
3477
|
+
"fqn": "aws-cdk-lib.Duration"
|
|
3478
|
+
}
|
|
3479
|
+
},
|
|
3480
|
+
{
|
|
3481
|
+
"abstract": true,
|
|
3482
|
+
"docs": {
|
|
3483
|
+
"default": "latest version available",
|
|
3484
|
+
"stability": "experimental",
|
|
3485
|
+
"summary": "Version of GitHub Runners to install."
|
|
3486
|
+
},
|
|
3487
|
+
"immutable": true,
|
|
3488
|
+
"locationInModule": {
|
|
3489
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3490
|
+
"line": 59
|
|
3491
|
+
},
|
|
3492
|
+
"name": "runnerVersion",
|
|
3493
|
+
"optional": true,
|
|
3494
|
+
"type": {
|
|
3495
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
|
|
3496
|
+
}
|
|
3497
|
+
},
|
|
3498
|
+
{
|
|
3499
|
+
"abstract": true,
|
|
3500
|
+
"docs": {
|
|
3501
|
+
"default": "public project with no security group",
|
|
3502
|
+
"stability": "experimental",
|
|
3503
|
+
"summary": "Security Group to assign to this instance."
|
|
3504
|
+
},
|
|
3505
|
+
"immutable": true,
|
|
3506
|
+
"locationInModule": {
|
|
3507
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3508
|
+
"line": 82
|
|
3509
|
+
},
|
|
3510
|
+
"name": "securityGroup",
|
|
3511
|
+
"optional": true,
|
|
3512
|
+
"type": {
|
|
3513
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
3514
|
+
}
|
|
3515
|
+
},
|
|
3516
|
+
{
|
|
3517
|
+
"abstract": true,
|
|
3518
|
+
"docs": {
|
|
3519
|
+
"default": "no subnet",
|
|
3520
|
+
"stability": "experimental",
|
|
3521
|
+
"summary": "Where to place the network interfaces within the VPC."
|
|
3522
|
+
},
|
|
3523
|
+
"immutable": true,
|
|
3524
|
+
"locationInModule": {
|
|
3525
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3526
|
+
"line": 89
|
|
3527
|
+
},
|
|
3528
|
+
"name": "subnetSelection",
|
|
3529
|
+
"optional": true,
|
|
3530
|
+
"type": {
|
|
3531
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
|
|
3532
|
+
}
|
|
3533
|
+
},
|
|
3534
|
+
{
|
|
3535
|
+
"abstract": true,
|
|
3536
|
+
"docs": {
|
|
3537
|
+
"default": "Duration.hours(1)",
|
|
3538
|
+
"remarks": "For valid values, see the timeoutInMinutes field in the AWS\nCodeBuild User Guide.",
|
|
3539
|
+
"stability": "experimental",
|
|
3540
|
+
"summary": "The number of minutes after which AWS CodeBuild stops the build if it's not complete."
|
|
3541
|
+
},
|
|
3542
|
+
"immutable": true,
|
|
3543
|
+
"locationInModule": {
|
|
3544
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3545
|
+
"line": 106
|
|
3546
|
+
},
|
|
3547
|
+
"name": "timeout",
|
|
3548
|
+
"optional": true,
|
|
3549
|
+
"type": {
|
|
3550
|
+
"fqn": "aws-cdk-lib.Duration"
|
|
3551
|
+
}
|
|
3552
|
+
},
|
|
3553
|
+
{
|
|
3554
|
+
"abstract": true,
|
|
3555
|
+
"docs": {
|
|
3556
|
+
"default": "no VPC",
|
|
3557
|
+
"stability": "experimental",
|
|
3558
|
+
"summary": "VPC to launch the runners in."
|
|
3559
|
+
},
|
|
3560
|
+
"immutable": true,
|
|
3561
|
+
"locationInModule": {
|
|
3562
|
+
"filename": "src/providers/image-builders/codebuild.ts",
|
|
3563
|
+
"line": 75
|
|
3564
|
+
},
|
|
3565
|
+
"name": "vpc",
|
|
3566
|
+
"optional": true,
|
|
3567
|
+
"type": {
|
|
3568
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
3569
|
+
}
|
|
3570
|
+
}
|
|
3335
3571
|
],
|
|
3336
|
-
"symbolId": "src/providers/codebuild:
|
|
3572
|
+
"symbolId": "src/providers/image-builders/codebuild:CodeBuildImageBuilderProps"
|
|
3337
3573
|
},
|
|
3338
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3574
|
+
"@cloudsnorkel/cdk-github-runners.CodeBuildRunner": {
|
|
3339
3575
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3340
3576
|
"base": "constructs.Construct",
|
|
3341
3577
|
"docs": {
|
|
3342
|
-
"remarks": "Creates a
|
|
3578
|
+
"remarks": "Creates a project that gets started for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
|
|
3343
3579
|
"stability": "experimental",
|
|
3344
|
-
"summary": "GitHub Actions runner provider using
|
|
3580
|
+
"summary": "GitHub Actions runner provider using CodeBuild to execute the actions."
|
|
3345
3581
|
},
|
|
3346
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3582
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunner",
|
|
3347
3583
|
"initializer": {
|
|
3348
3584
|
"docs": {
|
|
3349
3585
|
"stability": "experimental"
|
|
3350
3586
|
},
|
|
3351
3587
|
"locationInModule": {
|
|
3352
|
-
"filename": "src/providers/
|
|
3353
|
-
"line":
|
|
3588
|
+
"filename": "src/providers/codebuild.ts",
|
|
3589
|
+
"line": 133
|
|
3354
3590
|
},
|
|
3355
3591
|
"parameters": [
|
|
3356
3592
|
{
|
|
@@ -3368,7 +3604,7 @@
|
|
|
3368
3604
|
{
|
|
3369
3605
|
"name": "props",
|
|
3370
3606
|
"type": {
|
|
3371
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3607
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps"
|
|
3372
3608
|
}
|
|
3373
3609
|
}
|
|
3374
3610
|
]
|
|
@@ -3378,8 +3614,8 @@
|
|
|
3378
3614
|
],
|
|
3379
3615
|
"kind": "class",
|
|
3380
3616
|
"locationInModule": {
|
|
3381
|
-
"filename": "src/providers/
|
|
3382
|
-
"line":
|
|
3617
|
+
"filename": "src/providers/codebuild.ts",
|
|
3618
|
+
"line": 81
|
|
3383
3619
|
},
|
|
3384
3620
|
"methods": [
|
|
3385
3621
|
{
|
|
@@ -3389,8 +3625,8 @@
|
|
|
3389
3625
|
"summary": "Generate step function task(s) to start a new runner."
|
|
3390
3626
|
},
|
|
3391
3627
|
"locationInModule": {
|
|
3392
|
-
"filename": "src/providers/
|
|
3393
|
-
"line":
|
|
3628
|
+
"filename": "src/providers/codebuild.ts",
|
|
3629
|
+
"line": 233
|
|
3394
3630
|
},
|
|
3395
3631
|
"name": "getStepFunctionTask",
|
|
3396
3632
|
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
@@ -3412,36 +3648,42 @@
|
|
|
3412
3648
|
}
|
|
3413
3649
|
}
|
|
3414
3650
|
],
|
|
3415
|
-
"name": "
|
|
3651
|
+
"name": "CodeBuildRunner",
|
|
3416
3652
|
"properties": [
|
|
3417
3653
|
{
|
|
3654
|
+
"const": true,
|
|
3418
3655
|
"docs": {
|
|
3656
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.\n* `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `\"stsable\"`.\n* `DIND_COMMIT` overrides the commit where dind is found.\n* `DOCKER_VERSION` overrides the installed Docker version.\n* `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.",
|
|
3419
3657
|
"stability": "experimental",
|
|
3420
|
-
"summary": "
|
|
3658
|
+
"summary": "Path to Dockerfile for Linux ARM64 with all the requirements for CodeBuild runner."
|
|
3421
3659
|
},
|
|
3422
3660
|
"immutable": true,
|
|
3423
3661
|
"locationInModule": {
|
|
3424
|
-
"filename": "src/providers/
|
|
3425
|
-
"line":
|
|
3662
|
+
"filename": "src/providers/codebuild.ts",
|
|
3663
|
+
"line": 106
|
|
3426
3664
|
},
|
|
3427
|
-
"name": "
|
|
3665
|
+
"name": "LINUX_ARM64_DOCKERFILE_PATH",
|
|
3666
|
+
"static": true,
|
|
3428
3667
|
"type": {
|
|
3429
|
-
"primitive": "
|
|
3668
|
+
"primitive": "string"
|
|
3430
3669
|
}
|
|
3431
3670
|
},
|
|
3432
3671
|
{
|
|
3672
|
+
"const": true,
|
|
3433
3673
|
"docs": {
|
|
3674
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.\n* `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `\"stsable\"`.\n* `DIND_COMMIT` overrides the commit where dind is found.\n* `DOCKER_VERSION` overrides the installed Docker version.\n* `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.",
|
|
3434
3675
|
"stability": "experimental",
|
|
3435
|
-
"summary": "
|
|
3676
|
+
"summary": "Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner."
|
|
3436
3677
|
},
|
|
3437
3678
|
"immutable": true,
|
|
3438
3679
|
"locationInModule": {
|
|
3439
|
-
"filename": "src/providers/
|
|
3440
|
-
"line":
|
|
3680
|
+
"filename": "src/providers/codebuild.ts",
|
|
3681
|
+
"line": 93
|
|
3441
3682
|
},
|
|
3442
|
-
"name": "
|
|
3683
|
+
"name": "LINUX_X64_DOCKERFILE_PATH",
|
|
3684
|
+
"static": true,
|
|
3443
3685
|
"type": {
|
|
3444
|
-
"
|
|
3686
|
+
"primitive": "string"
|
|
3445
3687
|
}
|
|
3446
3688
|
},
|
|
3447
3689
|
{
|
|
@@ -3451,8 +3693,8 @@
|
|
|
3451
3693
|
},
|
|
3452
3694
|
"immutable": true,
|
|
3453
3695
|
"locationInModule": {
|
|
3454
|
-
"filename": "src/providers/
|
|
3455
|
-
"line":
|
|
3696
|
+
"filename": "src/providers/codebuild.ts",
|
|
3697
|
+
"line": 273
|
|
3456
3698
|
},
|
|
3457
3699
|
"name": "connections",
|
|
3458
3700
|
"overrides": "aws-cdk-lib.aws_ec2.IConnectable",
|
|
@@ -3460,21 +3702,6 @@
|
|
|
3460
3702
|
"fqn": "aws-cdk-lib.aws_ec2.Connections"
|
|
3461
3703
|
}
|
|
3462
3704
|
},
|
|
3463
|
-
{
|
|
3464
|
-
"docs": {
|
|
3465
|
-
"stability": "experimental",
|
|
3466
|
-
"summary": "Container definition hosting the runner."
|
|
3467
|
-
},
|
|
3468
|
-
"immutable": true,
|
|
3469
|
-
"locationInModule": {
|
|
3470
|
-
"filename": "src/providers/fargate.ts",
|
|
3471
|
-
"line": 123
|
|
3472
|
-
},
|
|
3473
|
-
"name": "container",
|
|
3474
|
-
"type": {
|
|
3475
|
-
"fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition"
|
|
3476
|
-
}
|
|
3477
|
-
},
|
|
3478
3705
|
{
|
|
3479
3706
|
"docs": {
|
|
3480
3707
|
"stability": "experimental",
|
|
@@ -3482,8 +3709,8 @@
|
|
|
3482
3709
|
},
|
|
3483
3710
|
"immutable": true,
|
|
3484
3711
|
"locationInModule": {
|
|
3485
|
-
"filename": "src/providers/
|
|
3486
|
-
"line":
|
|
3712
|
+
"filename": "src/providers/codebuild.ts",
|
|
3713
|
+
"line": 131
|
|
3487
3714
|
},
|
|
3488
3715
|
"name": "grantPrincipal",
|
|
3489
3716
|
"overrides": "aws-cdk-lib.aws_iam.IGrantable",
|
|
@@ -3498,8 +3725,8 @@
|
|
|
3498
3725
|
},
|
|
3499
3726
|
"immutable": true,
|
|
3500
3727
|
"locationInModule": {
|
|
3501
|
-
"filename": "src/providers/
|
|
3502
|
-
"line":
|
|
3728
|
+
"filename": "src/providers/codebuild.ts",
|
|
3729
|
+
"line": 116
|
|
3503
3730
|
},
|
|
3504
3731
|
"name": "label",
|
|
3505
3732
|
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
@@ -3510,16 +3737,16 @@
|
|
|
3510
3737
|
{
|
|
3511
3738
|
"docs": {
|
|
3512
3739
|
"stability": "experimental",
|
|
3513
|
-
"summary": "
|
|
3740
|
+
"summary": "CodeBuild project hosting the runner."
|
|
3514
3741
|
},
|
|
3515
3742
|
"immutable": true,
|
|
3516
3743
|
"locationInModule": {
|
|
3517
|
-
"filename": "src/providers/
|
|
3518
|
-
"line":
|
|
3744
|
+
"filename": "src/providers/codebuild.ts",
|
|
3745
|
+
"line": 111
|
|
3519
3746
|
},
|
|
3520
|
-
"name": "
|
|
3747
|
+
"name": "project",
|
|
3521
3748
|
"type": {
|
|
3522
|
-
"fqn": "aws-cdk-lib.
|
|
3749
|
+
"fqn": "aws-cdk-lib.aws_codebuild.Project"
|
|
3523
3750
|
}
|
|
3524
3751
|
},
|
|
3525
3752
|
{
|
|
@@ -3529,8 +3756,8 @@
|
|
|
3529
3756
|
},
|
|
3530
3757
|
"immutable": true,
|
|
3531
3758
|
"locationInModule": {
|
|
3532
|
-
"filename": "src/providers/
|
|
3533
|
-
"line":
|
|
3759
|
+
"filename": "src/providers/codebuild.ts",
|
|
3760
|
+
"line": 126
|
|
3534
3761
|
},
|
|
3535
3762
|
"name": "securityGroup",
|
|
3536
3763
|
"optional": true,
|
|
@@ -3542,12 +3769,12 @@
|
|
|
3542
3769
|
{
|
|
3543
3770
|
"docs": {
|
|
3544
3771
|
"stability": "experimental",
|
|
3545
|
-
"summary": "VPC used for hosting the
|
|
3772
|
+
"summary": "VPC used for hosting the project."
|
|
3546
3773
|
},
|
|
3547
3774
|
"immutable": true,
|
|
3548
3775
|
"locationInModule": {
|
|
3549
|
-
"filename": "src/providers/
|
|
3550
|
-
"line":
|
|
3776
|
+
"filename": "src/providers/codebuild.ts",
|
|
3777
|
+
"line": 121
|
|
3551
3778
|
},
|
|
3552
3779
|
"name": "vpc",
|
|
3553
3780
|
"optional": true,
|
|
@@ -3557,193 +3784,173 @@
|
|
|
3557
3784
|
}
|
|
3558
3785
|
}
|
|
3559
3786
|
],
|
|
3560
|
-
"symbolId": "src/providers/
|
|
3787
|
+
"symbolId": "src/providers/codebuild:CodeBuildRunner"
|
|
3561
3788
|
},
|
|
3562
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3789
|
+
"@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps": {
|
|
3563
3790
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3564
3791
|
"datatype": true,
|
|
3565
3792
|
"docs": {
|
|
3566
|
-
"stability": "experimental"
|
|
3567
|
-
"summary": "Properties for FargateRunner."
|
|
3793
|
+
"stability": "experimental"
|
|
3568
3794
|
},
|
|
3569
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3795
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps",
|
|
3570
3796
|
"interfaces": [
|
|
3571
3797
|
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
|
|
3572
3798
|
],
|
|
3573
3799
|
"kind": "interface",
|
|
3574
3800
|
"locationInModule": {
|
|
3575
|
-
"filename": "src/providers/
|
|
3576
|
-
"line":
|
|
3801
|
+
"filename": "src/providers/codebuild.ts",
|
|
3802
|
+
"line": 20
|
|
3577
3803
|
},
|
|
3578
|
-
"name": "
|
|
3804
|
+
"name": "CodeBuildRunnerProps",
|
|
3579
3805
|
"properties": [
|
|
3580
3806
|
{
|
|
3581
3807
|
"abstract": true,
|
|
3582
3808
|
"docs": {
|
|
3583
|
-
"default": "
|
|
3584
|
-
"remarks": "
|
|
3809
|
+
"default": "{@link ComputeType#SMALL}",
|
|
3810
|
+
"remarks": "See the {@link ComputeType} enum for the possible values.",
|
|
3585
3811
|
"stability": "experimental",
|
|
3586
|
-
"summary": "
|
|
3812
|
+
"summary": "The type of compute to use for this build."
|
|
3587
3813
|
},
|
|
3588
3814
|
"immutable": true,
|
|
3589
3815
|
"locationInModule": {
|
|
3590
|
-
"filename": "src/providers/
|
|
3591
|
-
"line":
|
|
3816
|
+
"filename": "src/providers/codebuild.ts",
|
|
3817
|
+
"line": 62
|
|
3592
3818
|
},
|
|
3593
|
-
"name": "
|
|
3819
|
+
"name": "computeType",
|
|
3594
3820
|
"optional": true,
|
|
3595
3821
|
"type": {
|
|
3596
|
-
"
|
|
3822
|
+
"fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
|
|
3597
3823
|
}
|
|
3598
3824
|
},
|
|
3599
3825
|
{
|
|
3600
3826
|
"abstract": true,
|
|
3601
3827
|
"docs": {
|
|
3602
|
-
"default": "
|
|
3828
|
+
"default": "image builder with `CodeBuildRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile",
|
|
3829
|
+
"remarks": "A user named `runner` is expected to exist with access to Docker-in-Docker.",
|
|
3603
3830
|
"stability": "experimental",
|
|
3604
|
-
"summary": "
|
|
3831
|
+
"summary": "Provider running an image to run inside CodeBuild with GitHub runner pre-configured."
|
|
3605
3832
|
},
|
|
3606
3833
|
"immutable": true,
|
|
3607
3834
|
"locationInModule": {
|
|
3608
|
-
"filename": "src/providers/
|
|
3609
|
-
"line":
|
|
3835
|
+
"filename": "src/providers/codebuild.ts",
|
|
3836
|
+
"line": 26
|
|
3610
3837
|
},
|
|
3611
|
-
"name": "
|
|
3838
|
+
"name": "imageBuilder",
|
|
3612
3839
|
"optional": true,
|
|
3613
3840
|
"type": {
|
|
3614
|
-
"fqn": "
|
|
3841
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
3615
3842
|
}
|
|
3616
3843
|
},
|
|
3617
3844
|
{
|
|
3618
3845
|
"abstract": true,
|
|
3619
3846
|
"docs": {
|
|
3620
|
-
"default": "
|
|
3621
|
-
"remarks": "For tasks using the Fargate launch type,\nthis field is required and you must use one of the following values,\nwhich determines your range of valid values for the memory parameter:\n\n256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n\n512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n\n1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n\n2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n\n4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)",
|
|
3847
|
+
"default": "'codebuild'",
|
|
3622
3848
|
"stability": "experimental",
|
|
3623
|
-
"summary": "
|
|
3849
|
+
"summary": "GitHub Actions label used for this provider."
|
|
3624
3850
|
},
|
|
3625
3851
|
"immutable": true,
|
|
3626
3852
|
"locationInModule": {
|
|
3627
|
-
"filename": "src/providers/
|
|
3628
|
-
"line":
|
|
3853
|
+
"filename": "src/providers/codebuild.ts",
|
|
3854
|
+
"line": 33
|
|
3629
3855
|
},
|
|
3630
|
-
"name": "
|
|
3856
|
+
"name": "label",
|
|
3631
3857
|
"optional": true,
|
|
3632
3858
|
"type": {
|
|
3633
|
-
"primitive": "
|
|
3859
|
+
"primitive": "string"
|
|
3634
3860
|
}
|
|
3635
3861
|
},
|
|
3636
3862
|
{
|
|
3637
3863
|
"abstract": true,
|
|
3638
3864
|
"docs": {
|
|
3639
|
-
"default": "
|
|
3640
|
-
"remarks": "The maximum supported value is 200 GiB.\n\nNOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later.",
|
|
3865
|
+
"default": "public project with no security group",
|
|
3641
3866
|
"stability": "experimental",
|
|
3642
|
-
"summary": "
|
|
3867
|
+
"summary": "Security Group to assign to this instance."
|
|
3643
3868
|
},
|
|
3644
3869
|
"immutable": true,
|
|
3645
3870
|
"locationInModule": {
|
|
3646
|
-
"filename": "src/providers/
|
|
3647
|
-
"line":
|
|
3871
|
+
"filename": "src/providers/codebuild.ts",
|
|
3872
|
+
"line": 47
|
|
3648
3873
|
},
|
|
3649
|
-
"name": "
|
|
3874
|
+
"name": "securityGroup",
|
|
3650
3875
|
"optional": true,
|
|
3651
3876
|
"type": {
|
|
3652
|
-
"
|
|
3877
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
3653
3878
|
}
|
|
3654
3879
|
},
|
|
3655
3880
|
{
|
|
3656
3881
|
"abstract": true,
|
|
3657
3882
|
"docs": {
|
|
3658
|
-
"default": "
|
|
3883
|
+
"default": "no subnet",
|
|
3659
3884
|
"stability": "experimental",
|
|
3660
|
-
"summary": "
|
|
3885
|
+
"summary": "Where to place the network interfaces within the VPC."
|
|
3661
3886
|
},
|
|
3662
3887
|
"immutable": true,
|
|
3663
3888
|
"locationInModule": {
|
|
3664
|
-
"filename": "src/providers/
|
|
3665
|
-
"line":
|
|
3889
|
+
"filename": "src/providers/codebuild.ts",
|
|
3890
|
+
"line": 54
|
|
3666
3891
|
},
|
|
3667
|
-
"name": "
|
|
3892
|
+
"name": "subnetSelection",
|
|
3668
3893
|
"optional": true,
|
|
3669
3894
|
"type": {
|
|
3670
|
-
"
|
|
3895
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
|
|
3671
3896
|
}
|
|
3672
3897
|
},
|
|
3673
3898
|
{
|
|
3674
3899
|
"abstract": true,
|
|
3675
3900
|
"docs": {
|
|
3676
|
-
"default": "
|
|
3677
|
-
"remarks": "For
|
|
3901
|
+
"default": "Duration.hours(1)",
|
|
3902
|
+
"remarks": "For valid values, see the timeoutInMinutes field in the AWS\nCodeBuild User Guide.",
|
|
3678
3903
|
"stability": "experimental",
|
|
3679
|
-
"summary": "The
|
|
3904
|
+
"summary": "The number of minutes after which AWS CodeBuild stops the build if it's not complete."
|
|
3680
3905
|
},
|
|
3681
3906
|
"immutable": true,
|
|
3682
3907
|
"locationInModule": {
|
|
3683
|
-
"filename": "src/providers/
|
|
3684
|
-
"line":
|
|
3908
|
+
"filename": "src/providers/codebuild.ts",
|
|
3909
|
+
"line": 71
|
|
3685
3910
|
},
|
|
3686
|
-
"name": "
|
|
3911
|
+
"name": "timeout",
|
|
3687
3912
|
"optional": true,
|
|
3688
3913
|
"type": {
|
|
3689
|
-
"
|
|
3914
|
+
"fqn": "aws-cdk-lib.Duration"
|
|
3690
3915
|
}
|
|
3691
3916
|
},
|
|
3692
3917
|
{
|
|
3693
3918
|
"abstract": true,
|
|
3694
3919
|
"docs": {
|
|
3695
|
-
"default": "
|
|
3920
|
+
"default": "no VPC",
|
|
3696
3921
|
"stability": "experimental",
|
|
3697
|
-
"summary": "
|
|
3922
|
+
"summary": "VPC to launch the runners in."
|
|
3698
3923
|
},
|
|
3699
3924
|
"immutable": true,
|
|
3700
3925
|
"locationInModule": {
|
|
3701
|
-
"filename": "src/providers/
|
|
3702
|
-
"line":
|
|
3926
|
+
"filename": "src/providers/codebuild.ts",
|
|
3927
|
+
"line": 40
|
|
3703
3928
|
},
|
|
3704
|
-
"name": "
|
|
3705
|
-
"optional": true,
|
|
3706
|
-
"type": {
|
|
3707
|
-
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
3708
|
-
}
|
|
3709
|
-
},
|
|
3710
|
-
{
|
|
3711
|
-
"abstract": true,
|
|
3712
|
-
"docs": {
|
|
3713
|
-
"default": "default account VPC",
|
|
3714
|
-
"stability": "experimental",
|
|
3715
|
-
"summary": "VPC to launch the runners in."
|
|
3716
|
-
},
|
|
3717
|
-
"immutable": true,
|
|
3718
|
-
"locationInModule": {
|
|
3719
|
-
"filename": "src/providers/fargate.ts",
|
|
3720
|
-
"line": 30
|
|
3721
|
-
},
|
|
3722
|
-
"name": "vpc",
|
|
3929
|
+
"name": "vpc",
|
|
3723
3930
|
"optional": true,
|
|
3724
3931
|
"type": {
|
|
3725
3932
|
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
3726
3933
|
}
|
|
3727
3934
|
}
|
|
3728
3935
|
],
|
|
3729
|
-
"symbolId": "src/providers/
|
|
3936
|
+
"symbolId": "src/providers/codebuild:CodeBuildRunnerProps"
|
|
3730
3937
|
},
|
|
3731
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
3938
|
+
"@cloudsnorkel/cdk-github-runners.FargateRunner": {
|
|
3732
3939
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3733
3940
|
"base": "constructs.Construct",
|
|
3734
3941
|
"docs": {
|
|
3735
|
-
"remarks": "
|
|
3942
|
+
"remarks": "Creates a task definition with a single container that gets started for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
|
|
3736
3943
|
"stability": "experimental",
|
|
3737
|
-
"summary": "
|
|
3944
|
+
"summary": "GitHub Actions runner provider using Fargate to execute the actions."
|
|
3738
3945
|
},
|
|
3739
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3946
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.FargateRunner",
|
|
3740
3947
|
"initializer": {
|
|
3741
3948
|
"docs": {
|
|
3742
3949
|
"stability": "experimental"
|
|
3743
3950
|
},
|
|
3744
3951
|
"locationInModule": {
|
|
3745
|
-
"filename": "src/
|
|
3746
|
-
"line":
|
|
3952
|
+
"filename": "src/providers/fargate.ts",
|
|
3953
|
+
"line": 229
|
|
3747
3954
|
},
|
|
3748
3955
|
"parameters": [
|
|
3749
3956
|
{
|
|
@@ -3761,477 +3968,1241 @@
|
|
|
3761
3968
|
{
|
|
3762
3969
|
"name": "props",
|
|
3763
3970
|
"type": {
|
|
3764
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
3971
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProps"
|
|
3765
3972
|
}
|
|
3766
3973
|
}
|
|
3767
3974
|
]
|
|
3768
3975
|
},
|
|
3976
|
+
"interfaces": [
|
|
3977
|
+
"@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
3978
|
+
],
|
|
3769
3979
|
"kind": "class",
|
|
3770
3980
|
"locationInModule": {
|
|
3771
|
-
"filename": "src/
|
|
3772
|
-
"line":
|
|
3981
|
+
"filename": "src/providers/fargate.ts",
|
|
3982
|
+
"line": 160
|
|
3773
3983
|
},
|
|
3774
|
-
"
|
|
3984
|
+
"methods": [
|
|
3985
|
+
{
|
|
3986
|
+
"docs": {
|
|
3987
|
+
"remarks": "Called by GithubRunners and shouldn't be called manually.",
|
|
3988
|
+
"stability": "experimental",
|
|
3989
|
+
"summary": "Generate step function task(s) to start a new runner."
|
|
3990
|
+
},
|
|
3991
|
+
"locationInModule": {
|
|
3992
|
+
"filename": "src/providers/fargate.ts",
|
|
3993
|
+
"line": 298
|
|
3994
|
+
},
|
|
3995
|
+
"name": "getStepFunctionTask",
|
|
3996
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3997
|
+
"parameters": [
|
|
3998
|
+
{
|
|
3999
|
+
"docs": {
|
|
4000
|
+
"summary": "workflow job details."
|
|
4001
|
+
},
|
|
4002
|
+
"name": "parameters",
|
|
4003
|
+
"type": {
|
|
4004
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
|
|
4005
|
+
}
|
|
4006
|
+
}
|
|
4007
|
+
],
|
|
4008
|
+
"returns": {
|
|
4009
|
+
"type": {
|
|
4010
|
+
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
4011
|
+
}
|
|
4012
|
+
}
|
|
4013
|
+
}
|
|
4014
|
+
],
|
|
4015
|
+
"name": "FargateRunner",
|
|
3775
4016
|
"properties": [
|
|
3776
4017
|
{
|
|
4018
|
+
"const": true,
|
|
3777
4019
|
"docs": {
|
|
4020
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
|
|
3778
4021
|
"stability": "experimental",
|
|
3779
|
-
"summary": "
|
|
4022
|
+
"summary": "Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner."
|
|
3780
4023
|
},
|
|
3781
4024
|
"immutable": true,
|
|
3782
4025
|
"locationInModule": {
|
|
3783
|
-
"filename": "src/
|
|
3784
|
-
"line":
|
|
4026
|
+
"filename": "src/providers/fargate.ts",
|
|
4027
|
+
"line": 177
|
|
3785
4028
|
},
|
|
3786
|
-
"name": "
|
|
4029
|
+
"name": "LINUX_ARM64_DOCKERFILE_PATH",
|
|
4030
|
+
"static": true,
|
|
3787
4031
|
"type": {
|
|
3788
|
-
"
|
|
4032
|
+
"primitive": "string"
|
|
3789
4033
|
}
|
|
3790
4034
|
},
|
|
3791
4035
|
{
|
|
4036
|
+
"const": true,
|
|
3792
4037
|
"docs": {
|
|
3793
|
-
"
|
|
4038
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
|
|
4039
|
+
"stability": "experimental",
|
|
4040
|
+
"summary": "Path to Dockerfile for Linux x64 with all the requirement for Fargate runner."
|
|
3794
4041
|
},
|
|
3795
4042
|
"immutable": true,
|
|
3796
4043
|
"locationInModule": {
|
|
3797
|
-
"filename": "src/
|
|
3798
|
-
"line":
|
|
4044
|
+
"filename": "src/providers/fargate.ts",
|
|
4045
|
+
"line": 168
|
|
3799
4046
|
},
|
|
3800
|
-
"name": "
|
|
4047
|
+
"name": "LINUX_X64_DOCKERFILE_PATH",
|
|
4048
|
+
"static": true,
|
|
3801
4049
|
"type": {
|
|
3802
|
-
"
|
|
4050
|
+
"primitive": "string"
|
|
3803
4051
|
}
|
|
3804
4052
|
},
|
|
3805
4053
|
{
|
|
3806
4054
|
"docs": {
|
|
3807
4055
|
"stability": "experimental",
|
|
3808
|
-
"summary": "
|
|
4056
|
+
"summary": "Whether task will have a public IP."
|
|
3809
4057
|
},
|
|
3810
4058
|
"immutable": true,
|
|
3811
4059
|
"locationInModule": {
|
|
3812
|
-
"filename": "src/
|
|
3813
|
-
"line":
|
|
4060
|
+
"filename": "src/providers/fargate.ts",
|
|
4061
|
+
"line": 212
|
|
3814
4062
|
},
|
|
3815
|
-
"name": "
|
|
4063
|
+
"name": "assignPublicIp",
|
|
3816
4064
|
"type": {
|
|
3817
|
-
"
|
|
3818
|
-
"elementtype": {
|
|
3819
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
3820
|
-
},
|
|
3821
|
-
"kind": "array"
|
|
3822
|
-
}
|
|
4065
|
+
"primitive": "boolean"
|
|
3823
4066
|
}
|
|
3824
4067
|
},
|
|
3825
4068
|
{
|
|
3826
4069
|
"docs": {
|
|
3827
4070
|
"stability": "experimental",
|
|
3828
|
-
"summary": "
|
|
4071
|
+
"summary": "Cluster hosting the task hosting the runner."
|
|
3829
4072
|
},
|
|
3830
4073
|
"immutable": true,
|
|
3831
4074
|
"locationInModule": {
|
|
3832
|
-
"filename": "src/
|
|
3833
|
-
"line":
|
|
4075
|
+
"filename": "src/providers/fargate.ts",
|
|
4076
|
+
"line": 182
|
|
3834
4077
|
},
|
|
3835
|
-
"name": "
|
|
4078
|
+
"name": "cluster",
|
|
3836
4079
|
"type": {
|
|
3837
|
-
"fqn": "
|
|
4080
|
+
"fqn": "aws-cdk-lib.aws_ecs.Cluster"
|
|
3838
4081
|
}
|
|
3839
|
-
}
|
|
3840
|
-
],
|
|
3841
|
-
"symbolId": "src/runner:GitHubRunners"
|
|
3842
|
-
},
|
|
3843
|
-
"@cloudsnorkel/cdk-github-runners.GitHubRunnersProps": {
|
|
3844
|
-
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3845
|
-
"datatype": true,
|
|
3846
|
-
"docs": {
|
|
3847
|
-
"stability": "experimental",
|
|
3848
|
-
"summary": "Properties for GitHubRunners."
|
|
3849
|
-
},
|
|
3850
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps",
|
|
3851
|
-
"kind": "interface",
|
|
3852
|
-
"locationInModule": {
|
|
3853
|
-
"filename": "src/runner.ts",
|
|
3854
|
-
"line": 15
|
|
3855
|
-
},
|
|
3856
|
-
"name": "GitHubRunnersProps",
|
|
3857
|
-
"properties": [
|
|
4082
|
+
},
|
|
3858
4083
|
{
|
|
3859
|
-
"abstract": true,
|
|
3860
4084
|
"docs": {
|
|
3861
|
-
"default": "'codebuild'",
|
|
3862
|
-
"remarks": "A provider with that label must be configured.",
|
|
3863
4085
|
"stability": "experimental",
|
|
3864
|
-
"summary": "
|
|
4086
|
+
"summary": "The network connections associated with this resource."
|
|
3865
4087
|
},
|
|
3866
4088
|
"immutable": true,
|
|
3867
4089
|
"locationInModule": {
|
|
3868
|
-
"filename": "src/
|
|
3869
|
-
"line":
|
|
4090
|
+
"filename": "src/providers/fargate.ts",
|
|
4091
|
+
"line": 222
|
|
3870
4092
|
},
|
|
3871
|
-
"name": "
|
|
3872
|
-
"
|
|
4093
|
+
"name": "connections",
|
|
4094
|
+
"overrides": "aws-cdk-lib.aws_ec2.IConnectable",
|
|
3873
4095
|
"type": {
|
|
3874
|
-
"
|
|
4096
|
+
"fqn": "aws-cdk-lib.aws_ec2.Connections"
|
|
3875
4097
|
}
|
|
3876
4098
|
},
|
|
3877
4099
|
{
|
|
3878
|
-
"abstract": true,
|
|
3879
4100
|
"docs": {
|
|
3880
|
-
"default": "CodeBuild, Lambda and Fargate runners with all the defaults (no VPC or default account VPC)",
|
|
3881
|
-
"remarks": "At least one provider is required. Provider will be selected when its label matches the labels requested by the workflow job.",
|
|
3882
4101
|
"stability": "experimental",
|
|
3883
|
-
"summary": "
|
|
4102
|
+
"summary": "Container definition hosting the runner."
|
|
3884
4103
|
},
|
|
3885
4104
|
"immutable": true,
|
|
3886
4105
|
"locationInModule": {
|
|
3887
|
-
"filename": "src/
|
|
3888
|
-
"line":
|
|
4106
|
+
"filename": "src/providers/fargate.ts",
|
|
4107
|
+
"line": 192
|
|
3889
4108
|
},
|
|
3890
|
-
"name": "
|
|
3891
|
-
"optional": true,
|
|
4109
|
+
"name": "container",
|
|
3892
4110
|
"type": {
|
|
3893
|
-
"
|
|
3894
|
-
"elementtype": {
|
|
3895
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
3896
|
-
},
|
|
3897
|
-
"kind": "array"
|
|
3898
|
-
}
|
|
4111
|
+
"fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition"
|
|
3899
4112
|
}
|
|
3900
|
-
}
|
|
3901
|
-
],
|
|
3902
|
-
"symbolId": "src/runner:GitHubRunnersProps"
|
|
3903
|
-
},
|
|
3904
|
-
"@cloudsnorkel/cdk-github-runners.IRunnerProvider": {
|
|
3905
|
-
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
3906
|
-
"docs": {
|
|
3907
|
-
"remarks": "Implementations create all required resources and return a step function task that starts those resources from {@link getStepFunctionTask}.",
|
|
3908
|
-
"stability": "experimental",
|
|
3909
|
-
"summary": "Interface for all runner providers."
|
|
3910
|
-
},
|
|
3911
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3912
|
-
"interfaces": [
|
|
3913
|
-
"aws-cdk-lib.aws_ec2.IConnectable",
|
|
3914
|
-
"aws-cdk-lib.aws_iam.IGrantable"
|
|
3915
|
-
],
|
|
3916
|
-
"kind": "interface",
|
|
3917
|
-
"locationInModule": {
|
|
3918
|
-
"filename": "src/providers/common.ts",
|
|
3919
|
-
"line": 89
|
|
3920
|
-
},
|
|
3921
|
-
"methods": [
|
|
4113
|
+
},
|
|
3922
4114
|
{
|
|
3923
|
-
"abstract": true,
|
|
3924
4115
|
"docs": {
|
|
3925
|
-
"remarks": "Called by GithubRunners and shouldn't be called manually.",
|
|
3926
4116
|
"stability": "experimental",
|
|
3927
|
-
"summary": "
|
|
4117
|
+
"summary": "Grant principal used to add permissions to the runner role."
|
|
3928
4118
|
},
|
|
4119
|
+
"immutable": true,
|
|
3929
4120
|
"locationInModule": {
|
|
3930
|
-
"filename": "src/providers/
|
|
3931
|
-
"line":
|
|
4121
|
+
"filename": "src/providers/fargate.ts",
|
|
4122
|
+
"line": 217
|
|
3932
4123
|
},
|
|
3933
|
-
"name": "
|
|
3934
|
-
"
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
"summary": "specific build parameters."
|
|
3938
|
-
},
|
|
3939
|
-
"name": "parameters",
|
|
3940
|
-
"type": {
|
|
3941
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
|
|
3942
|
-
}
|
|
3943
|
-
}
|
|
3944
|
-
],
|
|
3945
|
-
"returns": {
|
|
3946
|
-
"type": {
|
|
3947
|
-
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
3948
|
-
}
|
|
4124
|
+
"name": "grantPrincipal",
|
|
4125
|
+
"overrides": "aws-cdk-lib.aws_iam.IGrantable",
|
|
4126
|
+
"type": {
|
|
4127
|
+
"fqn": "aws-cdk-lib.aws_iam.IPrincipal"
|
|
3949
4128
|
}
|
|
3950
|
-
}
|
|
3951
|
-
],
|
|
3952
|
-
"name": "IRunnerProvider",
|
|
3953
|
-
"properties": [
|
|
4129
|
+
},
|
|
3954
4130
|
{
|
|
3955
|
-
"abstract": true,
|
|
3956
4131
|
"docs": {
|
|
3957
4132
|
"stability": "experimental",
|
|
3958
|
-
"summary": "
|
|
4133
|
+
"summary": "Label associated with this provider."
|
|
3959
4134
|
},
|
|
3960
4135
|
"immutable": true,
|
|
3961
4136
|
"locationInModule": {
|
|
3962
|
-
"filename": "src/providers/
|
|
3963
|
-
"line":
|
|
4137
|
+
"filename": "src/providers/fargate.ts",
|
|
4138
|
+
"line": 197
|
|
3964
4139
|
},
|
|
3965
4140
|
"name": "label",
|
|
4141
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3966
4142
|
"type": {
|
|
3967
4143
|
"primitive": "string"
|
|
3968
4144
|
}
|
|
3969
4145
|
},
|
|
3970
4146
|
{
|
|
3971
|
-
"abstract": true,
|
|
3972
4147
|
"docs": {
|
|
3973
4148
|
"stability": "experimental",
|
|
3974
|
-
"summary": "
|
|
4149
|
+
"summary": "Use spot pricing for Fargate tasks."
|
|
3975
4150
|
},
|
|
3976
4151
|
"immutable": true,
|
|
3977
4152
|
"locationInModule": {
|
|
3978
|
-
"filename": "src/providers/
|
|
3979
|
-
"line":
|
|
4153
|
+
"filename": "src/providers/fargate.ts",
|
|
4154
|
+
"line": 227
|
|
4155
|
+
},
|
|
4156
|
+
"name": "spot",
|
|
4157
|
+
"type": {
|
|
4158
|
+
"primitive": "boolean"
|
|
4159
|
+
}
|
|
4160
|
+
},
|
|
4161
|
+
{
|
|
4162
|
+
"docs": {
|
|
4163
|
+
"stability": "experimental",
|
|
4164
|
+
"summary": "Fargate task hosting the runner."
|
|
4165
|
+
},
|
|
4166
|
+
"immutable": true,
|
|
4167
|
+
"locationInModule": {
|
|
4168
|
+
"filename": "src/providers/fargate.ts",
|
|
4169
|
+
"line": 187
|
|
4170
|
+
},
|
|
4171
|
+
"name": "task",
|
|
4172
|
+
"type": {
|
|
4173
|
+
"fqn": "aws-cdk-lib.aws_ecs.FargateTaskDefinition"
|
|
4174
|
+
}
|
|
4175
|
+
},
|
|
4176
|
+
{
|
|
4177
|
+
"docs": {
|
|
4178
|
+
"stability": "experimental",
|
|
4179
|
+
"summary": "Security group attached to the task."
|
|
4180
|
+
},
|
|
4181
|
+
"immutable": true,
|
|
4182
|
+
"locationInModule": {
|
|
4183
|
+
"filename": "src/providers/fargate.ts",
|
|
4184
|
+
"line": 207
|
|
3980
4185
|
},
|
|
3981
4186
|
"name": "securityGroup",
|
|
3982
4187
|
"optional": true,
|
|
4188
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
3983
4189
|
"type": {
|
|
3984
4190
|
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
3985
4191
|
}
|
|
3986
4192
|
},
|
|
3987
4193
|
{
|
|
3988
|
-
"abstract": true,
|
|
3989
4194
|
"docs": {
|
|
3990
4195
|
"stability": "experimental",
|
|
3991
|
-
"summary": "VPC
|
|
4196
|
+
"summary": "VPC used for hosting the task."
|
|
3992
4197
|
},
|
|
3993
4198
|
"immutable": true,
|
|
3994
4199
|
"locationInModule": {
|
|
3995
|
-
"filename": "src/providers/
|
|
3996
|
-
"line":
|
|
4200
|
+
"filename": "src/providers/fargate.ts",
|
|
4201
|
+
"line": 202
|
|
3997
4202
|
},
|
|
3998
4203
|
"name": "vpc",
|
|
3999
4204
|
"optional": true,
|
|
4205
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4000
4206
|
"type": {
|
|
4001
4207
|
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
4002
4208
|
}
|
|
4003
4209
|
}
|
|
4004
4210
|
],
|
|
4005
|
-
"symbolId": "src/providers/
|
|
4211
|
+
"symbolId": "src/providers/fargate:FargateRunner"
|
|
4006
4212
|
},
|
|
4007
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
4213
|
+
"@cloudsnorkel/cdk-github-runners.FargateRunnerProps": {
|
|
4008
4214
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4009
|
-
"
|
|
4215
|
+
"datatype": true,
|
|
4010
4216
|
"docs": {
|
|
4011
|
-
"remarks": "Creates a Docker-based function that gets executed for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
|
|
4012
4217
|
"stability": "experimental",
|
|
4013
|
-
"summary": "
|
|
4218
|
+
"summary": "Properties for FargateRunner."
|
|
4014
4219
|
},
|
|
4015
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
4016
|
-
"
|
|
4220
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProps",
|
|
4221
|
+
"interfaces": [
|
|
4222
|
+
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
|
|
4223
|
+
],
|
|
4224
|
+
"kind": "interface",
|
|
4225
|
+
"locationInModule": {
|
|
4226
|
+
"filename": "src/providers/fargate.ts",
|
|
4227
|
+
"line": 19
|
|
4228
|
+
},
|
|
4229
|
+
"name": "FargateRunnerProps",
|
|
4230
|
+
"properties": [
|
|
4231
|
+
{
|
|
4232
|
+
"abstract": true,
|
|
4233
|
+
"docs": {
|
|
4234
|
+
"default": "true",
|
|
4235
|
+
"remarks": "Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway.",
|
|
4236
|
+
"stability": "experimental",
|
|
4237
|
+
"summary": "Assign public IP to the runner task."
|
|
4238
|
+
},
|
|
4239
|
+
"immutable": true,
|
|
4240
|
+
"locationInModule": {
|
|
4241
|
+
"filename": "src/providers/fargate.ts",
|
|
4242
|
+
"line": 72
|
|
4243
|
+
},
|
|
4244
|
+
"name": "assignPublicIp",
|
|
4245
|
+
"optional": true,
|
|
4246
|
+
"type": {
|
|
4247
|
+
"primitive": "boolean"
|
|
4248
|
+
}
|
|
4249
|
+
},
|
|
4250
|
+
{
|
|
4251
|
+
"abstract": true,
|
|
4252
|
+
"docs": {
|
|
4253
|
+
"default": "a new cluster",
|
|
4254
|
+
"stability": "experimental",
|
|
4255
|
+
"summary": "Existing Fargate cluster to use."
|
|
4256
|
+
},
|
|
4257
|
+
"immutable": true,
|
|
4258
|
+
"locationInModule": {
|
|
4259
|
+
"filename": "src/providers/fargate.ts",
|
|
4260
|
+
"line": 63
|
|
4261
|
+
},
|
|
4262
|
+
"name": "cluster",
|
|
4263
|
+
"optional": true,
|
|
4264
|
+
"type": {
|
|
4265
|
+
"fqn": "aws-cdk-lib.aws_ecs.Cluster"
|
|
4266
|
+
}
|
|
4267
|
+
},
|
|
4268
|
+
{
|
|
4269
|
+
"abstract": true,
|
|
4270
|
+
"docs": {
|
|
4271
|
+
"default": "1024",
|
|
4272
|
+
"remarks": "For tasks using the Fargate launch type,\nthis field is required and you must use one of the following values,\nwhich determines your range of valid values for the memory parameter:\n\n256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n\n512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n\n1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n\n2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n\n4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)",
|
|
4273
|
+
"stability": "experimental",
|
|
4274
|
+
"summary": "The number of cpu units used by the task."
|
|
4275
|
+
},
|
|
4276
|
+
"immutable": true,
|
|
4277
|
+
"locationInModule": {
|
|
4278
|
+
"filename": "src/providers/fargate.ts",
|
|
4279
|
+
"line": 91
|
|
4280
|
+
},
|
|
4281
|
+
"name": "cpu",
|
|
4282
|
+
"optional": true,
|
|
4283
|
+
"type": {
|
|
4284
|
+
"primitive": "number"
|
|
4285
|
+
}
|
|
4286
|
+
},
|
|
4287
|
+
{
|
|
4288
|
+
"abstract": true,
|
|
4289
|
+
"docs": {
|
|
4290
|
+
"default": "20",
|
|
4291
|
+
"remarks": "The maximum supported value is 200 GiB.\n\nNOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later.",
|
|
4292
|
+
"stability": "experimental",
|
|
4293
|
+
"summary": "The amount (in GiB) of ephemeral storage to be allocated to the task."
|
|
4294
|
+
},
|
|
4295
|
+
"immutable": true,
|
|
4296
|
+
"locationInModule": {
|
|
4297
|
+
"filename": "src/providers/fargate.ts",
|
|
4298
|
+
"line": 118
|
|
4299
|
+
},
|
|
4300
|
+
"name": "ephemeralStorageGiB",
|
|
4301
|
+
"optional": true,
|
|
4302
|
+
"type": {
|
|
4303
|
+
"primitive": "number"
|
|
4304
|
+
}
|
|
4305
|
+
},
|
|
4306
|
+
{
|
|
4307
|
+
"abstract": true,
|
|
4308
|
+
"docs": {
|
|
4309
|
+
"default": "image builder with `FargateRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile",
|
|
4310
|
+
"remarks": "A user named `runner` is expected to exist.\n\nThe entry point should start GitHub runner. For example:\n\n```\n#!/bin/bash\nset -e -u -o pipefail\n\n/home/runner/config.sh --unattended --url \"https://${GITHUB_DOMAIN}/${OWNER}/${REPO}\" --token \"${RUNNER_TOKEN}\" --ephemeral --work _work --labels \"${RUNNER_LABEL}\" --disableupdate --name \"${RUNNER_NAME}\"\n/home/runner/run.sh\n```",
|
|
4311
|
+
"stability": "experimental",
|
|
4312
|
+
"summary": "Provider running an image to run inside CodeBuild with GitHub runner pre-configured."
|
|
4313
|
+
},
|
|
4314
|
+
"immutable": true,
|
|
4315
|
+
"locationInModule": {
|
|
4316
|
+
"filename": "src/providers/fargate.ts",
|
|
4317
|
+
"line": 35
|
|
4318
|
+
},
|
|
4319
|
+
"name": "imageBuilder",
|
|
4320
|
+
"optional": true,
|
|
4321
|
+
"type": {
|
|
4322
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
4323
|
+
}
|
|
4324
|
+
},
|
|
4325
|
+
{
|
|
4326
|
+
"abstract": true,
|
|
4327
|
+
"docs": {
|
|
4328
|
+
"default": "'fargate'",
|
|
4329
|
+
"stability": "experimental",
|
|
4330
|
+
"summary": "GitHub Actions label used for this provider."
|
|
4331
|
+
},
|
|
4332
|
+
"immutable": true,
|
|
4333
|
+
"locationInModule": {
|
|
4334
|
+
"filename": "src/providers/fargate.ts",
|
|
4335
|
+
"line": 42
|
|
4336
|
+
},
|
|
4337
|
+
"name": "label",
|
|
4338
|
+
"optional": true,
|
|
4339
|
+
"type": {
|
|
4340
|
+
"primitive": "string"
|
|
4341
|
+
}
|
|
4342
|
+
},
|
|
4343
|
+
{
|
|
4344
|
+
"abstract": true,
|
|
4345
|
+
"docs": {
|
|
4346
|
+
"default": "2048",
|
|
4347
|
+
"remarks": "For tasks using the Fargate launch type,\nthis field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:\n\n512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)\n\n1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)\n\n2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)\n\nBetween 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)\n\nBetween 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)",
|
|
4348
|
+
"stability": "experimental",
|
|
4349
|
+
"summary": "The amount (in MiB) of memory used by the task."
|
|
4350
|
+
},
|
|
4351
|
+
"immutable": true,
|
|
4352
|
+
"locationInModule": {
|
|
4353
|
+
"filename": "src/providers/fargate.ts",
|
|
4354
|
+
"line": 109
|
|
4355
|
+
},
|
|
4356
|
+
"name": "memoryLimitMiB",
|
|
4357
|
+
"optional": true,
|
|
4358
|
+
"type": {
|
|
4359
|
+
"primitive": "number"
|
|
4360
|
+
}
|
|
4361
|
+
},
|
|
4362
|
+
{
|
|
4363
|
+
"abstract": true,
|
|
4364
|
+
"docs": {
|
|
4365
|
+
"default": "a new security group",
|
|
4366
|
+
"stability": "experimental",
|
|
4367
|
+
"summary": "Security Group to assign to the task."
|
|
4368
|
+
},
|
|
4369
|
+
"immutable": true,
|
|
4370
|
+
"locationInModule": {
|
|
4371
|
+
"filename": "src/providers/fargate.ts",
|
|
4372
|
+
"line": 56
|
|
4373
|
+
},
|
|
4374
|
+
"name": "securityGroup",
|
|
4375
|
+
"optional": true,
|
|
4376
|
+
"type": {
|
|
4377
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
4378
|
+
}
|
|
4379
|
+
},
|
|
4380
|
+
{
|
|
4381
|
+
"abstract": true,
|
|
4382
|
+
"docs": {
|
|
4383
|
+
"default": "false",
|
|
4384
|
+
"remarks": "* Runners may fail to start due to missing capacity.\n* Runners might be stopped prematurely with spot pricing.",
|
|
4385
|
+
"stability": "experimental",
|
|
4386
|
+
"summary": "Use Fargate spot capacity provider to save money."
|
|
4387
|
+
},
|
|
4388
|
+
"immutable": true,
|
|
4389
|
+
"locationInModule": {
|
|
4390
|
+
"filename": "src/providers/fargate.ts",
|
|
4391
|
+
"line": 128
|
|
4392
|
+
},
|
|
4393
|
+
"name": "spot",
|
|
4394
|
+
"optional": true,
|
|
4395
|
+
"type": {
|
|
4396
|
+
"primitive": "boolean"
|
|
4397
|
+
}
|
|
4398
|
+
},
|
|
4399
|
+
{
|
|
4400
|
+
"abstract": true,
|
|
4401
|
+
"docs": {
|
|
4402
|
+
"default": "default account VPC",
|
|
4403
|
+
"stability": "experimental",
|
|
4404
|
+
"summary": "VPC to launch the runners in."
|
|
4405
|
+
},
|
|
4406
|
+
"immutable": true,
|
|
4407
|
+
"locationInModule": {
|
|
4408
|
+
"filename": "src/providers/fargate.ts",
|
|
4409
|
+
"line": 49
|
|
4410
|
+
},
|
|
4411
|
+
"name": "vpc",
|
|
4412
|
+
"optional": true,
|
|
4413
|
+
"type": {
|
|
4414
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
4415
|
+
}
|
|
4416
|
+
}
|
|
4417
|
+
],
|
|
4418
|
+
"symbolId": "src/providers/fargate:FargateRunnerProps"
|
|
4419
|
+
},
|
|
4420
|
+
"@cloudsnorkel/cdk-github-runners.GitHubRunners": {
|
|
4421
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4422
|
+
"base": "constructs.Construct",
|
|
4423
|
+
"docs": {
|
|
4424
|
+
"remarks": "It creates a webhook, secrets, and a step function to orchestrate all runs. Secrets are not automatically filled. See README.md for instructions on how to setup GitHub integration.\n\nBy default, this will create a runner provider of each available type with the defaults. This is good enough for the initial setup stage when you just want to get GitHub integration working.\n\n```typescript\nnew GitHubRunners(stack, 'runners', {});\n```\n\nUsually you'd want to configure the runner providers so the runners can run in a certain VPC or have certain permissions.\n\n```typescript\nconst vpc = ec2.Vpc.fromLookup(stack, 'vpc', { vpcId: 'vpc-1234567' });\nconst runnerSg = new ec2.SecurityGroup(stack, 'runner security group', { vpc: vpc });\nconst dbSg = ec2.SecurityGroup.fromSecurityGroupId(stack, 'database security group', 'sg-1234567');\nconst bucket = new s3.Bucket(stack, 'runner bucket');\n\n// create a custom CodeBuild provider\nconst myProvider = new CodeBuildRunner(\n stack, 'codebuild runner',\n {\n label: 'my-codebuild',\n vpc: vpc,\n securityGroup: runnerSg,\n },\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(\n stack,\n 'runners',\n {\n providers: [myProvider],\n }\n);\n```",
|
|
4425
|
+
"stability": "experimental",
|
|
4426
|
+
"summary": "Create all the required infrastructure to provide self-hosted GitHub runners."
|
|
4427
|
+
},
|
|
4428
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunners",
|
|
4429
|
+
"initializer": {
|
|
4430
|
+
"docs": {
|
|
4431
|
+
"stability": "experimental"
|
|
4432
|
+
},
|
|
4433
|
+
"locationInModule": {
|
|
4434
|
+
"filename": "src/runner.ts",
|
|
4435
|
+
"line": 83
|
|
4436
|
+
},
|
|
4437
|
+
"parameters": [
|
|
4438
|
+
{
|
|
4439
|
+
"name": "scope",
|
|
4440
|
+
"type": {
|
|
4441
|
+
"fqn": "constructs.Construct"
|
|
4442
|
+
}
|
|
4443
|
+
},
|
|
4444
|
+
{
|
|
4445
|
+
"name": "id",
|
|
4446
|
+
"type": {
|
|
4447
|
+
"primitive": "string"
|
|
4448
|
+
}
|
|
4449
|
+
},
|
|
4450
|
+
{
|
|
4451
|
+
"name": "props",
|
|
4452
|
+
"optional": true,
|
|
4453
|
+
"type": {
|
|
4454
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps"
|
|
4455
|
+
}
|
|
4456
|
+
}
|
|
4457
|
+
]
|
|
4458
|
+
},
|
|
4459
|
+
"kind": "class",
|
|
4460
|
+
"locationInModule": {
|
|
4461
|
+
"filename": "src/runner.ts",
|
|
4462
|
+
"line": 65
|
|
4463
|
+
},
|
|
4464
|
+
"name": "GitHubRunners",
|
|
4465
|
+
"properties": [
|
|
4466
|
+
{
|
|
4467
|
+
"docs": {
|
|
4468
|
+
"stability": "experimental",
|
|
4469
|
+
"summary": "Configured runner providers."
|
|
4470
|
+
},
|
|
4471
|
+
"immutable": true,
|
|
4472
|
+
"locationInModule": {
|
|
4473
|
+
"filename": "src/runner.ts",
|
|
4474
|
+
"line": 72
|
|
4475
|
+
},
|
|
4476
|
+
"name": "providers",
|
|
4477
|
+
"type": {
|
|
4478
|
+
"collection": {
|
|
4479
|
+
"elementtype": {
|
|
4480
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
4481
|
+
},
|
|
4482
|
+
"kind": "array"
|
|
4483
|
+
}
|
|
4484
|
+
}
|
|
4485
|
+
},
|
|
4486
|
+
{
|
|
4487
|
+
"docs": {
|
|
4488
|
+
"stability": "experimental",
|
|
4489
|
+
"summary": "Secrets for GitHub communication including webhook secret and runner authentication."
|
|
4490
|
+
},
|
|
4491
|
+
"immutable": true,
|
|
4492
|
+
"locationInModule": {
|
|
4493
|
+
"filename": "src/runner.ts",
|
|
4494
|
+
"line": 77
|
|
4495
|
+
},
|
|
4496
|
+
"name": "secrets",
|
|
4497
|
+
"type": {
|
|
4498
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Secrets"
|
|
4499
|
+
}
|
|
4500
|
+
}
|
|
4501
|
+
],
|
|
4502
|
+
"symbolId": "src/runner:GitHubRunners"
|
|
4503
|
+
},
|
|
4504
|
+
"@cloudsnorkel/cdk-github-runners.GitHubRunnersProps": {
|
|
4505
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4506
|
+
"datatype": true,
|
|
4507
|
+
"docs": {
|
|
4508
|
+
"stability": "experimental",
|
|
4509
|
+
"summary": "Properties for GitHubRunners."
|
|
4510
|
+
},
|
|
4511
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps",
|
|
4512
|
+
"kind": "interface",
|
|
4513
|
+
"locationInModule": {
|
|
4514
|
+
"filename": "src/runner.ts",
|
|
4515
|
+
"line": 16
|
|
4516
|
+
},
|
|
4517
|
+
"name": "GitHubRunnersProps",
|
|
4518
|
+
"properties": [
|
|
4519
|
+
{
|
|
4520
|
+
"abstract": true,
|
|
4521
|
+
"docs": {
|
|
4522
|
+
"default": "CodeBuild, Lambda and Fargate runners with all the defaults (no VPC or default account VPC)",
|
|
4523
|
+
"remarks": "At least one provider is required. Provider will be selected when its label matches the labels requested by the workflow job.",
|
|
4524
|
+
"stability": "experimental",
|
|
4525
|
+
"summary": "List of runner providers to use."
|
|
4526
|
+
},
|
|
4527
|
+
"immutable": true,
|
|
4528
|
+
"locationInModule": {
|
|
4529
|
+
"filename": "src/runner.ts",
|
|
4530
|
+
"line": 22
|
|
4531
|
+
},
|
|
4532
|
+
"name": "providers",
|
|
4533
|
+
"optional": true,
|
|
4534
|
+
"type": {
|
|
4535
|
+
"collection": {
|
|
4536
|
+
"elementtype": {
|
|
4537
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
4538
|
+
},
|
|
4539
|
+
"kind": "array"
|
|
4540
|
+
}
|
|
4541
|
+
}
|
|
4542
|
+
}
|
|
4543
|
+
],
|
|
4544
|
+
"symbolId": "src/runner:GitHubRunnersProps"
|
|
4545
|
+
},
|
|
4546
|
+
"@cloudsnorkel/cdk-github-runners.IImageBuilder": {
|
|
4547
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4548
|
+
"docs": {
|
|
4549
|
+
"remarks": "Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.\n\nIt's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.\n\nThe image can be further updated over time manually or using a schedule as long as it is always written to the same tag.",
|
|
4550
|
+
"stability": "experimental",
|
|
4551
|
+
"summary": "Interface for constructs that build an image that can be used in {@link IRunnerProvider}."
|
|
4552
|
+
},
|
|
4553
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder",
|
|
4554
|
+
"kind": "interface",
|
|
4555
|
+
"locationInModule": {
|
|
4556
|
+
"filename": "src/providers/common.ts",
|
|
4557
|
+
"line": 129
|
|
4558
|
+
},
|
|
4559
|
+
"methods": [
|
|
4560
|
+
{
|
|
4561
|
+
"abstract": true,
|
|
4562
|
+
"docs": {
|
|
4563
|
+
"remarks": "This method can be called multiple times if the image is bound to multiple providers. Make sure you cache the image when implementing or return an error if this builder doesn't support reusing images.",
|
|
4564
|
+
"returns": "image",
|
|
4565
|
+
"stability": "experimental",
|
|
4566
|
+
"summary": "ECR repository containing the image."
|
|
4567
|
+
},
|
|
4568
|
+
"locationInModule": {
|
|
4569
|
+
"filename": "src/providers/common.ts",
|
|
4570
|
+
"line": 137
|
|
4571
|
+
},
|
|
4572
|
+
"name": "bind",
|
|
4573
|
+
"returns": {
|
|
4574
|
+
"type": {
|
|
4575
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
|
|
4576
|
+
}
|
|
4577
|
+
}
|
|
4578
|
+
}
|
|
4579
|
+
],
|
|
4580
|
+
"name": "IImageBuilder",
|
|
4581
|
+
"symbolId": "src/providers/common:IImageBuilder"
|
|
4582
|
+
},
|
|
4583
|
+
"@cloudsnorkel/cdk-github-runners.IRunnerProvider": {
|
|
4584
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4585
|
+
"docs": {
|
|
4586
|
+
"remarks": "Implementations create all required resources and return a step function task that starts those resources from {@link getStepFunctionTask}.",
|
|
4587
|
+
"stability": "experimental",
|
|
4588
|
+
"summary": "Interface for all runner providers."
|
|
4589
|
+
},
|
|
4590
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4591
|
+
"interfaces": [
|
|
4592
|
+
"aws-cdk-lib.aws_ec2.IConnectable",
|
|
4593
|
+
"aws-cdk-lib.aws_iam.IGrantable"
|
|
4594
|
+
],
|
|
4595
|
+
"kind": "interface",
|
|
4596
|
+
"locationInModule": {
|
|
4597
|
+
"filename": "src/providers/common.ts",
|
|
4598
|
+
"line": 193
|
|
4599
|
+
},
|
|
4600
|
+
"methods": [
|
|
4601
|
+
{
|
|
4602
|
+
"abstract": true,
|
|
4603
|
+
"docs": {
|
|
4604
|
+
"remarks": "Called by GithubRunners and shouldn't be called manually.",
|
|
4605
|
+
"stability": "experimental",
|
|
4606
|
+
"summary": "Generate step function tasks that execute the runner."
|
|
4607
|
+
},
|
|
4608
|
+
"locationInModule": {
|
|
4609
|
+
"filename": "src/providers/common.ts",
|
|
4610
|
+
"line": 216
|
|
4611
|
+
},
|
|
4612
|
+
"name": "getStepFunctionTask",
|
|
4613
|
+
"parameters": [
|
|
4614
|
+
{
|
|
4615
|
+
"docs": {
|
|
4616
|
+
"summary": "specific build parameters."
|
|
4617
|
+
},
|
|
4618
|
+
"name": "parameters",
|
|
4619
|
+
"type": {
|
|
4620
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
|
|
4621
|
+
}
|
|
4622
|
+
}
|
|
4623
|
+
],
|
|
4624
|
+
"returns": {
|
|
4625
|
+
"type": {
|
|
4626
|
+
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
4627
|
+
}
|
|
4628
|
+
}
|
|
4629
|
+
}
|
|
4630
|
+
],
|
|
4631
|
+
"name": "IRunnerProvider",
|
|
4632
|
+
"properties": [
|
|
4633
|
+
{
|
|
4634
|
+
"abstract": true,
|
|
4635
|
+
"docs": {
|
|
4636
|
+
"stability": "experimental",
|
|
4637
|
+
"summary": "GitHub Actions label associated with this runner provider."
|
|
4638
|
+
},
|
|
4639
|
+
"immutable": true,
|
|
4640
|
+
"locationInModule": {
|
|
4641
|
+
"filename": "src/providers/common.ts",
|
|
4642
|
+
"line": 197
|
|
4643
|
+
},
|
|
4644
|
+
"name": "label",
|
|
4645
|
+
"type": {
|
|
4646
|
+
"primitive": "string"
|
|
4647
|
+
}
|
|
4648
|
+
},
|
|
4649
|
+
{
|
|
4650
|
+
"abstract": true,
|
|
4651
|
+
"docs": {
|
|
4652
|
+
"stability": "experimental",
|
|
4653
|
+
"summary": "Security group associated with runners."
|
|
4654
|
+
},
|
|
4655
|
+
"immutable": true,
|
|
4656
|
+
"locationInModule": {
|
|
4657
|
+
"filename": "src/providers/common.ts",
|
|
4658
|
+
"line": 207
|
|
4659
|
+
},
|
|
4660
|
+
"name": "securityGroup",
|
|
4661
|
+
"optional": true,
|
|
4662
|
+
"type": {
|
|
4663
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
4664
|
+
}
|
|
4665
|
+
},
|
|
4666
|
+
{
|
|
4667
|
+
"abstract": true,
|
|
4668
|
+
"docs": {
|
|
4669
|
+
"stability": "experimental",
|
|
4670
|
+
"summary": "VPC network in which runners will be placed."
|
|
4671
|
+
},
|
|
4672
|
+
"immutable": true,
|
|
4673
|
+
"locationInModule": {
|
|
4674
|
+
"filename": "src/providers/common.ts",
|
|
4675
|
+
"line": 202
|
|
4676
|
+
},
|
|
4677
|
+
"name": "vpc",
|
|
4678
|
+
"optional": true,
|
|
4679
|
+
"type": {
|
|
4680
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
4681
|
+
}
|
|
4682
|
+
}
|
|
4683
|
+
],
|
|
4684
|
+
"symbolId": "src/providers/common:IRunnerProvider"
|
|
4685
|
+
},
|
|
4686
|
+
"@cloudsnorkel/cdk-github-runners.LambdaRunner": {
|
|
4687
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4688
|
+
"base": "constructs.Construct",
|
|
4689
|
+
"docs": {
|
|
4690
|
+
"remarks": "Creates a Docker-based function that gets executed for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
|
|
4691
|
+
"stability": "experimental",
|
|
4692
|
+
"summary": "GitHub Actions runner provider using Lambda to execute the actions."
|
|
4693
|
+
},
|
|
4694
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunner",
|
|
4695
|
+
"initializer": {
|
|
4017
4696
|
"docs": {
|
|
4018
4697
|
"stability": "experimental"
|
|
4019
4698
|
},
|
|
4020
|
-
"locationInModule": {
|
|
4021
|
-
"filename": "src/providers/lambda.ts",
|
|
4022
|
-
"line":
|
|
4699
|
+
"locationInModule": {
|
|
4700
|
+
"filename": "src/providers/lambda.ts",
|
|
4701
|
+
"line": 135
|
|
4702
|
+
},
|
|
4703
|
+
"parameters": [
|
|
4704
|
+
{
|
|
4705
|
+
"name": "scope",
|
|
4706
|
+
"type": {
|
|
4707
|
+
"fqn": "constructs.Construct"
|
|
4708
|
+
}
|
|
4709
|
+
},
|
|
4710
|
+
{
|
|
4711
|
+
"name": "id",
|
|
4712
|
+
"type": {
|
|
4713
|
+
"primitive": "string"
|
|
4714
|
+
}
|
|
4715
|
+
},
|
|
4716
|
+
{
|
|
4717
|
+
"name": "props",
|
|
4718
|
+
"type": {
|
|
4719
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProps"
|
|
4720
|
+
}
|
|
4721
|
+
}
|
|
4722
|
+
]
|
|
4723
|
+
},
|
|
4724
|
+
"interfaces": [
|
|
4725
|
+
"@cloudsnorkel/cdk-github-runners.IRunnerProvider"
|
|
4726
|
+
],
|
|
4727
|
+
"kind": "class",
|
|
4728
|
+
"locationInModule": {
|
|
4729
|
+
"filename": "src/providers/lambda.ts",
|
|
4730
|
+
"line": 91
|
|
4731
|
+
},
|
|
4732
|
+
"methods": [
|
|
4733
|
+
{
|
|
4734
|
+
"docs": {
|
|
4735
|
+
"remarks": "Called by GithubRunners and shouldn't be called manually.",
|
|
4736
|
+
"stability": "experimental",
|
|
4737
|
+
"summary": "Generate step function task(s) to start a new runner."
|
|
4738
|
+
},
|
|
4739
|
+
"locationInModule": {
|
|
4740
|
+
"filename": "src/providers/lambda.ts",
|
|
4741
|
+
"line": 198
|
|
4742
|
+
},
|
|
4743
|
+
"name": "getStepFunctionTask",
|
|
4744
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4745
|
+
"parameters": [
|
|
4746
|
+
{
|
|
4747
|
+
"docs": {
|
|
4748
|
+
"summary": "workflow job details."
|
|
4749
|
+
},
|
|
4750
|
+
"name": "parameters",
|
|
4751
|
+
"type": {
|
|
4752
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
|
|
4753
|
+
}
|
|
4754
|
+
}
|
|
4755
|
+
],
|
|
4756
|
+
"returns": {
|
|
4757
|
+
"type": {
|
|
4758
|
+
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
4759
|
+
}
|
|
4760
|
+
}
|
|
4761
|
+
}
|
|
4762
|
+
],
|
|
4763
|
+
"name": "LambdaRunner",
|
|
4764
|
+
"properties": [
|
|
4765
|
+
{
|
|
4766
|
+
"const": true,
|
|
4767
|
+
"docs": {
|
|
4768
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
|
|
4769
|
+
"stability": "experimental",
|
|
4770
|
+
"summary": "Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner."
|
|
4771
|
+
},
|
|
4772
|
+
"immutable": true,
|
|
4773
|
+
"locationInModule": {
|
|
4774
|
+
"filename": "src/providers/lambda.ts",
|
|
4775
|
+
"line": 108
|
|
4776
|
+
},
|
|
4777
|
+
"name": "LINUX_ARM64_DOCKERFILE_PATH",
|
|
4778
|
+
"static": true,
|
|
4779
|
+
"type": {
|
|
4780
|
+
"primitive": "string"
|
|
4781
|
+
}
|
|
4782
|
+
},
|
|
4783
|
+
{
|
|
4784
|
+
"const": true,
|
|
4785
|
+
"docs": {
|
|
4786
|
+
"remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
|
|
4787
|
+
"stability": "experimental",
|
|
4788
|
+
"summary": "Path to Dockerfile for Linux x64 with all the requirement for Lambda runner."
|
|
4789
|
+
},
|
|
4790
|
+
"immutable": true,
|
|
4791
|
+
"locationInModule": {
|
|
4792
|
+
"filename": "src/providers/lambda.ts",
|
|
4793
|
+
"line": 99
|
|
4794
|
+
},
|
|
4795
|
+
"name": "LINUX_X64_DOCKERFILE_PATH",
|
|
4796
|
+
"static": true,
|
|
4797
|
+
"type": {
|
|
4798
|
+
"primitive": "string"
|
|
4799
|
+
}
|
|
4800
|
+
},
|
|
4801
|
+
{
|
|
4802
|
+
"docs": {
|
|
4803
|
+
"stability": "experimental",
|
|
4804
|
+
"summary": "The network connections associated with this resource."
|
|
4805
|
+
},
|
|
4806
|
+
"immutable": true,
|
|
4807
|
+
"locationInModule": {
|
|
4808
|
+
"filename": "src/providers/lambda.ts",
|
|
4809
|
+
"line": 187
|
|
4810
|
+
},
|
|
4811
|
+
"name": "connections",
|
|
4812
|
+
"overrides": "aws-cdk-lib.aws_ec2.IConnectable",
|
|
4813
|
+
"type": {
|
|
4814
|
+
"fqn": "aws-cdk-lib.aws_ec2.Connections"
|
|
4815
|
+
}
|
|
4816
|
+
},
|
|
4817
|
+
{
|
|
4818
|
+
"docs": {
|
|
4819
|
+
"stability": "experimental",
|
|
4820
|
+
"summary": "The function hosting the GitHub runner."
|
|
4821
|
+
},
|
|
4822
|
+
"immutable": true,
|
|
4823
|
+
"locationInModule": {
|
|
4824
|
+
"filename": "src/providers/lambda.ts",
|
|
4825
|
+
"line": 113
|
|
4826
|
+
},
|
|
4827
|
+
"name": "function",
|
|
4828
|
+
"type": {
|
|
4829
|
+
"fqn": "aws-cdk-lib.aws_lambda.Function"
|
|
4830
|
+
}
|
|
4831
|
+
},
|
|
4832
|
+
{
|
|
4833
|
+
"docs": {
|
|
4834
|
+
"stability": "experimental",
|
|
4835
|
+
"summary": "Grant principal used to add permissions to the runner role."
|
|
4836
|
+
},
|
|
4837
|
+
"immutable": true,
|
|
4838
|
+
"locationInModule": {
|
|
4839
|
+
"filename": "src/providers/lambda.ts",
|
|
4840
|
+
"line": 133
|
|
4841
|
+
},
|
|
4842
|
+
"name": "grantPrincipal",
|
|
4843
|
+
"overrides": "aws-cdk-lib.aws_iam.IGrantable",
|
|
4844
|
+
"type": {
|
|
4845
|
+
"fqn": "aws-cdk-lib.aws_iam.IPrincipal"
|
|
4846
|
+
}
|
|
4023
4847
|
},
|
|
4024
|
-
|
|
4025
|
-
{
|
|
4026
|
-
"
|
|
4027
|
-
"
|
|
4028
|
-
"fqn": "constructs.Construct"
|
|
4029
|
-
}
|
|
4848
|
+
{
|
|
4849
|
+
"docs": {
|
|
4850
|
+
"stability": "experimental",
|
|
4851
|
+
"summary": "Label associated with this provider."
|
|
4030
4852
|
},
|
|
4031
|
-
|
|
4032
|
-
|
|
4033
|
-
"
|
|
4034
|
-
|
|
4035
|
-
}
|
|
4853
|
+
"immutable": true,
|
|
4854
|
+
"locationInModule": {
|
|
4855
|
+
"filename": "src/providers/lambda.ts",
|
|
4856
|
+
"line": 118
|
|
4036
4857
|
},
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4040
|
-
|
|
4041
|
-
}
|
|
4858
|
+
"name": "label",
|
|
4859
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4860
|
+
"type": {
|
|
4861
|
+
"primitive": "string"
|
|
4042
4862
|
}
|
|
4043
|
-
|
|
4863
|
+
},
|
|
4864
|
+
{
|
|
4865
|
+
"docs": {
|
|
4866
|
+
"stability": "experimental",
|
|
4867
|
+
"summary": "Security group attached to the function."
|
|
4868
|
+
},
|
|
4869
|
+
"immutable": true,
|
|
4870
|
+
"locationInModule": {
|
|
4871
|
+
"filename": "src/providers/lambda.ts",
|
|
4872
|
+
"line": 128
|
|
4873
|
+
},
|
|
4874
|
+
"name": "securityGroup",
|
|
4875
|
+
"optional": true,
|
|
4876
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4877
|
+
"type": {
|
|
4878
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
4879
|
+
}
|
|
4880
|
+
},
|
|
4881
|
+
{
|
|
4882
|
+
"docs": {
|
|
4883
|
+
"stability": "experimental",
|
|
4884
|
+
"summary": "VPC used for hosting the function."
|
|
4885
|
+
},
|
|
4886
|
+
"immutable": true,
|
|
4887
|
+
"locationInModule": {
|
|
4888
|
+
"filename": "src/providers/lambda.ts",
|
|
4889
|
+
"line": 123
|
|
4890
|
+
},
|
|
4891
|
+
"name": "vpc",
|
|
4892
|
+
"optional": true,
|
|
4893
|
+
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
4894
|
+
"type": {
|
|
4895
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
4896
|
+
}
|
|
4897
|
+
}
|
|
4898
|
+
],
|
|
4899
|
+
"symbolId": "src/providers/lambda:LambdaRunner"
|
|
4900
|
+
},
|
|
4901
|
+
"@cloudsnorkel/cdk-github-runners.LambdaRunnerProps": {
|
|
4902
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4903
|
+
"datatype": true,
|
|
4904
|
+
"docs": {
|
|
4905
|
+
"stability": "experimental"
|
|
4044
4906
|
},
|
|
4907
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProps",
|
|
4045
4908
|
"interfaces": [
|
|
4046
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
4909
|
+
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
|
|
4047
4910
|
],
|
|
4048
|
-
"kind": "
|
|
4911
|
+
"kind": "interface",
|
|
4049
4912
|
"locationInModule": {
|
|
4050
4913
|
"filename": "src/providers/lambda.ts",
|
|
4051
|
-
"line":
|
|
4914
|
+
"line": 18
|
|
4052
4915
|
},
|
|
4053
|
-
"
|
|
4916
|
+
"name": "LambdaRunnerProps",
|
|
4917
|
+
"properties": [
|
|
4054
4918
|
{
|
|
4919
|
+
"abstract": true,
|
|
4055
4920
|
"docs": {
|
|
4056
|
-
"
|
|
4921
|
+
"default": "10 GiB",
|
|
4057
4922
|
"stability": "experimental",
|
|
4058
|
-
"summary": "
|
|
4923
|
+
"summary": "The size of the function’s /tmp directory in MiB."
|
|
4059
4924
|
},
|
|
4925
|
+
"immutable": true,
|
|
4060
4926
|
"locationInModule": {
|
|
4061
4927
|
"filename": "src/providers/lambda.ts",
|
|
4062
|
-
"line":
|
|
4928
|
+
"line": 51
|
|
4063
4929
|
},
|
|
4064
|
-
"name": "
|
|
4065
|
-
"
|
|
4066
|
-
"
|
|
4067
|
-
|
|
4068
|
-
"docs": {
|
|
4069
|
-
"summary": "workflow job details."
|
|
4070
|
-
},
|
|
4071
|
-
"name": "parameters",
|
|
4072
|
-
"type": {
|
|
4073
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
|
|
4074
|
-
}
|
|
4075
|
-
}
|
|
4076
|
-
],
|
|
4077
|
-
"returns": {
|
|
4078
|
-
"type": {
|
|
4079
|
-
"fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
|
|
4080
|
-
}
|
|
4930
|
+
"name": "ephemeralStorageSize",
|
|
4931
|
+
"optional": true,
|
|
4932
|
+
"type": {
|
|
4933
|
+
"fqn": "aws-cdk-lib.Size"
|
|
4081
4934
|
}
|
|
4082
|
-
}
|
|
4083
|
-
],
|
|
4084
|
-
"name": "LambdaRunner",
|
|
4085
|
-
"properties": [
|
|
4935
|
+
},
|
|
4086
4936
|
{
|
|
4937
|
+
"abstract": true,
|
|
4087
4938
|
"docs": {
|
|
4939
|
+
"default": "image builder with LambdaRunner.LINUX_X64_DOCKERFILE_PATH as Dockerfile",
|
|
4940
|
+
"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.",
|
|
4941
|
+
"see": "https://github.com/CloudSnorkel/cdk-github-runners/tree/main/src/providers/docker-images/lambda",
|
|
4088
4942
|
"stability": "experimental",
|
|
4089
|
-
"summary": "
|
|
4943
|
+
"summary": "Provider running an image to run inside CodeBuild with GitHub runner pre-configured."
|
|
4090
4944
|
},
|
|
4091
4945
|
"immutable": true,
|
|
4092
4946
|
"locationInModule": {
|
|
4093
4947
|
"filename": "src/providers/lambda.ts",
|
|
4094
|
-
"line":
|
|
4948
|
+
"line": 27
|
|
4095
4949
|
},
|
|
4096
|
-
"name": "
|
|
4097
|
-
"
|
|
4950
|
+
"name": "imageBuilder",
|
|
4951
|
+
"optional": true,
|
|
4098
4952
|
"type": {
|
|
4099
|
-
"fqn": "
|
|
4953
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
4100
4954
|
}
|
|
4101
4955
|
},
|
|
4102
4956
|
{
|
|
4957
|
+
"abstract": true,
|
|
4103
4958
|
"docs": {
|
|
4959
|
+
"default": "'lambda'",
|
|
4104
4960
|
"stability": "experimental",
|
|
4105
|
-
"summary": "
|
|
4961
|
+
"summary": "GitHub Actions label used for this provider."
|
|
4962
|
+
},
|
|
4963
|
+
"immutable": true,
|
|
4964
|
+
"locationInModule": {
|
|
4965
|
+
"filename": "src/providers/lambda.ts",
|
|
4966
|
+
"line": 34
|
|
4967
|
+
},
|
|
4968
|
+
"name": "label",
|
|
4969
|
+
"optional": true,
|
|
4970
|
+
"type": {
|
|
4971
|
+
"primitive": "string"
|
|
4972
|
+
}
|
|
4973
|
+
},
|
|
4974
|
+
{
|
|
4975
|
+
"abstract": true,
|
|
4976
|
+
"docs": {
|
|
4977
|
+
"default": "2048",
|
|
4978
|
+
"remarks": "Lambda uses this value to proportionally allocate the amount of CPU\npower. For more information, see Resource Model in the AWS Lambda\nDeveloper Guide.",
|
|
4979
|
+
"stability": "experimental",
|
|
4980
|
+
"summary": "The amount of memory, in MB, that is allocated to your Lambda function."
|
|
4981
|
+
},
|
|
4982
|
+
"immutable": true,
|
|
4983
|
+
"locationInModule": {
|
|
4984
|
+
"filename": "src/providers/lambda.ts",
|
|
4985
|
+
"line": 44
|
|
4986
|
+
},
|
|
4987
|
+
"name": "memorySize",
|
|
4988
|
+
"optional": true,
|
|
4989
|
+
"type": {
|
|
4990
|
+
"primitive": "number"
|
|
4991
|
+
}
|
|
4992
|
+
},
|
|
4993
|
+
{
|
|
4994
|
+
"abstract": true,
|
|
4995
|
+
"docs": {
|
|
4996
|
+
"default": "public lambda with no security group",
|
|
4997
|
+
"stability": "experimental",
|
|
4998
|
+
"summary": "Security Group to assign to this instance."
|
|
4999
|
+
},
|
|
5000
|
+
"immutable": true,
|
|
5001
|
+
"locationInModule": {
|
|
5002
|
+
"filename": "src/providers/lambda.ts",
|
|
5003
|
+
"line": 74
|
|
5004
|
+
},
|
|
5005
|
+
"name": "securityGroup",
|
|
5006
|
+
"optional": true,
|
|
5007
|
+
"type": {
|
|
5008
|
+
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
5009
|
+
}
|
|
5010
|
+
},
|
|
5011
|
+
{
|
|
5012
|
+
"abstract": true,
|
|
5013
|
+
"docs": {
|
|
5014
|
+
"default": "no subnet",
|
|
5015
|
+
"stability": "experimental",
|
|
5016
|
+
"summary": "Where to place the network interfaces within the VPC."
|
|
4106
5017
|
},
|
|
4107
5018
|
"immutable": true,
|
|
4108
5019
|
"locationInModule": {
|
|
4109
5020
|
"filename": "src/providers/lambda.ts",
|
|
4110
5021
|
"line": 81
|
|
4111
5022
|
},
|
|
4112
|
-
"name": "
|
|
5023
|
+
"name": "subnetSelection",
|
|
5024
|
+
"optional": true,
|
|
4113
5025
|
"type": {
|
|
4114
|
-
"fqn": "aws-cdk-lib.
|
|
5026
|
+
"fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
|
|
4115
5027
|
}
|
|
4116
5028
|
},
|
|
4117
5029
|
{
|
|
5030
|
+
"abstract": true,
|
|
4118
5031
|
"docs": {
|
|
5032
|
+
"default": "Duration.minutes(15)",
|
|
5033
|
+
"remarks": "Because the execution time affects cost, set this value\nbased on the function's expected execution time.",
|
|
4119
5034
|
"stability": "experimental",
|
|
4120
|
-
"summary": "
|
|
5035
|
+
"summary": "The function execution time (in seconds) after which Lambda terminates the function."
|
|
4121
5036
|
},
|
|
4122
5037
|
"immutable": true,
|
|
4123
5038
|
"locationInModule": {
|
|
4124
5039
|
"filename": "src/providers/lambda.ts",
|
|
4125
|
-
"line":
|
|
5040
|
+
"line": 60
|
|
4126
5041
|
},
|
|
4127
|
-
"name": "
|
|
4128
|
-
"
|
|
5042
|
+
"name": "timeout",
|
|
5043
|
+
"optional": true,
|
|
4129
5044
|
"type": {
|
|
4130
|
-
"fqn": "aws-cdk-lib.
|
|
5045
|
+
"fqn": "aws-cdk-lib.Duration"
|
|
5046
|
+
}
|
|
5047
|
+
},
|
|
5048
|
+
{
|
|
5049
|
+
"abstract": true,
|
|
5050
|
+
"docs": {
|
|
5051
|
+
"default": "no VPC",
|
|
5052
|
+
"stability": "experimental",
|
|
5053
|
+
"summary": "VPC to launch the runners in."
|
|
5054
|
+
},
|
|
5055
|
+
"immutable": true,
|
|
5056
|
+
"locationInModule": {
|
|
5057
|
+
"filename": "src/providers/lambda.ts",
|
|
5058
|
+
"line": 67
|
|
5059
|
+
},
|
|
5060
|
+
"name": "vpc",
|
|
5061
|
+
"optional": true,
|
|
5062
|
+
"type": {
|
|
5063
|
+
"fqn": "aws-cdk-lib.aws_ec2.IVpc"
|
|
5064
|
+
}
|
|
5065
|
+
}
|
|
5066
|
+
],
|
|
5067
|
+
"symbolId": "src/providers/lambda:LambdaRunnerProps"
|
|
5068
|
+
},
|
|
5069
|
+
"@cloudsnorkel/cdk-github-runners.Os": {
|
|
5070
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
5071
|
+
"docs": {
|
|
5072
|
+
"stability": "experimental",
|
|
5073
|
+
"summary": "OS enum for an image."
|
|
5074
|
+
},
|
|
5075
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os",
|
|
5076
|
+
"kind": "class",
|
|
5077
|
+
"locationInModule": {
|
|
5078
|
+
"filename": "src/providers/common.ts",
|
|
5079
|
+
"line": 63
|
|
5080
|
+
},
|
|
5081
|
+
"methods": [
|
|
5082
|
+
{
|
|
5083
|
+
"docs": {
|
|
5084
|
+
"stability": "experimental",
|
|
5085
|
+
"summary": "Checks if the given OS is the same as this one."
|
|
5086
|
+
},
|
|
5087
|
+
"locationInModule": {
|
|
5088
|
+
"filename": "src/providers/common.ts",
|
|
5089
|
+
"line": 86
|
|
5090
|
+
},
|
|
5091
|
+
"name": "is",
|
|
5092
|
+
"parameters": [
|
|
5093
|
+
{
|
|
5094
|
+
"docs": {
|
|
5095
|
+
"summary": "OS to compare."
|
|
5096
|
+
},
|
|
5097
|
+
"name": "os",
|
|
5098
|
+
"type": {
|
|
5099
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
5100
|
+
}
|
|
5101
|
+
}
|
|
5102
|
+
],
|
|
5103
|
+
"returns": {
|
|
5104
|
+
"type": {
|
|
5105
|
+
"primitive": "boolean"
|
|
5106
|
+
}
|
|
4131
5107
|
}
|
|
4132
|
-
}
|
|
5108
|
+
}
|
|
5109
|
+
],
|
|
5110
|
+
"name": "Os",
|
|
5111
|
+
"properties": [
|
|
4133
5112
|
{
|
|
5113
|
+
"const": true,
|
|
4134
5114
|
"docs": {
|
|
4135
5115
|
"stability": "experimental",
|
|
4136
|
-
"summary": "
|
|
5116
|
+
"summary": "Linux."
|
|
4137
5117
|
},
|
|
4138
5118
|
"immutable": true,
|
|
4139
5119
|
"locationInModule": {
|
|
4140
|
-
"filename": "src/providers/
|
|
4141
|
-
"line":
|
|
5120
|
+
"filename": "src/providers/common.ts",
|
|
5121
|
+
"line": 67
|
|
4142
5122
|
},
|
|
4143
|
-
"name": "
|
|
4144
|
-
"
|
|
5123
|
+
"name": "LINUX",
|
|
5124
|
+
"static": true,
|
|
4145
5125
|
"type": {
|
|
4146
|
-
"
|
|
5126
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
4147
5127
|
}
|
|
4148
5128
|
},
|
|
4149
5129
|
{
|
|
5130
|
+
"const": true,
|
|
4150
5131
|
"docs": {
|
|
4151
5132
|
"stability": "experimental",
|
|
4152
|
-
"summary": "
|
|
5133
|
+
"summary": "Windows."
|
|
4153
5134
|
},
|
|
4154
5135
|
"immutable": true,
|
|
4155
5136
|
"locationInModule": {
|
|
4156
|
-
"filename": "src/providers/
|
|
4157
|
-
"line":
|
|
5137
|
+
"filename": "src/providers/common.ts",
|
|
5138
|
+
"line": 72
|
|
4158
5139
|
},
|
|
4159
|
-
"name": "
|
|
4160
|
-
"
|
|
4161
|
-
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
5140
|
+
"name": "WINDOWS",
|
|
5141
|
+
"static": true,
|
|
4162
5142
|
"type": {
|
|
4163
|
-
"fqn": "
|
|
5143
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
4164
5144
|
}
|
|
4165
5145
|
},
|
|
4166
5146
|
{
|
|
4167
5147
|
"docs": {
|
|
4168
|
-
"stability": "experimental"
|
|
4169
|
-
"summary": "VPC used for hosting the function."
|
|
5148
|
+
"stability": "experimental"
|
|
4170
5149
|
},
|
|
4171
5150
|
"immutable": true,
|
|
4172
5151
|
"locationInModule": {
|
|
4173
|
-
"filename": "src/providers/
|
|
4174
|
-
"line":
|
|
5152
|
+
"filename": "src/providers/common.ts",
|
|
5153
|
+
"line": 78
|
|
4175
5154
|
},
|
|
4176
|
-
"name": "
|
|
4177
|
-
"optional": true,
|
|
4178
|
-
"overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
|
|
5155
|
+
"name": "name",
|
|
4179
5156
|
"type": {
|
|
4180
|
-
"
|
|
5157
|
+
"primitive": "string"
|
|
4181
5158
|
}
|
|
4182
5159
|
}
|
|
4183
5160
|
],
|
|
4184
|
-
"symbolId": "src/providers/
|
|
5161
|
+
"symbolId": "src/providers/common:Os"
|
|
4185
5162
|
},
|
|
4186
|
-
"@cloudsnorkel/cdk-github-runners.
|
|
5163
|
+
"@cloudsnorkel/cdk-github-runners.RunnerImage": {
|
|
4187
5164
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
4188
5165
|
"datatype": true,
|
|
4189
5166
|
"docs": {
|
|
4190
5167
|
"stability": "experimental"
|
|
4191
5168
|
},
|
|
4192
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.
|
|
4193
|
-
"interfaces": [
|
|
4194
|
-
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
|
|
4195
|
-
],
|
|
5169
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage",
|
|
4196
5170
|
"kind": "interface",
|
|
4197
5171
|
"locationInModule": {
|
|
4198
|
-
"filename": "src/providers/
|
|
4199
|
-
"line":
|
|
5172
|
+
"filename": "src/providers/common.ts",
|
|
5173
|
+
"line": 91
|
|
4200
5174
|
},
|
|
4201
|
-
"name": "
|
|
5175
|
+
"name": "RunnerImage",
|
|
4202
5176
|
"properties": [
|
|
4203
5177
|
{
|
|
4204
5178
|
"abstract": true,
|
|
4205
5179
|
"docs": {
|
|
4206
|
-
"default": "10 GiB",
|
|
4207
5180
|
"stability": "experimental",
|
|
4208
|
-
"summary": "
|
|
5181
|
+
"summary": "Architecture of the image."
|
|
4209
5182
|
},
|
|
4210
5183
|
"immutable": true,
|
|
4211
5184
|
"locationInModule": {
|
|
4212
|
-
"filename": "src/providers/
|
|
4213
|
-
"line":
|
|
5185
|
+
"filename": "src/providers/common.ts",
|
|
5186
|
+
"line": 112
|
|
4214
5187
|
},
|
|
4215
|
-
"name": "
|
|
4216
|
-
"optional": true,
|
|
5188
|
+
"name": "architecture",
|
|
4217
5189
|
"type": {
|
|
4218
|
-
"fqn": "
|
|
5190
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
4219
5191
|
}
|
|
4220
5192
|
},
|
|
4221
5193
|
{
|
|
4222
5194
|
"abstract": true,
|
|
4223
5195
|
"docs": {
|
|
4224
|
-
"
|
|
5196
|
+
"remarks": "WARNING: the digest might change when the builder automatically rebuilds the image on a schedule. Do not expect for this digest to stay the same between deploys.",
|
|
4225
5197
|
"stability": "experimental",
|
|
4226
|
-
"summary": "
|
|
5198
|
+
"summary": "Image digest for providers that need to know the digest like Lambda."
|
|
4227
5199
|
},
|
|
4228
5200
|
"immutable": true,
|
|
4229
5201
|
"locationInModule": {
|
|
4230
|
-
"filename": "src/providers/
|
|
4231
|
-
"line":
|
|
5202
|
+
"filename": "src/providers/common.ts",
|
|
5203
|
+
"line": 107
|
|
4232
5204
|
},
|
|
4233
|
-
"name": "
|
|
4234
|
-
"optional": true,
|
|
5205
|
+
"name": "imageDigest",
|
|
4235
5206
|
"type": {
|
|
4236
5207
|
"primitive": "string"
|
|
4237
5208
|
}
|
|
@@ -4239,97 +5210,53 @@
|
|
|
4239
5210
|
{
|
|
4240
5211
|
"abstract": true,
|
|
4241
5212
|
"docs": {
|
|
4242
|
-
"default": "2048",
|
|
4243
|
-
"remarks": "Lambda uses this value to proportionally allocate the amount of CPU\npower. For more information, see Resource Model in the AWS Lambda\nDeveloper Guide.",
|
|
4244
|
-
"stability": "experimental",
|
|
4245
|
-
"summary": "The amount of memory, in MB, that is allocated to your Lambda function."
|
|
4246
|
-
},
|
|
4247
|
-
"immutable": true,
|
|
4248
|
-
"locationInModule": {
|
|
4249
|
-
"filename": "src/providers/lambda.ts",
|
|
4250
|
-
"line": 30
|
|
4251
|
-
},
|
|
4252
|
-
"name": "memorySize",
|
|
4253
|
-
"optional": true,
|
|
4254
|
-
"type": {
|
|
4255
|
-
"primitive": "number"
|
|
4256
|
-
}
|
|
4257
|
-
},
|
|
4258
|
-
{
|
|
4259
|
-
"abstract": true,
|
|
4260
|
-
"docs": {
|
|
4261
|
-
"default": "public lambda with no security group",
|
|
4262
|
-
"stability": "experimental",
|
|
4263
|
-
"summary": "Security Group to assign to this instance."
|
|
4264
|
-
},
|
|
4265
|
-
"immutable": true,
|
|
4266
|
-
"locationInModule": {
|
|
4267
|
-
"filename": "src/providers/lambda.ts",
|
|
4268
|
-
"line": 60
|
|
4269
|
-
},
|
|
4270
|
-
"name": "securityGroup",
|
|
4271
|
-
"optional": true,
|
|
4272
|
-
"type": {
|
|
4273
|
-
"fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
|
|
4274
|
-
}
|
|
4275
|
-
},
|
|
4276
|
-
{
|
|
4277
|
-
"abstract": true,
|
|
4278
|
-
"docs": {
|
|
4279
|
-
"default": "no subnet",
|
|
4280
5213
|
"stability": "experimental",
|
|
4281
|
-
"summary": "
|
|
5214
|
+
"summary": "ECR repository containing the image."
|
|
4282
5215
|
},
|
|
4283
5216
|
"immutable": true,
|
|
4284
5217
|
"locationInModule": {
|
|
4285
|
-
"filename": "src/providers/
|
|
4286
|
-
"line":
|
|
5218
|
+
"filename": "src/providers/common.ts",
|
|
5219
|
+
"line": 95
|
|
4287
5220
|
},
|
|
4288
|
-
"name": "
|
|
4289
|
-
"optional": true,
|
|
5221
|
+
"name": "imageRepository",
|
|
4290
5222
|
"type": {
|
|
4291
|
-
"fqn": "aws-cdk-lib.
|
|
5223
|
+
"fqn": "aws-cdk-lib.aws_ecr.IRepository"
|
|
4292
5224
|
}
|
|
4293
5225
|
},
|
|
4294
5226
|
{
|
|
4295
5227
|
"abstract": true,
|
|
4296
5228
|
"docs": {
|
|
4297
|
-
"default": "Duration.minutes(15)",
|
|
4298
|
-
"remarks": "Because the execution time affects cost, set this value\nbased on the function's expected execution time.",
|
|
4299
5229
|
"stability": "experimental",
|
|
4300
|
-
"summary": "
|
|
5230
|
+
"summary": "Static image tag where the image will be pushed."
|
|
4301
5231
|
},
|
|
4302
5232
|
"immutable": true,
|
|
4303
5233
|
"locationInModule": {
|
|
4304
|
-
"filename": "src/providers/
|
|
4305
|
-
"line":
|
|
5234
|
+
"filename": "src/providers/common.ts",
|
|
5235
|
+
"line": 100
|
|
4306
5236
|
},
|
|
4307
|
-
"name": "
|
|
4308
|
-
"optional": true,
|
|
5237
|
+
"name": "imageTag",
|
|
4309
5238
|
"type": {
|
|
4310
|
-
"
|
|
5239
|
+
"primitive": "string"
|
|
4311
5240
|
}
|
|
4312
5241
|
},
|
|
4313
5242
|
{
|
|
4314
5243
|
"abstract": true,
|
|
4315
5244
|
"docs": {
|
|
4316
|
-
"default": "no VPC",
|
|
4317
5245
|
"stability": "experimental",
|
|
4318
|
-
"summary": "
|
|
5246
|
+
"summary": "OS type of the image."
|
|
4319
5247
|
},
|
|
4320
5248
|
"immutable": true,
|
|
4321
5249
|
"locationInModule": {
|
|
4322
|
-
"filename": "src/providers/
|
|
4323
|
-
"line":
|
|
5250
|
+
"filename": "src/providers/common.ts",
|
|
5251
|
+
"line": 117
|
|
4324
5252
|
},
|
|
4325
|
-
"name": "
|
|
4326
|
-
"optional": true,
|
|
5253
|
+
"name": "os",
|
|
4327
5254
|
"type": {
|
|
4328
|
-
"fqn": "
|
|
5255
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
4329
5256
|
}
|
|
4330
5257
|
}
|
|
4331
5258
|
],
|
|
4332
|
-
"symbolId": "src/providers/
|
|
5259
|
+
"symbolId": "src/providers/common:RunnerImage"
|
|
4333
5260
|
},
|
|
4334
5261
|
"@cloudsnorkel/cdk-github-runners.RunnerProviderProps": {
|
|
4335
5262
|
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
@@ -4342,7 +5269,7 @@
|
|
|
4342
5269
|
"kind": "interface",
|
|
4343
5270
|
"locationInModule": {
|
|
4344
5271
|
"filename": "src/providers/common.ts",
|
|
4345
|
-
"line":
|
|
5272
|
+
"line": 143
|
|
4346
5273
|
},
|
|
4347
5274
|
"name": "RunnerProviderProps",
|
|
4348
5275
|
"properties": [
|
|
@@ -4357,31 +5284,13 @@
|
|
|
4357
5284
|
"immutable": true,
|
|
4358
5285
|
"locationInModule": {
|
|
4359
5286
|
"filename": "src/providers/common.ts",
|
|
4360
|
-
"line":
|
|
5287
|
+
"line": 151
|
|
4361
5288
|
},
|
|
4362
5289
|
"name": "logRetention",
|
|
4363
5290
|
"optional": true,
|
|
4364
5291
|
"type": {
|
|
4365
5292
|
"fqn": "aws-cdk-lib.aws_logs.RetentionDays"
|
|
4366
5293
|
}
|
|
4367
|
-
},
|
|
4368
|
-
{
|
|
4369
|
-
"abstract": true,
|
|
4370
|
-
"docs": {
|
|
4371
|
-
"default": "latest version available",
|
|
4372
|
-
"stability": "experimental",
|
|
4373
|
-
"summary": "Version of GitHub Runners to install."
|
|
4374
|
-
},
|
|
4375
|
-
"immutable": true,
|
|
4376
|
-
"locationInModule": {
|
|
4377
|
-
"filename": "src/providers/common.ts",
|
|
4378
|
-
"line": 38
|
|
4379
|
-
},
|
|
4380
|
-
"name": "runnerVersion",
|
|
4381
|
-
"optional": true,
|
|
4382
|
-
"type": {
|
|
4383
|
-
"fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
|
|
4384
|
-
}
|
|
4385
5294
|
}
|
|
4386
5295
|
],
|
|
4387
5296
|
"symbolId": "src/providers/common:RunnerProviderProps"
|
|
@@ -4398,7 +5307,7 @@
|
|
|
4398
5307
|
"kind": "interface",
|
|
4399
5308
|
"locationInModule": {
|
|
4400
5309
|
"filename": "src/providers/common.ts",
|
|
4401
|
-
"line":
|
|
5310
|
+
"line": 163
|
|
4402
5311
|
},
|
|
4403
5312
|
"name": "RunnerRuntimeParameters",
|
|
4404
5313
|
"properties": [
|
|
@@ -4412,7 +5321,7 @@
|
|
|
4412
5321
|
"immutable": true,
|
|
4413
5322
|
"locationInModule": {
|
|
4414
5323
|
"filename": "src/providers/common.ts",
|
|
4415
|
-
"line":
|
|
5324
|
+
"line": 177
|
|
4416
5325
|
},
|
|
4417
5326
|
"name": "githubDomainPath",
|
|
4418
5327
|
"type": {
|
|
@@ -4428,7 +5337,7 @@
|
|
|
4428
5337
|
"immutable": true,
|
|
4429
5338
|
"locationInModule": {
|
|
4430
5339
|
"filename": "src/providers/common.ts",
|
|
4431
|
-
"line":
|
|
5340
|
+
"line": 182
|
|
4432
5341
|
},
|
|
4433
5342
|
"name": "ownerPath",
|
|
4434
5343
|
"type": {
|
|
@@ -4444,7 +5353,7 @@
|
|
|
4444
5353
|
"immutable": true,
|
|
4445
5354
|
"locationInModule": {
|
|
4446
5355
|
"filename": "src/providers/common.ts",
|
|
4447
|
-
"line":
|
|
5356
|
+
"line": 187
|
|
4448
5357
|
},
|
|
4449
5358
|
"name": "repoPath",
|
|
4450
5359
|
"type": {
|
|
@@ -4461,7 +5370,7 @@
|
|
|
4461
5370
|
"immutable": true,
|
|
4462
5371
|
"locationInModule": {
|
|
4463
5372
|
"filename": "src/providers/common.ts",
|
|
4464
|
-
"line":
|
|
5373
|
+
"line": 172
|
|
4465
5374
|
},
|
|
4466
5375
|
"name": "runnerNamePath",
|
|
4467
5376
|
"type": {
|
|
@@ -4477,7 +5386,7 @@
|
|
|
4477
5386
|
"immutable": true,
|
|
4478
5387
|
"locationInModule": {
|
|
4479
5388
|
"filename": "src/providers/common.ts",
|
|
4480
|
-
"line":
|
|
5389
|
+
"line": 167
|
|
4481
5390
|
},
|
|
4482
5391
|
"name": "runnerTokenPath",
|
|
4483
5392
|
"type": {
|
|
@@ -4598,7 +5507,7 @@
|
|
|
4598
5507
|
},
|
|
4599
5508
|
"locationInModule": {
|
|
4600
5509
|
"filename": "src/secrets.ts",
|
|
4601
|
-
"line":
|
|
5510
|
+
"line": 34
|
|
4602
5511
|
},
|
|
4603
5512
|
"parameters": [
|
|
4604
5513
|
{
|
|
@@ -4654,6 +5563,22 @@
|
|
|
4654
5563
|
"fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
|
|
4655
5564
|
}
|
|
4656
5565
|
},
|
|
5566
|
+
{
|
|
5567
|
+
"docs": {
|
|
5568
|
+
"remarks": "Should be empty after setup has been completed.",
|
|
5569
|
+
"stability": "experimental",
|
|
5570
|
+
"summary": "Setup secret used to authenticate user for our setup wizard."
|
|
5571
|
+
},
|
|
5572
|
+
"immutable": true,
|
|
5573
|
+
"locationInModule": {
|
|
5574
|
+
"filename": "src/secrets.ts",
|
|
5575
|
+
"line": 32
|
|
5576
|
+
},
|
|
5577
|
+
"name": "setup",
|
|
5578
|
+
"type": {
|
|
5579
|
+
"fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
|
|
5580
|
+
}
|
|
5581
|
+
},
|
|
4657
5582
|
{
|
|
4658
5583
|
"docs": {
|
|
4659
5584
|
"stability": "experimental",
|
|
@@ -4671,8 +5596,150 @@
|
|
|
4671
5596
|
}
|
|
4672
5597
|
],
|
|
4673
5598
|
"symbolId": "src/secrets:Secrets"
|
|
5599
|
+
},
|
|
5600
|
+
"@cloudsnorkel/cdk-github-runners.StaticRunnerImage": {
|
|
5601
|
+
"assembly": "@cloudsnorkel/cdk-github-runners",
|
|
5602
|
+
"docs": {
|
|
5603
|
+
"stability": "experimental",
|
|
5604
|
+
"summary": "Helper class with methods to use static images that are built outside the context of this project."
|
|
5605
|
+
},
|
|
5606
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.StaticRunnerImage",
|
|
5607
|
+
"initializer": {
|
|
5608
|
+
"docs": {
|
|
5609
|
+
"stability": "experimental"
|
|
5610
|
+
}
|
|
5611
|
+
},
|
|
5612
|
+
"kind": "class",
|
|
5613
|
+
"locationInModule": {
|
|
5614
|
+
"filename": "src/providers/image-builders/static.ts",
|
|
5615
|
+
"line": 10
|
|
5616
|
+
},
|
|
5617
|
+
"methods": [
|
|
5618
|
+
{
|
|
5619
|
+
"docs": {
|
|
5620
|
+
"remarks": "The image must already have GitHub Actions runner installed. You are responsible to update it and remove it when done.\n\nWe create a CodeBuild image builder behind the scenes to copy the image over to ECR. This helps avoid Docker Hub rate limits and prevent failures.",
|
|
5621
|
+
"stability": "experimental",
|
|
5622
|
+
"summary": "Create a builder from an existing Docker Hub image."
|
|
5623
|
+
},
|
|
5624
|
+
"locationInModule": {
|
|
5625
|
+
"filename": "src/providers/image-builders/static.ts",
|
|
5626
|
+
"line": 44
|
|
5627
|
+
},
|
|
5628
|
+
"name": "fromDockerHub",
|
|
5629
|
+
"parameters": [
|
|
5630
|
+
{
|
|
5631
|
+
"name": "scope",
|
|
5632
|
+
"type": {
|
|
5633
|
+
"fqn": "constructs.Construct"
|
|
5634
|
+
}
|
|
5635
|
+
},
|
|
5636
|
+
{
|
|
5637
|
+
"name": "id",
|
|
5638
|
+
"type": {
|
|
5639
|
+
"primitive": "string"
|
|
5640
|
+
}
|
|
5641
|
+
},
|
|
5642
|
+
{
|
|
5643
|
+
"docs": {
|
|
5644
|
+
"summary": "Docker Hub image with optional tag."
|
|
5645
|
+
},
|
|
5646
|
+
"name": "image",
|
|
5647
|
+
"type": {
|
|
5648
|
+
"primitive": "string"
|
|
5649
|
+
}
|
|
5650
|
+
},
|
|
5651
|
+
{
|
|
5652
|
+
"docs": {
|
|
5653
|
+
"summary": "image architecture."
|
|
5654
|
+
},
|
|
5655
|
+
"name": "architecture",
|
|
5656
|
+
"optional": true,
|
|
5657
|
+
"type": {
|
|
5658
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
5659
|
+
}
|
|
5660
|
+
},
|
|
5661
|
+
{
|
|
5662
|
+
"docs": {
|
|
5663
|
+
"summary": "image OS."
|
|
5664
|
+
},
|
|
5665
|
+
"name": "os",
|
|
5666
|
+
"optional": true,
|
|
5667
|
+
"type": {
|
|
5668
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
5669
|
+
}
|
|
5670
|
+
}
|
|
5671
|
+
],
|
|
5672
|
+
"returns": {
|
|
5673
|
+
"type": {
|
|
5674
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
5675
|
+
}
|
|
5676
|
+
},
|
|
5677
|
+
"static": true
|
|
5678
|
+
},
|
|
5679
|
+
{
|
|
5680
|
+
"docs": {
|
|
5681
|
+
"remarks": "The image must already have GitHub Actions runner installed. You are responsible to update it and remove it when done.",
|
|
5682
|
+
"stability": "experimental",
|
|
5683
|
+
"summary": "Create a builder (that doesn't actually build anything) from an existing image in an existing repository."
|
|
5684
|
+
},
|
|
5685
|
+
"locationInModule": {
|
|
5686
|
+
"filename": "src/providers/image-builders/static.ts",
|
|
5687
|
+
"line": 19
|
|
5688
|
+
},
|
|
5689
|
+
"name": "fromEcrRepository",
|
|
5690
|
+
"parameters": [
|
|
5691
|
+
{
|
|
5692
|
+
"docs": {
|
|
5693
|
+
"summary": "ECR repository."
|
|
5694
|
+
},
|
|
5695
|
+
"name": "repository",
|
|
5696
|
+
"type": {
|
|
5697
|
+
"fqn": "aws-cdk-lib.aws_ecr.IRepository"
|
|
5698
|
+
}
|
|
5699
|
+
},
|
|
5700
|
+
{
|
|
5701
|
+
"docs": {
|
|
5702
|
+
"summary": "image tag."
|
|
5703
|
+
},
|
|
5704
|
+
"name": "tag",
|
|
5705
|
+
"optional": true,
|
|
5706
|
+
"type": {
|
|
5707
|
+
"primitive": "string"
|
|
5708
|
+
}
|
|
5709
|
+
},
|
|
5710
|
+
{
|
|
5711
|
+
"docs": {
|
|
5712
|
+
"summary": "image architecture."
|
|
5713
|
+
},
|
|
5714
|
+
"name": "architecture",
|
|
5715
|
+
"optional": true,
|
|
5716
|
+
"type": {
|
|
5717
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
|
|
5718
|
+
}
|
|
5719
|
+
},
|
|
5720
|
+
{
|
|
5721
|
+
"docs": {
|
|
5722
|
+
"summary": "image OS."
|
|
5723
|
+
},
|
|
5724
|
+
"name": "os",
|
|
5725
|
+
"optional": true,
|
|
5726
|
+
"type": {
|
|
5727
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.Os"
|
|
5728
|
+
}
|
|
5729
|
+
}
|
|
5730
|
+
],
|
|
5731
|
+
"returns": {
|
|
5732
|
+
"type": {
|
|
5733
|
+
"fqn": "@cloudsnorkel/cdk-github-runners.IImageBuilder"
|
|
5734
|
+
}
|
|
5735
|
+
},
|
|
5736
|
+
"static": true
|
|
5737
|
+
}
|
|
5738
|
+
],
|
|
5739
|
+
"name": "StaticRunnerImage",
|
|
5740
|
+
"symbolId": "src/providers/image-builders/static:StaticRunnerImage"
|
|
4674
5741
|
}
|
|
4675
5742
|
},
|
|
4676
|
-
"version": "0.
|
|
4677
|
-
"fingerprint": "
|
|
5743
|
+
"version": "0.3.0",
|
|
5744
|
+
"fingerprint": "BbcPeU/UMTYhijuLgnABdbWc76bh1KhE/IYBv9sCMz8="
|
|
4678
5745
|
}
|