@cloudsnorkel/cdk-github-runners 0.8.3 → 0.9.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/.jsii +2257 -744
- package/API.md +2005 -558
- package/README.md +32 -34
- package/assets/docker-images/codebuild/linux-arm64/Dockerfile +2 -0
- package/assets/docker-images/codebuild/linux-x64/Dockerfile +2 -0
- package/assets/docker-images/fargate/linux-arm64/Dockerfile +2 -0
- package/assets/docker-images/fargate/linux-x64/Dockerfile +2 -0
- package/assets/docker-images/lambda/linux-arm64/Dockerfile +3 -1
- package/assets/docker-images/lambda/linux-arm64/runner.sh +1 -1
- package/assets/docker-images/lambda/linux-x64/Dockerfile +3 -1
- package/assets/docker-images/lambda/linux-x64/runner.sh +1 -1
- package/assets/lambdas/aws-image-builder-versioner.lambda/index.js +42 -27
- package/assets/lambdas/setup.lambda/index.html +12 -12
- package/lib/index.js +7 -3
- package/lib/lambdas/aws-image-builder-versioner-function.js +2 -2
- package/lib/lambdas/aws-image-builder-versioner.lambda.js +43 -27
- package/lib/lambdas/build-image-function.js +2 -2
- package/lib/lambdas/build-image.lambda.js +4 -4
- package/lib/lambdas/delete-ami-function.js +2 -2
- package/lib/lambdas/delete-ami.lambda.js +4 -4
- package/lib/lambdas/delete-runner-function.js +2 -2
- package/lib/lambdas/delete-runner.lambda.js +2 -2
- package/lib/lambdas/github.js +3 -3
- package/lib/lambdas/setup-function.js +2 -2
- package/lib/lambdas/setup.lambda.js +16 -16
- package/lib/lambdas/status-function.js +2 -2
- package/lib/lambdas/status.lambda.js +5 -5
- package/lib/lambdas/token-retriever-function.js +2 -2
- package/lib/lambdas/token-retriever.lambda.js +2 -2
- package/lib/lambdas/update-lambda-function.js +2 -2
- package/lib/lambdas/webhook-handler-function.js +2 -2
- package/lib/lambdas/webhook-handler.lambda.js +2 -2
- package/lib/providers/codebuild.d.ts +24 -4
- package/lib/providers/codebuild.js +43 -13
- package/lib/providers/common.d.ts +17 -39
- package/lib/providers/common.js +26 -16
- package/lib/providers/ec2.d.ts +23 -5
- package/lib/providers/ec2.js +43 -12
- package/lib/providers/fargate.d.ts +21 -4
- package/lib/providers/fargate.js +50 -20
- package/lib/providers/image-builders/api.d.ts +15 -0
- package/lib/providers/image-builders/api.js +47 -0
- package/lib/providers/image-builders/aws-image-builder/ami.d.ts +43 -0
- package/lib/providers/image-builders/aws-image-builder/ami.js +81 -0
- package/lib/providers/image-builders/aws-image-builder/builder.d.ts +133 -0
- package/lib/providers/image-builders/aws-image-builder/builder.js +488 -0
- package/lib/providers/image-builders/aws-image-builder/common.d.ts +10 -0
- package/lib/providers/image-builders/aws-image-builder/common.js +46 -0
- package/lib/providers/image-builders/aws-image-builder/container.d.ts +58 -0
- package/lib/providers/image-builders/aws-image-builder/container.js +63 -0
- package/lib/providers/image-builders/{ami.d.ts → aws-image-builder/deprecated/ami.d.ts} +8 -4
- package/lib/providers/image-builders/aws-image-builder/deprecated/ami.js +239 -0
- package/lib/providers/image-builders/aws-image-builder/deprecated/common.d.ts +34 -0
- package/lib/providers/image-builders/aws-image-builder/deprecated/common.js +139 -0
- package/lib/providers/image-builders/{container.d.ts → aws-image-builder/deprecated/container.d.ts} +8 -4
- package/lib/providers/image-builders/aws-image-builder/deprecated/container.js +222 -0
- package/lib/providers/image-builders/aws-image-builder/deprecated/index.d.ts +5 -0
- package/lib/providers/image-builders/aws-image-builder/deprecated/index.js +22 -0
- package/lib/providers/image-builders/{linux-components.d.ts → aws-image-builder/deprecated/linux-components.d.ts} +4 -2
- package/lib/providers/image-builders/aws-image-builder/deprecated/linux-components.js +180 -0
- package/lib/providers/image-builders/{windows-components.d.ts → aws-image-builder/deprecated/windows-components.d.ts} +4 -2
- package/lib/providers/image-builders/aws-image-builder/deprecated/windows-components.js +142 -0
- package/lib/providers/image-builders/aws-image-builder/index.d.ts +5 -0
- package/lib/providers/image-builders/aws-image-builder/index.js +22 -0
- package/lib/providers/image-builders/codebuild-deprecated.d.ts +195 -0
- package/lib/providers/image-builders/codebuild-deprecated.js +373 -0
- package/lib/providers/image-builders/codebuild.d.ts +26 -157
- package/lib/providers/image-builders/codebuild.js +119 -211
- package/lib/providers/image-builders/common.d.ts +164 -107
- package/lib/providers/image-builders/common.js +30 -272
- package/lib/providers/image-builders/components.d.ts +114 -0
- package/lib/providers/image-builders/components.js +534 -0
- package/lib/providers/image-builders/index.d.ts +6 -4
- package/lib/providers/image-builders/index.js +13 -7
- package/lib/providers/image-builders/static.d.ts +4 -3
- package/lib/providers/image-builders/static.js +10 -10
- package/lib/providers/index.js +7 -3
- package/lib/providers/lambda.d.ts +25 -6
- package/lib/providers/lambda.js +50 -13
- package/lib/runner.d.ts +3 -5
- package/lib/runner.js +3 -3
- package/lib/secrets.js +3 -3
- package/package.json +12 -16
- package/lib/providers/image-builders/ami.js +0 -280
- package/lib/providers/image-builders/container.js +0 -247
- package/lib/providers/image-builders/linux-components.js +0 -177
- package/lib/providers/image-builders/windows-components.js +0 -139
package/API.md
CHANGED
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
### AmiBuilder <a name="AmiBuilder" id="@cloudsnorkel/cdk-github-runners.AmiBuilder"></a>
|
|
6
6
|
|
|
7
|
-
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
7
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
8
8
|
|
|
9
9
|
An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements.
|
|
10
10
|
|
|
11
|
-
Builders can be used with {@link Ec2Runner}.
|
|
11
|
+
Builders can be used with {@link Ec2Runner }.
|
|
12
12
|
|
|
13
13
|
Each builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.
|
|
14
14
|
|
|
@@ -18,21 +18,21 @@ For example, to set a specific runner version, rebuild the image every 2 weeks,
|
|
|
18
18
|
|
|
19
19
|
```
|
|
20
20
|
const builder = new AmiBuilder(this, 'Builder', {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
runnerVersion: RunnerVersion.specific('2.293.0'),
|
|
22
|
+
rebuildInterval: Duration.days(14),
|
|
23
23
|
});
|
|
24
24
|
builder.addComponent(new ImageBuilderComponent(scope, id, {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
platform: 'Linux',
|
|
26
|
+
displayName: 'p7zip',
|
|
27
|
+
description: 'Install some more packages',
|
|
28
|
+
commands: [
|
|
29
|
+
'set -ex',
|
|
30
|
+
'apt-get install p7zip',
|
|
31
|
+
],
|
|
32
32
|
}));
|
|
33
33
|
new Ec2Runner(this, 'EC2 provider', {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
label: 'custom-ec2',
|
|
35
|
+
amiBuilder: builder,
|
|
36
36
|
});
|
|
37
37
|
```
|
|
38
38
|
|
|
@@ -77,12 +77,13 @@ new AmiBuilder(scope: Construct, id: string, props?: AmiBuilderProps)
|
|
|
77
77
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
78
78
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.addComponent">addComponent</a></code> | Add a component to be installed. |
|
|
79
79
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.addExtraCertificates">addExtraCertificates</a></code> | Add extra trusted certificates. |
|
|
80
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.
|
|
80
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.bindAmi">bindAmi</a></code> | Called by IRunnerProvider to finalize settings and create the AMI builder. |
|
|
81
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.bindDockerImage">bindDockerImage</a></code> | Build and return a Docker image with GitHub Runner installed in it. |
|
|
81
82
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder.prependComponent">prependComponent</a></code> | Add a component to be installed before any other components. |
|
|
82
83
|
|
|
83
84
|
---
|
|
84
85
|
|
|
85
|
-
#####
|
|
86
|
+
##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.toString"></a>
|
|
86
87
|
|
|
87
88
|
```typescript
|
|
88
89
|
public toString(): string
|
|
@@ -90,7 +91,7 @@ public toString(): string
|
|
|
90
91
|
|
|
91
92
|
Returns a string representation of this construct.
|
|
92
93
|
|
|
93
|
-
#####
|
|
94
|
+
##### ~~`addComponent`~~ <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.addComponent"></a>
|
|
94
95
|
|
|
95
96
|
```typescript
|
|
96
97
|
public addComponent(component: ImageBuilderComponent): void
|
|
@@ -104,7 +105,7 @@ Add a component to be installed.
|
|
|
104
105
|
|
|
105
106
|
---
|
|
106
107
|
|
|
107
|
-
#####
|
|
108
|
+
##### ~~`addExtraCertificates`~~ <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.addExtraCertificates"></a>
|
|
108
109
|
|
|
109
110
|
```typescript
|
|
110
111
|
public addExtraCertificates(path: string): void
|
|
@@ -122,15 +123,29 @@ path to directory containing a file called certs.pem containing all the required
|
|
|
122
123
|
|
|
123
124
|
---
|
|
124
125
|
|
|
125
|
-
#####
|
|
126
|
+
##### ~~`bindAmi`~~ <a name="bindAmi" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.bindAmi"></a>
|
|
126
127
|
|
|
127
128
|
```typescript
|
|
128
|
-
public
|
|
129
|
+
public bindAmi(): RunnerAmi
|
|
129
130
|
```
|
|
130
131
|
|
|
131
132
|
Called by IRunnerProvider to finalize settings and create the AMI builder.
|
|
132
133
|
|
|
133
|
-
#####
|
|
134
|
+
##### ~~`bindDockerImage`~~ <a name="bindDockerImage" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.bindDockerImage"></a>
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
public bindDockerImage(): RunnerImage
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Build and return a Docker image with GitHub Runner installed in it.
|
|
141
|
+
|
|
142
|
+
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.
|
|
143
|
+
|
|
144
|
+
It'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.
|
|
145
|
+
|
|
146
|
+
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
147
|
+
|
|
148
|
+
##### ~~`prependComponent`~~ <a name="prependComponent" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.prependComponent"></a>
|
|
134
149
|
|
|
135
150
|
```typescript
|
|
136
151
|
public prependComponent(component: ImageBuilderComponent): void
|
|
@@ -181,7 +196,9 @@ Any object.
|
|
|
181
196
|
|
|
182
197
|
---
|
|
183
198
|
|
|
184
|
-
#####
|
|
199
|
+
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.property.node"></a>
|
|
200
|
+
|
|
201
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
185
202
|
|
|
186
203
|
```typescript
|
|
187
204
|
public readonly node: Node;
|
|
@@ -193,7 +210,9 @@ The tree node.
|
|
|
193
210
|
|
|
194
211
|
---
|
|
195
212
|
|
|
196
|
-
#####
|
|
213
|
+
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.AmiBuilder.property.connections"></a>
|
|
214
|
+
|
|
215
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
197
216
|
|
|
198
217
|
```typescript
|
|
199
218
|
public readonly connections: Connections;
|
|
@@ -208,7 +227,7 @@ The network connections associated with this resource.
|
|
|
208
227
|
|
|
209
228
|
### CodeBuildImageBuilder <a name="CodeBuildImageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder"></a>
|
|
210
229
|
|
|
211
|
-
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
230
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
212
231
|
|
|
213
232
|
An image builder that uses CodeBuild to build Docker images pre-baked with all the GitHub Actions runner requirements.
|
|
214
233
|
|
|
@@ -222,14 +241,14 @@ For example, to set a specific runner version, rebuild the image every 2 weeks,
|
|
|
222
241
|
|
|
223
242
|
```
|
|
224
243
|
const builder = new CodeBuildImageBuilder(this, 'Builder', {
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
244
|
+
dockerfilePath: FargateProvider.LINUX_X64_DOCKERFILE_PATH,
|
|
245
|
+
runnerVersion: RunnerVersion.specific('2.293.0'),
|
|
246
|
+
rebuildInterval: Duration.days(14),
|
|
228
247
|
});
|
|
229
248
|
builder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');
|
|
230
249
|
new FargateRunner(this, 'Fargate provider', {
|
|
231
|
-
|
|
232
|
-
|
|
250
|
+
label: 'customized-fargate',
|
|
251
|
+
imageBuilder: builder,
|
|
233
252
|
});
|
|
234
253
|
```
|
|
235
254
|
|
|
@@ -277,12 +296,13 @@ new CodeBuildImageBuilder(scope: Construct, id: string, props: CodeBuildImageBui
|
|
|
277
296
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPolicyStatement">addPolicyStatement</a></code> | Add a policy statement to the builder to access resources required to the image build. |
|
|
278
297
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPostBuildCommand">addPostBuildCommand</a></code> | Adds a command that runs after `docker build` and `docker push`. |
|
|
279
298
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPreBuildCommand">addPreBuildCommand</a></code> | Adds a command that runs before `docker build`. |
|
|
280
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.
|
|
299
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.bindAmi">bindAmi</a></code> | Build and return an AMI with GitHub Runner installed in it. |
|
|
300
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.bindDockerImage">bindDockerImage</a></code> | Called by IRunnerProvider to finalize settings and create the image builder. |
|
|
281
301
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.setBuildArg">setBuildArg</a></code> | Adds a build argument for Docker. |
|
|
282
302
|
|
|
283
303
|
---
|
|
284
304
|
|
|
285
|
-
#####
|
|
305
|
+
##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.toString"></a>
|
|
286
306
|
|
|
287
307
|
```typescript
|
|
288
308
|
public toString(): string
|
|
@@ -290,7 +310,7 @@ public toString(): string
|
|
|
290
310
|
|
|
291
311
|
Returns a string representation of this construct.
|
|
292
312
|
|
|
293
|
-
#####
|
|
313
|
+
##### ~~`addExtraCertificates`~~ <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addExtraCertificates"></a>
|
|
294
314
|
|
|
295
315
|
```typescript
|
|
296
316
|
public addExtraCertificates(path: string): void
|
|
@@ -308,7 +328,7 @@ path to directory containing a file called certs.pem containing all the required
|
|
|
308
328
|
|
|
309
329
|
---
|
|
310
330
|
|
|
311
|
-
#####
|
|
331
|
+
##### ~~`addFiles`~~ <a name="addFiles" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addFiles"></a>
|
|
312
332
|
|
|
313
333
|
```typescript
|
|
314
334
|
public addFiles(sourcePath: string, destName: string): void
|
|
@@ -332,7 +352,7 @@ name of destination folder.
|
|
|
332
352
|
|
|
333
353
|
---
|
|
334
354
|
|
|
335
|
-
#####
|
|
355
|
+
##### ~~`addPolicyStatement`~~ <a name="addPolicyStatement" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPolicyStatement"></a>
|
|
336
356
|
|
|
337
357
|
```typescript
|
|
338
358
|
public addPolicyStatement(statement: PolicyStatement): void
|
|
@@ -348,7 +368,7 @@ IAM policy statement.
|
|
|
348
368
|
|
|
349
369
|
---
|
|
350
370
|
|
|
351
|
-
#####
|
|
371
|
+
##### ~~`addPostBuildCommand`~~ <a name="addPostBuildCommand" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPostBuildCommand"></a>
|
|
352
372
|
|
|
353
373
|
```typescript
|
|
354
374
|
public addPostBuildCommand(command: string): void
|
|
@@ -364,7 +384,7 @@ command to add.
|
|
|
364
384
|
|
|
365
385
|
---
|
|
366
386
|
|
|
367
|
-
#####
|
|
387
|
+
##### ~~`addPreBuildCommand`~~ <a name="addPreBuildCommand" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.addPreBuildCommand"></a>
|
|
368
388
|
|
|
369
389
|
```typescript
|
|
370
390
|
public addPreBuildCommand(command: string): void
|
|
@@ -380,15 +400,27 @@ command to add.
|
|
|
380
400
|
|
|
381
401
|
---
|
|
382
402
|
|
|
383
|
-
#####
|
|
403
|
+
##### ~~`bindAmi`~~ <a name="bindAmi" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.bindAmi"></a>
|
|
404
|
+
|
|
405
|
+
```typescript
|
|
406
|
+
public bindAmi(): RunnerAmi
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
Build and return an AMI with GitHub Runner installed in it.
|
|
410
|
+
|
|
411
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
412
|
+
|
|
413
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
414
|
+
|
|
415
|
+
##### ~~`bindDockerImage`~~ <a name="bindDockerImage" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.bindDockerImage"></a>
|
|
384
416
|
|
|
385
417
|
```typescript
|
|
386
|
-
public
|
|
418
|
+
public bindDockerImage(): RunnerImage
|
|
387
419
|
```
|
|
388
420
|
|
|
389
421
|
Called by IRunnerProvider to finalize settings and create the image builder.
|
|
390
422
|
|
|
391
|
-
#####
|
|
423
|
+
##### ~~`setBuildArg`~~ <a name="setBuildArg" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.setBuildArg"></a>
|
|
392
424
|
|
|
393
425
|
```typescript
|
|
394
426
|
public setBuildArg(name: string, value: string): void
|
|
@@ -445,11 +477,14 @@ Any object.
|
|
|
445
477
|
| **Name** | **Type** | **Description** |
|
|
446
478
|
| --- | --- | --- |
|
|
447
479
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
480
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | *No description.* |
|
|
448
481
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps">CodeBuildImageBuilderProps</a></code> | *No description.* |
|
|
449
482
|
|
|
450
483
|
---
|
|
451
484
|
|
|
452
|
-
#####
|
|
485
|
+
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.node"></a>
|
|
486
|
+
|
|
487
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
453
488
|
|
|
454
489
|
```typescript
|
|
455
490
|
public readonly node: Node;
|
|
@@ -461,7 +496,21 @@ The tree node.
|
|
|
461
496
|
|
|
462
497
|
---
|
|
463
498
|
|
|
464
|
-
#####
|
|
499
|
+
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.connections"></a>
|
|
500
|
+
|
|
501
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
502
|
+
|
|
503
|
+
```typescript
|
|
504
|
+
public readonly connections: Connections;
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
- *Type:* aws-cdk-lib.aws_ec2.Connections
|
|
508
|
+
|
|
509
|
+
---
|
|
510
|
+
|
|
511
|
+
##### ~~`props`~~<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder.property.props"></a>
|
|
512
|
+
|
|
513
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
465
514
|
|
|
466
515
|
```typescript
|
|
467
516
|
public readonly props: CodeBuildImageBuilderProps;
|
|
@@ -583,6 +632,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
583
632
|
| **Name** | **Description** |
|
|
584
633
|
| --- | --- |
|
|
585
634
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
635
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.imageBuilder">imageBuilder</a></code> | Create new image builder that builds CodeBuild specific runner images using Ubuntu. |
|
|
586
636
|
|
|
587
637
|
---
|
|
588
638
|
|
|
@@ -604,6 +654,43 @@ Any object.
|
|
|
604
654
|
|
|
605
655
|
---
|
|
606
656
|
|
|
657
|
+
##### ~~`imageBuilder`~~ <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.imageBuilder"></a>
|
|
658
|
+
|
|
659
|
+
```typescript
|
|
660
|
+
import { CodeBuildRunner } from '@cloudsnorkel/cdk-github-runners'
|
|
661
|
+
|
|
662
|
+
CodeBuildRunner.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
Create new image builder that builds CodeBuild specific runner images using Ubuntu.
|
|
666
|
+
|
|
667
|
+
Included components:
|
|
668
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
669
|
+
* `RunnerImageComponent.runnerUser()`
|
|
670
|
+
* `RunnerImageComponent.git()`
|
|
671
|
+
* `RunnerImageComponent.githubCli()`
|
|
672
|
+
* `RunnerImageComponent.awsCli()`
|
|
673
|
+
* `RunnerImageComponent.dockerInDocker()`
|
|
674
|
+
* `RunnerImageComponent.githubRunner()`
|
|
675
|
+
|
|
676
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.imageBuilder.parameter.scope"></a>
|
|
677
|
+
|
|
678
|
+
- *Type:* constructs.Construct
|
|
679
|
+
|
|
680
|
+
---
|
|
681
|
+
|
|
682
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.imageBuilder.parameter.id"></a>
|
|
683
|
+
|
|
684
|
+
- *Type:* string
|
|
685
|
+
|
|
686
|
+
---
|
|
687
|
+
|
|
688
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.imageBuilder.parameter.props"></a>
|
|
689
|
+
|
|
690
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
691
|
+
|
|
692
|
+
---
|
|
693
|
+
|
|
607
694
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
608
695
|
|
|
609
696
|
| **Name** | **Type** | **Description** |
|
|
@@ -620,7 +707,7 @@ Any object.
|
|
|
620
707
|
|
|
621
708
|
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.node"></a>
|
|
622
709
|
|
|
623
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
710
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
624
711
|
|
|
625
712
|
```typescript
|
|
626
713
|
public readonly node: Node;
|
|
@@ -634,7 +721,7 @@ The tree node.
|
|
|
634
721
|
|
|
635
722
|
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.connections"></a>
|
|
636
723
|
|
|
637
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
724
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
638
725
|
|
|
639
726
|
```typescript
|
|
640
727
|
public readonly connections: Connections;
|
|
@@ -648,7 +735,7 @@ The network connections associated with this resource.
|
|
|
648
735
|
|
|
649
736
|
##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.grantPrincipal"></a>
|
|
650
737
|
|
|
651
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
738
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
652
739
|
|
|
653
740
|
```typescript
|
|
654
741
|
public readonly grantPrincipal: IPrincipal;
|
|
@@ -662,7 +749,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
662
749
|
|
|
663
750
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image"></a>
|
|
664
751
|
|
|
665
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
752
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
666
753
|
|
|
667
754
|
```typescript
|
|
668
755
|
public readonly image: RunnerImage;
|
|
@@ -678,7 +765,7 @@ The image is built by an image builder and is specific to CodeBuild.
|
|
|
678
765
|
|
|
679
766
|
##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.labels"></a>
|
|
680
767
|
|
|
681
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
768
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
682
769
|
|
|
683
770
|
```typescript
|
|
684
771
|
public readonly labels: string[];
|
|
@@ -692,7 +779,7 @@ Labels associated with this provider.
|
|
|
692
779
|
|
|
693
780
|
##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.logGroup"></a>
|
|
694
781
|
|
|
695
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
782
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
696
783
|
|
|
697
784
|
```typescript
|
|
698
785
|
public readonly logGroup: ILogGroup;
|
|
@@ -708,7 +795,7 @@ Note that this is not the job log, but the runner itself. It will not contain ou
|
|
|
708
795
|
|
|
709
796
|
##### ~~`project`~~<sup>Required</sup> <a name="project" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.project"></a>
|
|
710
797
|
|
|
711
|
-
- *Deprecated:* use {@link CodeBuildRunnerProvider}
|
|
798
|
+
- *Deprecated:* use {@link CodeBuildRunnerProvider }
|
|
712
799
|
|
|
713
800
|
```typescript
|
|
714
801
|
public readonly project: Project;
|
|
@@ -731,7 +818,7 @@ CodeBuild project hosting the runner.
|
|
|
731
818
|
|
|
732
819
|
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
733
820
|
|
|
734
|
-
- *Deprecated:*
|
|
821
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
735
822
|
|
|
736
823
|
```typescript
|
|
737
824
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -755,7 +842,7 @@ Available build arguments that can be set in the image builder:
|
|
|
755
842
|
|
|
756
843
|
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
757
844
|
|
|
758
|
-
- *Deprecated:*
|
|
845
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
759
846
|
|
|
760
847
|
```typescript
|
|
761
848
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -896,6 +983,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
896
983
|
| **Name** | **Description** |
|
|
897
984
|
| --- | --- |
|
|
898
985
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
986
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.imageBuilder">imageBuilder</a></code> | Create new image builder that builds CodeBuild specific runner images using Ubuntu. |
|
|
899
987
|
|
|
900
988
|
---
|
|
901
989
|
|
|
@@ -917,6 +1005,43 @@ Any object.
|
|
|
917
1005
|
|
|
918
1006
|
---
|
|
919
1007
|
|
|
1008
|
+
##### `imageBuilder` <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.imageBuilder"></a>
|
|
1009
|
+
|
|
1010
|
+
```typescript
|
|
1011
|
+
import { CodeBuildRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
|
|
1012
|
+
|
|
1013
|
+
CodeBuildRunnerProvider.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
1014
|
+
```
|
|
1015
|
+
|
|
1016
|
+
Create new image builder that builds CodeBuild specific runner images using Ubuntu.
|
|
1017
|
+
|
|
1018
|
+
Included components:
|
|
1019
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
1020
|
+
* `RunnerImageComponent.runnerUser()`
|
|
1021
|
+
* `RunnerImageComponent.git()`
|
|
1022
|
+
* `RunnerImageComponent.githubCli()`
|
|
1023
|
+
* `RunnerImageComponent.awsCli()`
|
|
1024
|
+
* `RunnerImageComponent.dockerInDocker()`
|
|
1025
|
+
* `RunnerImageComponent.githubRunner()`
|
|
1026
|
+
|
|
1027
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.imageBuilder.parameter.scope"></a>
|
|
1028
|
+
|
|
1029
|
+
- *Type:* constructs.Construct
|
|
1030
|
+
|
|
1031
|
+
---
|
|
1032
|
+
|
|
1033
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.imageBuilder.parameter.id"></a>
|
|
1034
|
+
|
|
1035
|
+
- *Type:* string
|
|
1036
|
+
|
|
1037
|
+
---
|
|
1038
|
+
|
|
1039
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.imageBuilder.parameter.props"></a>
|
|
1040
|
+
|
|
1041
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
1042
|
+
|
|
1043
|
+
---
|
|
1044
|
+
|
|
920
1045
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
921
1046
|
|
|
922
1047
|
| **Name** | **Type** | **Description** |
|
|
@@ -1028,7 +1153,9 @@ CodeBuild project hosting the runner.
|
|
|
1028
1153
|
|
|
1029
1154
|
---
|
|
1030
1155
|
|
|
1031
|
-
#####
|
|
1156
|
+
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
1157
|
+
|
|
1158
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
1032
1159
|
|
|
1033
1160
|
```typescript
|
|
1034
1161
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -1050,7 +1177,9 @@ Available build arguments that can be set in the image builder:
|
|
|
1050
1177
|
|
|
1051
1178
|
---
|
|
1052
1179
|
|
|
1053
|
-
#####
|
|
1180
|
+
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
1181
|
+
|
|
1182
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
1054
1183
|
|
|
1055
1184
|
```typescript
|
|
1056
1185
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -1074,7 +1203,7 @@ Available build arguments that can be set in the image builder:
|
|
|
1074
1203
|
|
|
1075
1204
|
### ContainerImageBuilder <a name="ContainerImageBuilder" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder"></a>
|
|
1076
1205
|
|
|
1077
|
-
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
1206
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
1078
1207
|
|
|
1079
1208
|
An image builder that uses AWS Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
|
|
1080
1209
|
|
|
@@ -1090,12 +1219,12 @@ For example, to set a specific runner version, rebuild the image every 2 weeks,
|
|
|
1090
1219
|
|
|
1091
1220
|
```
|
|
1092
1221
|
const builder = new ContainerImageBuilder(this, 'Builder', {
|
|
1093
|
-
|
|
1094
|
-
|
|
1222
|
+
runnerVersion: RunnerVersion.specific('2.293.0'),
|
|
1223
|
+
rebuildInterval: Duration.days(14),
|
|
1095
1224
|
});
|
|
1096
1225
|
new CodeBuildRunner(this, 'CodeBuild provider', {
|
|
1097
|
-
|
|
1098
|
-
|
|
1226
|
+
label: 'custom-codebuild',
|
|
1227
|
+
imageBuilder: builder,
|
|
1099
1228
|
});
|
|
1100
1229
|
```
|
|
1101
1230
|
|
|
@@ -1140,12 +1269,13 @@ new ContainerImageBuilder(scope: Construct, id: string, props?: ContainerImageBu
|
|
|
1140
1269
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1141
1270
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent">addComponent</a></code> | Add a component to be installed. |
|
|
1142
1271
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates">addExtraCertificates</a></code> | Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server. |
|
|
1143
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.
|
|
1272
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bindAmi">bindAmi</a></code> | Build and return an AMI with GitHub Runner installed in it. |
|
|
1273
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bindDockerImage">bindDockerImage</a></code> | Called by IRunnerProvider to finalize settings and create the image builder. |
|
|
1144
1274
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent">prependComponent</a></code> | Add a component to be installed before any other components. |
|
|
1145
1275
|
|
|
1146
1276
|
---
|
|
1147
1277
|
|
|
1148
|
-
#####
|
|
1278
|
+
##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString"></a>
|
|
1149
1279
|
|
|
1150
1280
|
```typescript
|
|
1151
1281
|
public toString(): string
|
|
@@ -1153,7 +1283,7 @@ public toString(): string
|
|
|
1153
1283
|
|
|
1154
1284
|
Returns a string representation of this construct.
|
|
1155
1285
|
|
|
1156
|
-
#####
|
|
1286
|
+
##### ~~`addComponent`~~ <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent"></a>
|
|
1157
1287
|
|
|
1158
1288
|
```typescript
|
|
1159
1289
|
public addComponent(component: ImageBuilderComponent): void
|
|
@@ -1167,7 +1297,7 @@ Add a component to be installed.
|
|
|
1167
1297
|
|
|
1168
1298
|
---
|
|
1169
1299
|
|
|
1170
|
-
#####
|
|
1300
|
+
##### ~~`addExtraCertificates`~~ <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates"></a>
|
|
1171
1301
|
|
|
1172
1302
|
```typescript
|
|
1173
1303
|
public addExtraCertificates(path: string): void
|
|
@@ -1185,15 +1315,27 @@ path to directory containing a file called certs.pem containing all the required
|
|
|
1185
1315
|
|
|
1186
1316
|
---
|
|
1187
1317
|
|
|
1188
|
-
#####
|
|
1318
|
+
##### ~~`bindAmi`~~ <a name="bindAmi" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bindAmi"></a>
|
|
1189
1319
|
|
|
1190
1320
|
```typescript
|
|
1191
|
-
public
|
|
1321
|
+
public bindAmi(): RunnerAmi
|
|
1322
|
+
```
|
|
1323
|
+
|
|
1324
|
+
Build and return an AMI with GitHub Runner installed in it.
|
|
1325
|
+
|
|
1326
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
1327
|
+
|
|
1328
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
1329
|
+
|
|
1330
|
+
##### ~~`bindDockerImage`~~ <a name="bindDockerImage" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bindDockerImage"></a>
|
|
1331
|
+
|
|
1332
|
+
```typescript
|
|
1333
|
+
public bindDockerImage(): RunnerImage
|
|
1192
1334
|
```
|
|
1193
1335
|
|
|
1194
1336
|
Called by IRunnerProvider to finalize settings and create the image builder.
|
|
1195
1337
|
|
|
1196
|
-
#####
|
|
1338
|
+
##### ~~`prependComponent`~~ <a name="prependComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent"></a>
|
|
1197
1339
|
|
|
1198
1340
|
```typescript
|
|
1199
1341
|
public prependComponent(component: ImageBuilderComponent): void
|
|
@@ -1245,7 +1387,9 @@ Any object.
|
|
|
1245
1387
|
|
|
1246
1388
|
---
|
|
1247
1389
|
|
|
1248
|
-
#####
|
|
1390
|
+
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node"></a>
|
|
1391
|
+
|
|
1392
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
1249
1393
|
|
|
1250
1394
|
```typescript
|
|
1251
1395
|
public readonly node: Node;
|
|
@@ -1257,7 +1401,9 @@ The tree node.
|
|
|
1257
1401
|
|
|
1258
1402
|
---
|
|
1259
1403
|
|
|
1260
|
-
#####
|
|
1404
|
+
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.connections"></a>
|
|
1405
|
+
|
|
1406
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
1261
1407
|
|
|
1262
1408
|
```typescript
|
|
1263
1409
|
public readonly connections: Connections;
|
|
@@ -1269,7 +1415,9 @@ The network connections associated with this resource.
|
|
|
1269
1415
|
|
|
1270
1416
|
---
|
|
1271
1417
|
|
|
1272
|
-
#####
|
|
1418
|
+
##### ~~`repository`~~<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository"></a>
|
|
1419
|
+
|
|
1420
|
+
- *Deprecated:* use RunnerImageBuilder
|
|
1273
1421
|
|
|
1274
1422
|
```typescript
|
|
1275
1423
|
public readonly repository: IRepository;
|
|
@@ -1391,6 +1539,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
1391
1539
|
| **Name** | **Description** |
|
|
1392
1540
|
| --- | --- |
|
|
1393
1541
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
1542
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.imageBuilder">imageBuilder</a></code> | Create new image builder that builds EC2 specific runner images using Ubuntu. |
|
|
1394
1543
|
|
|
1395
1544
|
---
|
|
1396
1545
|
|
|
@@ -1412,6 +1561,43 @@ Any object.
|
|
|
1412
1561
|
|
|
1413
1562
|
---
|
|
1414
1563
|
|
|
1564
|
+
##### ~~`imageBuilder`~~ <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.imageBuilder"></a>
|
|
1565
|
+
|
|
1566
|
+
```typescript
|
|
1567
|
+
import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
|
|
1568
|
+
|
|
1569
|
+
Ec2Runner.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
1570
|
+
```
|
|
1571
|
+
|
|
1572
|
+
Create new image builder that builds EC2 specific runner images using Ubuntu.
|
|
1573
|
+
|
|
1574
|
+
Included components:
|
|
1575
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
1576
|
+
* `RunnerImageComponent.runnerUser()`
|
|
1577
|
+
* `RunnerImageComponent.git()`
|
|
1578
|
+
* `RunnerImageComponent.githubCli()`
|
|
1579
|
+
* `RunnerImageComponent.awsCli()`
|
|
1580
|
+
* `RunnerImageComponent.docker()`
|
|
1581
|
+
* `RunnerImageComponent.githubRunner()`
|
|
1582
|
+
|
|
1583
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.imageBuilder.parameter.scope"></a>
|
|
1584
|
+
|
|
1585
|
+
- *Type:* constructs.Construct
|
|
1586
|
+
|
|
1587
|
+
---
|
|
1588
|
+
|
|
1589
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.imageBuilder.parameter.id"></a>
|
|
1590
|
+
|
|
1591
|
+
- *Type:* string
|
|
1592
|
+
|
|
1593
|
+
---
|
|
1594
|
+
|
|
1595
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.imageBuilder.parameter.props"></a>
|
|
1596
|
+
|
|
1597
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
1598
|
+
|
|
1599
|
+
---
|
|
1600
|
+
|
|
1415
1601
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
1416
1602
|
|
|
1417
1603
|
| **Name** | **Type** | **Description** |
|
|
@@ -1426,7 +1612,7 @@ Any object.
|
|
|
1426
1612
|
|
|
1427
1613
|
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node"></a>
|
|
1428
1614
|
|
|
1429
|
-
- *Deprecated:* use {@link Ec2RunnerProvider}
|
|
1615
|
+
- *Deprecated:* use {@link Ec2RunnerProvider }
|
|
1430
1616
|
|
|
1431
1617
|
```typescript
|
|
1432
1618
|
public readonly node: Node;
|
|
@@ -1440,7 +1626,7 @@ The tree node.
|
|
|
1440
1626
|
|
|
1441
1627
|
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections"></a>
|
|
1442
1628
|
|
|
1443
|
-
- *Deprecated:* use {@link Ec2RunnerProvider}
|
|
1629
|
+
- *Deprecated:* use {@link Ec2RunnerProvider }
|
|
1444
1630
|
|
|
1445
1631
|
```typescript
|
|
1446
1632
|
public readonly connections: Connections;
|
|
@@ -1454,7 +1640,7 @@ The network connections associated with this resource.
|
|
|
1454
1640
|
|
|
1455
1641
|
##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal"></a>
|
|
1456
1642
|
|
|
1457
|
-
- *Deprecated:* use {@link Ec2RunnerProvider}
|
|
1643
|
+
- *Deprecated:* use {@link Ec2RunnerProvider }
|
|
1458
1644
|
|
|
1459
1645
|
```typescript
|
|
1460
1646
|
public readonly grantPrincipal: IPrincipal;
|
|
@@ -1468,7 +1654,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
1468
1654
|
|
|
1469
1655
|
##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels"></a>
|
|
1470
1656
|
|
|
1471
|
-
- *Deprecated:* use {@link Ec2RunnerProvider}
|
|
1657
|
+
- *Deprecated:* use {@link Ec2RunnerProvider }
|
|
1472
1658
|
|
|
1473
1659
|
```typescript
|
|
1474
1660
|
public readonly labels: string[];
|
|
@@ -1482,7 +1668,7 @@ Labels associated with this provider.
|
|
|
1482
1668
|
|
|
1483
1669
|
##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.logGroup"></a>
|
|
1484
1670
|
|
|
1485
|
-
- *Deprecated:* use {@link Ec2RunnerProvider}
|
|
1671
|
+
- *Deprecated:* use {@link Ec2RunnerProvider }
|
|
1486
1672
|
|
|
1487
1673
|
```typescript
|
|
1488
1674
|
public readonly logGroup: ILogGroup;
|
|
@@ -1614,6 +1800,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
1614
1800
|
| **Name** | **Description** |
|
|
1615
1801
|
| --- | --- |
|
|
1616
1802
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
1803
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.imageBuilder">imageBuilder</a></code> | Create new image builder that builds EC2 specific runner images using Ubuntu. |
|
|
1617
1804
|
|
|
1618
1805
|
---
|
|
1619
1806
|
|
|
@@ -1635,6 +1822,43 @@ Any object.
|
|
|
1635
1822
|
|
|
1636
1823
|
---
|
|
1637
1824
|
|
|
1825
|
+
##### `imageBuilder` <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.imageBuilder"></a>
|
|
1826
|
+
|
|
1827
|
+
```typescript
|
|
1828
|
+
import { Ec2RunnerProvider } from '@cloudsnorkel/cdk-github-runners'
|
|
1829
|
+
|
|
1830
|
+
Ec2RunnerProvider.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
1831
|
+
```
|
|
1832
|
+
|
|
1833
|
+
Create new image builder that builds EC2 specific runner images using Ubuntu.
|
|
1834
|
+
|
|
1835
|
+
Included components:
|
|
1836
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
1837
|
+
* `RunnerImageComponent.runnerUser()`
|
|
1838
|
+
* `RunnerImageComponent.git()`
|
|
1839
|
+
* `RunnerImageComponent.githubCli()`
|
|
1840
|
+
* `RunnerImageComponent.awsCli()`
|
|
1841
|
+
* `RunnerImageComponent.docker()`
|
|
1842
|
+
* `RunnerImageComponent.githubRunner()`
|
|
1843
|
+
|
|
1844
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.imageBuilder.parameter.scope"></a>
|
|
1845
|
+
|
|
1846
|
+
- *Type:* constructs.Construct
|
|
1847
|
+
|
|
1848
|
+
---
|
|
1849
|
+
|
|
1850
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.imageBuilder.parameter.id"></a>
|
|
1851
|
+
|
|
1852
|
+
- *Type:* string
|
|
1853
|
+
|
|
1854
|
+
---
|
|
1855
|
+
|
|
1856
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider.imageBuilder.parameter.props"></a>
|
|
1857
|
+
|
|
1858
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
1859
|
+
|
|
1860
|
+
---
|
|
1861
|
+
|
|
1638
1862
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
1639
1863
|
|
|
1640
1864
|
| **Name** | **Type** | **Description** |
|
|
@@ -1821,6 +2045,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
1821
2045
|
| **Name** | **Description** |
|
|
1822
2046
|
| --- | --- |
|
|
1823
2047
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
2048
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.imageBuilder">imageBuilder</a></code> | Create new image builder that builds Fargate specific runner images using Ubuntu. |
|
|
1824
2049
|
|
|
1825
2050
|
---
|
|
1826
2051
|
|
|
@@ -1842,6 +2067,42 @@ Any object.
|
|
|
1842
2067
|
|
|
1843
2068
|
---
|
|
1844
2069
|
|
|
2070
|
+
##### ~~`imageBuilder`~~ <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunner.imageBuilder"></a>
|
|
2071
|
+
|
|
2072
|
+
```typescript
|
|
2073
|
+
import { FargateRunner } from '@cloudsnorkel/cdk-github-runners'
|
|
2074
|
+
|
|
2075
|
+
FargateRunner.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
2076
|
+
```
|
|
2077
|
+
|
|
2078
|
+
Create new image builder that builds Fargate specific runner images using Ubuntu.
|
|
2079
|
+
|
|
2080
|
+
Included components:
|
|
2081
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
2082
|
+
* `RunnerImageComponent.runnerUser()`
|
|
2083
|
+
* `RunnerImageComponent.git()`
|
|
2084
|
+
* `RunnerImageComponent.githubCli()`
|
|
2085
|
+
* `RunnerImageComponent.awsCli()`
|
|
2086
|
+
* `RunnerImageComponent.githubRunner()`
|
|
2087
|
+
|
|
2088
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.FargateRunner.imageBuilder.parameter.scope"></a>
|
|
2089
|
+
|
|
2090
|
+
- *Type:* constructs.Construct
|
|
2091
|
+
|
|
2092
|
+
---
|
|
2093
|
+
|
|
2094
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.FargateRunner.imageBuilder.parameter.id"></a>
|
|
2095
|
+
|
|
2096
|
+
- *Type:* string
|
|
2097
|
+
|
|
2098
|
+
---
|
|
2099
|
+
|
|
2100
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.FargateRunner.imageBuilder.parameter.props"></a>
|
|
2101
|
+
|
|
2102
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
2103
|
+
|
|
2104
|
+
---
|
|
2105
|
+
|
|
1845
2106
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
1846
2107
|
|
|
1847
2108
|
| **Name** | **Type** | **Description** |
|
|
@@ -1864,7 +2125,7 @@ Any object.
|
|
|
1864
2125
|
|
|
1865
2126
|
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.node"></a>
|
|
1866
2127
|
|
|
1867
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2128
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1868
2129
|
|
|
1869
2130
|
```typescript
|
|
1870
2131
|
public readonly node: Node;
|
|
@@ -1878,7 +2139,7 @@ The tree node.
|
|
|
1878
2139
|
|
|
1879
2140
|
##### ~~`assignPublicIp`~~<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp"></a>
|
|
1880
2141
|
|
|
1881
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2142
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1882
2143
|
|
|
1883
2144
|
```typescript
|
|
1884
2145
|
public readonly assignPublicIp: boolean;
|
|
@@ -1892,7 +2153,7 @@ Whether runner task will have a public IP.
|
|
|
1892
2153
|
|
|
1893
2154
|
##### ~~`cluster`~~<sup>Required</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.cluster"></a>
|
|
1894
2155
|
|
|
1895
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2156
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1896
2157
|
|
|
1897
2158
|
```typescript
|
|
1898
2159
|
public readonly cluster: Cluster;
|
|
@@ -1906,7 +2167,7 @@ Cluster hosting the task hosting the runner.
|
|
|
1906
2167
|
|
|
1907
2168
|
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections"></a>
|
|
1908
2169
|
|
|
1909
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2170
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1910
2171
|
|
|
1911
2172
|
```typescript
|
|
1912
2173
|
public readonly connections: Connections;
|
|
@@ -1920,7 +2181,7 @@ The network connections associated with this resource.
|
|
|
1920
2181
|
|
|
1921
2182
|
##### ~~`container`~~<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.container"></a>
|
|
1922
2183
|
|
|
1923
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2184
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1924
2185
|
|
|
1925
2186
|
```typescript
|
|
1926
2187
|
public readonly container: ContainerDefinition;
|
|
@@ -1934,7 +2195,7 @@ Container definition hosting the runner.
|
|
|
1934
2195
|
|
|
1935
2196
|
##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal"></a>
|
|
1936
2197
|
|
|
1937
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2198
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1938
2199
|
|
|
1939
2200
|
```typescript
|
|
1940
2201
|
public readonly grantPrincipal: IPrincipal;
|
|
@@ -1948,7 +2209,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
1948
2209
|
|
|
1949
2210
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.image"></a>
|
|
1950
2211
|
|
|
1951
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2212
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1952
2213
|
|
|
1953
2214
|
```typescript
|
|
1954
2215
|
public readonly image: RunnerImage;
|
|
@@ -1964,7 +2225,7 @@ The image is built by an image builder and is specific to Fargate tasks.
|
|
|
1964
2225
|
|
|
1965
2226
|
##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels"></a>
|
|
1966
2227
|
|
|
1967
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2228
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1968
2229
|
|
|
1969
2230
|
```typescript
|
|
1970
2231
|
public readonly labels: string[];
|
|
@@ -1978,7 +2239,7 @@ Labels associated with this provider.
|
|
|
1978
2239
|
|
|
1979
2240
|
##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.logGroup"></a>
|
|
1980
2241
|
|
|
1981
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2242
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1982
2243
|
|
|
1983
2244
|
```typescript
|
|
1984
2245
|
public readonly logGroup: ILogGroup;
|
|
@@ -1994,7 +2255,7 @@ Note that this is not the job log, but the runner itself. It will not contain ou
|
|
|
1994
2255
|
|
|
1995
2256
|
##### ~~`spot`~~<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot"></a>
|
|
1996
2257
|
|
|
1997
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2258
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
1998
2259
|
|
|
1999
2260
|
```typescript
|
|
2000
2261
|
public readonly spot: boolean;
|
|
@@ -2008,7 +2269,7 @@ Use spot pricing for Fargate tasks.
|
|
|
2008
2269
|
|
|
2009
2270
|
##### ~~`task`~~<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.task"></a>
|
|
2010
2271
|
|
|
2011
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2272
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
2012
2273
|
|
|
2013
2274
|
```typescript
|
|
2014
2275
|
public readonly task: FargateTaskDefinition;
|
|
@@ -2022,7 +2283,7 @@ Fargate task hosting the runner.
|
|
|
2022
2283
|
|
|
2023
2284
|
##### ~~`subnetSelection`~~<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection"></a>
|
|
2024
2285
|
|
|
2025
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2286
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
2026
2287
|
|
|
2027
2288
|
```typescript
|
|
2028
2289
|
public readonly subnetSelection: SubnetSelection;
|
|
@@ -2036,7 +2297,7 @@ Subnets used for hosting the runner task.
|
|
|
2036
2297
|
|
|
2037
2298
|
##### ~~`vpc`~~<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc"></a>
|
|
2038
2299
|
|
|
2039
|
-
- *Deprecated:* use {@link FargateRunnerProvider}
|
|
2300
|
+
- *Deprecated:* use {@link FargateRunnerProvider }
|
|
2040
2301
|
|
|
2041
2302
|
```typescript
|
|
2042
2303
|
public readonly vpc: IVpc;
|
|
@@ -2059,7 +2320,7 @@ VPC used for hosting the runner task.
|
|
|
2059
2320
|
|
|
2060
2321
|
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
2061
2322
|
|
|
2062
|
-
- *Deprecated:*
|
|
2323
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
2063
2324
|
|
|
2064
2325
|
```typescript
|
|
2065
2326
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -2079,7 +2340,7 @@ Available build arguments that can be set in the image builder:
|
|
|
2079
2340
|
|
|
2080
2341
|
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
2081
2342
|
|
|
2082
|
-
- *Deprecated:*
|
|
2343
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
2083
2344
|
|
|
2084
2345
|
```typescript
|
|
2085
2346
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -2216,6 +2477,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
2216
2477
|
| **Name** | **Description** |
|
|
2217
2478
|
| --- | --- |
|
|
2218
2479
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
2480
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.imageBuilder">imageBuilder</a></code> | Create new image builder that builds Fargate specific runner images using Ubuntu. |
|
|
2219
2481
|
|
|
2220
2482
|
---
|
|
2221
2483
|
|
|
@@ -2237,6 +2499,42 @@ Any object.
|
|
|
2237
2499
|
|
|
2238
2500
|
---
|
|
2239
2501
|
|
|
2502
|
+
##### `imageBuilder` <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.imageBuilder"></a>
|
|
2503
|
+
|
|
2504
|
+
```typescript
|
|
2505
|
+
import { FargateRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
|
|
2506
|
+
|
|
2507
|
+
FargateRunnerProvider.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
2508
|
+
```
|
|
2509
|
+
|
|
2510
|
+
Create new image builder that builds Fargate specific runner images using Ubuntu.
|
|
2511
|
+
|
|
2512
|
+
Included components:
|
|
2513
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
2514
|
+
* `RunnerImageComponent.runnerUser()`
|
|
2515
|
+
* `RunnerImageComponent.git()`
|
|
2516
|
+
* `RunnerImageComponent.githubCli()`
|
|
2517
|
+
* `RunnerImageComponent.awsCli()`
|
|
2518
|
+
* `RunnerImageComponent.githubRunner()`
|
|
2519
|
+
|
|
2520
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.imageBuilder.parameter.scope"></a>
|
|
2521
|
+
|
|
2522
|
+
- *Type:* constructs.Construct
|
|
2523
|
+
|
|
2524
|
+
---
|
|
2525
|
+
|
|
2526
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.imageBuilder.parameter.id"></a>
|
|
2527
|
+
|
|
2528
|
+
- *Type:* string
|
|
2529
|
+
|
|
2530
|
+
---
|
|
2531
|
+
|
|
2532
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.imageBuilder.parameter.props"></a>
|
|
2533
|
+
|
|
2534
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
2535
|
+
|
|
2536
|
+
---
|
|
2537
|
+
|
|
2240
2538
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
2241
2539
|
|
|
2242
2540
|
| **Name** | **Type** | **Description** |
|
|
@@ -2426,7 +2724,9 @@ VPC used for hosting the runner task.
|
|
|
2426
2724
|
|
|
2427
2725
|
---
|
|
2428
2726
|
|
|
2429
|
-
#####
|
|
2727
|
+
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
2728
|
+
|
|
2729
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
2430
2730
|
|
|
2431
2731
|
```typescript
|
|
2432
2732
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -2444,7 +2744,9 @@ Available build arguments that can be set in the image builder:
|
|
|
2444
2744
|
|
|
2445
2745
|
---
|
|
2446
2746
|
|
|
2447
|
-
#####
|
|
2747
|
+
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
2748
|
+
|
|
2749
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
2448
2750
|
|
|
2449
2751
|
```typescript
|
|
2450
2752
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -2484,12 +2786,12 @@ const bucket = new s3.Bucket(this, 'runner bucket');
|
|
|
2484
2786
|
|
|
2485
2787
|
// create a custom CodeBuild provider
|
|
2486
2788
|
const myProvider = new CodeBuildRunner(
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2789
|
+
this, 'codebuild runner',
|
|
2790
|
+
{
|
|
2791
|
+
label: 'my-codebuild',
|
|
2792
|
+
vpc: vpc,
|
|
2793
|
+
securityGroup: runnerSg,
|
|
2794
|
+
},
|
|
2493
2795
|
);
|
|
2494
2796
|
// grant some permissions to the provider
|
|
2495
2797
|
bucket.grantReadWrite(myProvider);
|
|
@@ -2497,11 +2799,11 @@ dbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to conne
|
|
|
2497
2799
|
|
|
2498
2800
|
// create the runner infrastructure
|
|
2499
2801
|
new GitHubRunners(
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2802
|
+
this,
|
|
2803
|
+
'runners',
|
|
2804
|
+
{
|
|
2805
|
+
providers: [myProvider],
|
|
2806
|
+
}
|
|
2505
2807
|
);
|
|
2506
2808
|
```
|
|
2507
2809
|
|
|
@@ -2721,13 +3023,13 @@ Example:
|
|
|
2721
3023
|
|
|
2722
3024
|
```
|
|
2723
3025
|
new ImageBuilderComponent(this, 'AWS CLI', {
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
3026
|
+
platform: 'Windows',
|
|
3027
|
+
displayName: 'AWS CLI',
|
|
3028
|
+
description: 'Install latest version of AWS CLI',
|
|
3029
|
+
commands: [
|
|
3030
|
+
'$ErrorActionPreference = \'Stop\'',
|
|
3031
|
+
'Start-Process msiexec.exe -Wait -ArgumentList \'/i https://awscli.amazonaws.com/AWSCLIV2.msi /qn\'',
|
|
3032
|
+
],
|
|
2731
3033
|
}
|
|
2732
3034
|
```
|
|
2733
3035
|
|
|
@@ -2772,10 +3074,11 @@ new ImageBuilderComponent(scope: Construct, id: string, props: ImageBuilderCompo
|
|
|
2772
3074
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
2773
3075
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
|
|
2774
3076
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead">grantAssetsRead</a></code> | Grants read permissions to the principal on the assets buckets. |
|
|
3077
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.prefixCommandsWithErrorHandling">prefixCommandsWithErrorHandling</a></code> | *No description.* |
|
|
2775
3078
|
|
|
2776
3079
|
---
|
|
2777
3080
|
|
|
2778
|
-
#####
|
|
3081
|
+
##### ~~`toString`~~ <a name="toString" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString"></a>
|
|
2779
3082
|
|
|
2780
3083
|
```typescript
|
|
2781
3084
|
public toString(): string
|
|
@@ -2783,7 +3086,7 @@ public toString(): string
|
|
|
2783
3086
|
|
|
2784
3087
|
Returns a string representation of this construct.
|
|
2785
3088
|
|
|
2786
|
-
#####
|
|
3089
|
+
##### ~~`applyRemovalPolicy`~~ <a name="applyRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy"></a>
|
|
2787
3090
|
|
|
2788
3091
|
```typescript
|
|
2789
3092
|
public applyRemovalPolicy(policy: RemovalPolicy): void
|
|
@@ -2805,7 +3108,7 @@ account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
|
|
|
2805
3108
|
|
|
2806
3109
|
---
|
|
2807
3110
|
|
|
2808
|
-
#####
|
|
3111
|
+
##### ~~`grantAssetsRead`~~ <a name="grantAssetsRead" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead"></a>
|
|
2809
3112
|
|
|
2810
3113
|
```typescript
|
|
2811
3114
|
public grantAssetsRead(grantee: IGrantable): void
|
|
@@ -2819,6 +3122,24 @@ Grants read permissions to the principal on the assets buckets.
|
|
|
2819
3122
|
|
|
2820
3123
|
---
|
|
2821
3124
|
|
|
3125
|
+
##### ~~`prefixCommandsWithErrorHandling`~~ <a name="prefixCommandsWithErrorHandling" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.prefixCommandsWithErrorHandling"></a>
|
|
3126
|
+
|
|
3127
|
+
```typescript
|
|
3128
|
+
public prefixCommandsWithErrorHandling(platform: string, commands: string[]): string[]
|
|
3129
|
+
```
|
|
3130
|
+
|
|
3131
|
+
###### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.prefixCommandsWithErrorHandling.parameter.platform"></a>
|
|
3132
|
+
|
|
3133
|
+
- *Type:* string
|
|
3134
|
+
|
|
3135
|
+
---
|
|
3136
|
+
|
|
3137
|
+
###### `commands`<sup>Required</sup> <a name="commands" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.prefixCommandsWithErrorHandling.parameter.commands"></a>
|
|
3138
|
+
|
|
3139
|
+
- *Type:* string[]
|
|
3140
|
+
|
|
3141
|
+
---
|
|
3142
|
+
|
|
2822
3143
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
2823
3144
|
|
|
2824
3145
|
| **Name** | **Description** |
|
|
@@ -2847,7 +3168,7 @@ Any object.
|
|
|
2847
3168
|
|
|
2848
3169
|
---
|
|
2849
3170
|
|
|
2850
|
-
#####
|
|
3171
|
+
##### ~~`isOwnedResource`~~ <a name="isOwnedResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource"></a>
|
|
2851
3172
|
|
|
2852
3173
|
```typescript
|
|
2853
3174
|
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -2863,7 +3184,7 @@ Returns true if the construct was created by CDK, and false otherwise.
|
|
|
2863
3184
|
|
|
2864
3185
|
---
|
|
2865
3186
|
|
|
2866
|
-
#####
|
|
3187
|
+
##### ~~`isResource`~~ <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
|
|
2867
3188
|
|
|
2868
3189
|
```typescript
|
|
2869
3190
|
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -2891,7 +3212,9 @@ Check whether the given construct is a Resource.
|
|
|
2891
3212
|
|
|
2892
3213
|
---
|
|
2893
3214
|
|
|
2894
|
-
#####
|
|
3215
|
+
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node"></a>
|
|
3216
|
+
|
|
3217
|
+
- *Deprecated:* Use `RunnerImageComponent` instead as this be internal soon.
|
|
2895
3218
|
|
|
2896
3219
|
```typescript
|
|
2897
3220
|
public readonly node: Node;
|
|
@@ -2903,7 +3226,9 @@ The tree node.
|
|
|
2903
3226
|
|
|
2904
3227
|
---
|
|
2905
3228
|
|
|
2906
|
-
#####
|
|
3229
|
+
##### ~~`env`~~<sup>Required</sup> <a name="env" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env"></a>
|
|
3230
|
+
|
|
3231
|
+
- *Deprecated:* Use `RunnerImageComponent` instead as this be internal soon.
|
|
2907
3232
|
|
|
2908
3233
|
```typescript
|
|
2909
3234
|
public readonly env: ResourceEnvironment;
|
|
@@ -2922,7 +3247,9 @@ that might be different than the stack they were imported into.
|
|
|
2922
3247
|
|
|
2923
3248
|
---
|
|
2924
3249
|
|
|
2925
|
-
#####
|
|
3250
|
+
##### ~~`stack`~~<sup>Required</sup> <a name="stack" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack"></a>
|
|
3251
|
+
|
|
3252
|
+
- *Deprecated:* Use `RunnerImageComponent` instead as this be internal soon.
|
|
2926
3253
|
|
|
2927
3254
|
```typescript
|
|
2928
3255
|
public readonly stack: Stack;
|
|
@@ -2934,7 +3261,9 @@ The stack in which this resource is defined.
|
|
|
2934
3261
|
|
|
2935
3262
|
---
|
|
2936
3263
|
|
|
2937
|
-
#####
|
|
3264
|
+
##### ~~`arn`~~<sup>Required</sup> <a name="arn" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn"></a>
|
|
3265
|
+
|
|
3266
|
+
- *Deprecated:* Use `RunnerImageComponent` instead as this be internal soon.
|
|
2938
3267
|
|
|
2939
3268
|
```typescript
|
|
2940
3269
|
public readonly arn: string;
|
|
@@ -2946,7 +3275,9 @@ Component ARN.
|
|
|
2946
3275
|
|
|
2947
3276
|
---
|
|
2948
3277
|
|
|
2949
|
-
#####
|
|
3278
|
+
##### ~~`platform`~~<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform"></a>
|
|
3279
|
+
|
|
3280
|
+
- *Deprecated:* Use `RunnerImageComponent` instead as this be internal soon.
|
|
2950
3281
|
|
|
2951
3282
|
```typescript
|
|
2952
3283
|
public readonly platform: string;
|
|
@@ -3070,6 +3401,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
3070
3401
|
| **Name** | **Description** |
|
|
3071
3402
|
| --- | --- |
|
|
3072
3403
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
3404
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.imageBuilder">imageBuilder</a></code> | Create new image builder that builds Lambda specific runner images using Amazon Linux 2. |
|
|
3073
3405
|
|
|
3074
3406
|
---
|
|
3075
3407
|
|
|
@@ -3091,6 +3423,45 @@ Any object.
|
|
|
3091
3423
|
|
|
3092
3424
|
---
|
|
3093
3425
|
|
|
3426
|
+
##### ~~`imageBuilder`~~ <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.imageBuilder"></a>
|
|
3427
|
+
|
|
3428
|
+
```typescript
|
|
3429
|
+
import { LambdaRunner } from '@cloudsnorkel/cdk-github-runners'
|
|
3430
|
+
|
|
3431
|
+
LambdaRunner.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
3432
|
+
```
|
|
3433
|
+
|
|
3434
|
+
Create new image builder that builds Lambda specific runner images using Amazon Linux 2.
|
|
3435
|
+
|
|
3436
|
+
Included components:
|
|
3437
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
3438
|
+
* `RunnerImageComponent.runnerUser()`
|
|
3439
|
+
* `RunnerImageComponent.git()`
|
|
3440
|
+
* `RunnerImageComponent.githubCli()`
|
|
3441
|
+
* `RunnerImageComponent.awsCli()`
|
|
3442
|
+
* `RunnerImageComponent.githubRunner()`
|
|
3443
|
+
* `RunnerImageComponent.lambdaEntrypoint()`
|
|
3444
|
+
|
|
3445
|
+
Base Docker image: `public.ecr.aws/lambda/nodejs:14-x86_64` or `public.ecr.aws/lambda/nodejs:14-arm64`
|
|
3446
|
+
|
|
3447
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.imageBuilder.parameter.scope"></a>
|
|
3448
|
+
|
|
3449
|
+
- *Type:* constructs.Construct
|
|
3450
|
+
|
|
3451
|
+
---
|
|
3452
|
+
|
|
3453
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.imageBuilder.parameter.id"></a>
|
|
3454
|
+
|
|
3455
|
+
- *Type:* string
|
|
3456
|
+
|
|
3457
|
+
---
|
|
3458
|
+
|
|
3459
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.imageBuilder.parameter.props"></a>
|
|
3460
|
+
|
|
3461
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
3462
|
+
|
|
3463
|
+
---
|
|
3464
|
+
|
|
3094
3465
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3095
3466
|
|
|
3096
3467
|
| **Name** | **Type** | **Description** |
|
|
@@ -3107,7 +3478,7 @@ Any object.
|
|
|
3107
3478
|
|
|
3108
3479
|
##### ~~`node`~~<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.node"></a>
|
|
3109
3480
|
|
|
3110
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3481
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3111
3482
|
|
|
3112
3483
|
```typescript
|
|
3113
3484
|
public readonly node: Node;
|
|
@@ -3121,7 +3492,7 @@ The tree node.
|
|
|
3121
3492
|
|
|
3122
3493
|
##### ~~`connections`~~<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections"></a>
|
|
3123
3494
|
|
|
3124
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3495
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3125
3496
|
|
|
3126
3497
|
```typescript
|
|
3127
3498
|
public readonly connections: Connections;
|
|
@@ -3135,7 +3506,7 @@ The network connections associated with this resource.
|
|
|
3135
3506
|
|
|
3136
3507
|
##### ~~`function`~~<sup>Required</sup> <a name="function" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function"></a>
|
|
3137
3508
|
|
|
3138
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3509
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3139
3510
|
|
|
3140
3511
|
```typescript
|
|
3141
3512
|
public readonly function: Function;
|
|
@@ -3149,7 +3520,7 @@ The function hosting the GitHub runner.
|
|
|
3149
3520
|
|
|
3150
3521
|
##### ~~`grantPrincipal`~~<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal"></a>
|
|
3151
3522
|
|
|
3152
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3523
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3153
3524
|
|
|
3154
3525
|
```typescript
|
|
3155
3526
|
public readonly grantPrincipal: IPrincipal;
|
|
@@ -3163,7 +3534,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
3163
3534
|
|
|
3164
3535
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image"></a>
|
|
3165
3536
|
|
|
3166
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3537
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3167
3538
|
|
|
3168
3539
|
```typescript
|
|
3169
3540
|
public readonly image: RunnerImage;
|
|
@@ -3179,7 +3550,7 @@ The image is built by an image builder and is specific to Lambda.
|
|
|
3179
3550
|
|
|
3180
3551
|
##### ~~`labels`~~<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels"></a>
|
|
3181
3552
|
|
|
3182
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3553
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3183
3554
|
|
|
3184
3555
|
```typescript
|
|
3185
3556
|
public readonly labels: string[];
|
|
@@ -3193,7 +3564,7 @@ Labels associated with this provider.
|
|
|
3193
3564
|
|
|
3194
3565
|
##### ~~`logGroup`~~<sup>Required</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.logGroup"></a>
|
|
3195
3566
|
|
|
3196
|
-
- *Deprecated:* use {@link LambdaRunnerProvider}
|
|
3567
|
+
- *Deprecated:* use {@link LambdaRunnerProvider }
|
|
3197
3568
|
|
|
3198
3569
|
```typescript
|
|
3199
3570
|
public readonly logGroup: ILogGroup;
|
|
@@ -3218,7 +3589,7 @@ Note that this is not the job log, but the runner itself. It will not contain ou
|
|
|
3218
3589
|
|
|
3219
3590
|
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
3220
3591
|
|
|
3221
|
-
- *Deprecated:*
|
|
3592
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
3222
3593
|
|
|
3223
3594
|
```typescript
|
|
3224
3595
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -3238,7 +3609,7 @@ Available build arguments that can be set in the image builder:
|
|
|
3238
3609
|
|
|
3239
3610
|
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
3240
3611
|
|
|
3241
|
-
- *Deprecated:*
|
|
3612
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
3242
3613
|
|
|
3243
3614
|
```typescript
|
|
3244
3615
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -3375,6 +3746,7 @@ Also gives the status function any needed permissions to query the Docker image
|
|
|
3375
3746
|
| **Name** | **Description** |
|
|
3376
3747
|
| --- | --- |
|
|
3377
3748
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
3749
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.imageBuilder">imageBuilder</a></code> | Create new image builder that builds Lambda specific runner images using Amazon Linux 2. |
|
|
3378
3750
|
|
|
3379
3751
|
---
|
|
3380
3752
|
|
|
@@ -3396,6 +3768,45 @@ Any object.
|
|
|
3396
3768
|
|
|
3397
3769
|
---
|
|
3398
3770
|
|
|
3771
|
+
##### `imageBuilder` <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.imageBuilder"></a>
|
|
3772
|
+
|
|
3773
|
+
```typescript
|
|
3774
|
+
import { LambdaRunnerProvider } from '@cloudsnorkel/cdk-github-runners'
|
|
3775
|
+
|
|
3776
|
+
LambdaRunnerProvider.imageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
3777
|
+
```
|
|
3778
|
+
|
|
3779
|
+
Create new image builder that builds Lambda specific runner images using Amazon Linux 2.
|
|
3780
|
+
|
|
3781
|
+
Included components:
|
|
3782
|
+
* `RunnerImageComponent.requiredPackages()`
|
|
3783
|
+
* `RunnerImageComponent.runnerUser()`
|
|
3784
|
+
* `RunnerImageComponent.git()`
|
|
3785
|
+
* `RunnerImageComponent.githubCli()`
|
|
3786
|
+
* `RunnerImageComponent.awsCli()`
|
|
3787
|
+
* `RunnerImageComponent.githubRunner()`
|
|
3788
|
+
* `RunnerImageComponent.lambdaEntrypoint()`
|
|
3789
|
+
|
|
3790
|
+
Base Docker image: `public.ecr.aws/lambda/nodejs:14-x86_64` or `public.ecr.aws/lambda/nodejs:14-arm64`
|
|
3791
|
+
|
|
3792
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.imageBuilder.parameter.scope"></a>
|
|
3793
|
+
|
|
3794
|
+
- *Type:* constructs.Construct
|
|
3795
|
+
|
|
3796
|
+
---
|
|
3797
|
+
|
|
3798
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.imageBuilder.parameter.id"></a>
|
|
3799
|
+
|
|
3800
|
+
- *Type:* string
|
|
3801
|
+
|
|
3802
|
+
---
|
|
3803
|
+
|
|
3804
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.imageBuilder.parameter.props"></a>
|
|
3805
|
+
|
|
3806
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
3807
|
+
|
|
3808
|
+
---
|
|
3809
|
+
|
|
3399
3810
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3400
3811
|
|
|
3401
3812
|
| **Name** | **Type** | **Description** |
|
|
@@ -3507,7 +3918,9 @@ Note that this is not the job log, but the runner itself. It will not contain ou
|
|
|
3507
3918
|
|
|
3508
3919
|
---
|
|
3509
3920
|
|
|
3510
|
-
#####
|
|
3921
|
+
##### ~~`LINUX_ARM64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_ARM64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_ARM64_DOCKERFILE_PATH"></a>
|
|
3922
|
+
|
|
3923
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
3511
3924
|
|
|
3512
3925
|
```typescript
|
|
3513
3926
|
public readonly LINUX_ARM64_DOCKERFILE_PATH: string;
|
|
@@ -3525,7 +3938,9 @@ Available build arguments that can be set in the image builder:
|
|
|
3525
3938
|
|
|
3526
3939
|
---
|
|
3527
3940
|
|
|
3528
|
-
#####
|
|
3941
|
+
##### ~~`LINUX_X64_DOCKERFILE_PATH`~~<sup>Required</sup> <a name="LINUX_X64_DOCKERFILE_PATH" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.LINUX_X64_DOCKERFILE_PATH"></a>
|
|
3942
|
+
|
|
3943
|
+
- *Deprecated:* Use `imageBuilder()` instead.
|
|
3529
3944
|
|
|
3530
3945
|
```typescript
|
|
3531
3946
|
public readonly LINUX_X64_DOCKERFILE_PATH: string;
|
|
@@ -3543,17 +3958,247 @@ Available build arguments that can be set in the image builder:
|
|
|
3543
3958
|
|
|
3544
3959
|
---
|
|
3545
3960
|
|
|
3546
|
-
###
|
|
3961
|
+
### RunnerImageBuilder <a name="RunnerImageBuilder" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"></a>
|
|
3547
3962
|
|
|
3548
|
-
|
|
3963
|
+
- *Implements:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
3549
3964
|
|
|
3550
|
-
|
|
3965
|
+
GitHub Runner image builder. Builds a Docker image or AMI with GitHub Runner and other requirements installed.
|
|
3551
3966
|
|
|
3552
|
-
|
|
3553
|
-
import { Secrets } from '@cloudsnorkel/cdk-github-runners'
|
|
3967
|
+
Images can be customized before passed into the provider by adding or removing components to be installed.
|
|
3554
3968
|
|
|
3555
|
-
|
|
3556
|
-
|
|
3969
|
+
Images are rebuilt every week by default to ensure that the latest security patches are applied.
|
|
3970
|
+
|
|
3971
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer"></a>
|
|
3972
|
+
|
|
3973
|
+
```typescript
|
|
3974
|
+
import { RunnerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
|
|
3975
|
+
|
|
3976
|
+
new RunnerImageBuilder(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
3977
|
+
```
|
|
3978
|
+
|
|
3979
|
+
| **Name** | **Type** | **Description** |
|
|
3980
|
+
| --- | --- | --- |
|
|
3981
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
3982
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
3983
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a></code> | *No description.* |
|
|
3984
|
+
|
|
3985
|
+
---
|
|
3986
|
+
|
|
3987
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.scope"></a>
|
|
3988
|
+
|
|
3989
|
+
- *Type:* constructs.Construct
|
|
3990
|
+
|
|
3991
|
+
---
|
|
3992
|
+
|
|
3993
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.id"></a>
|
|
3994
|
+
|
|
3995
|
+
- *Type:* string
|
|
3996
|
+
|
|
3997
|
+
---
|
|
3998
|
+
|
|
3999
|
+
##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.Initializer.parameter.props"></a>
|
|
4000
|
+
|
|
4001
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
4002
|
+
|
|
4003
|
+
---
|
|
4004
|
+
|
|
4005
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
4006
|
+
|
|
4007
|
+
| **Name** | **Description** |
|
|
4008
|
+
| --- | --- |
|
|
4009
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
4010
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.addComponent">addComponent</a></code> | Add a component to the image builder. |
|
|
4011
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.bindAmi">bindAmi</a></code> | Build and return an AMI with GitHub Runner installed in it. |
|
|
4012
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.bindDockerImage">bindDockerImage</a></code> | Build and return a Docker image with GitHub Runner installed in it. |
|
|
4013
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.removeComponent">removeComponent</a></code> | Remove a component from the image builder. |
|
|
4014
|
+
|
|
4015
|
+
---
|
|
4016
|
+
|
|
4017
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.toString"></a>
|
|
4018
|
+
|
|
4019
|
+
```typescript
|
|
4020
|
+
public toString(): string
|
|
4021
|
+
```
|
|
4022
|
+
|
|
4023
|
+
Returns a string representation of this construct.
|
|
4024
|
+
|
|
4025
|
+
##### `addComponent` <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.addComponent"></a>
|
|
4026
|
+
|
|
4027
|
+
```typescript
|
|
4028
|
+
public addComponent(component: RunnerImageComponent): void
|
|
4029
|
+
```
|
|
4030
|
+
|
|
4031
|
+
Add a component to the image builder.
|
|
4032
|
+
|
|
4033
|
+
The component will be added to the end of the list of components.
|
|
4034
|
+
|
|
4035
|
+
###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.addComponent.parameter.component"></a>
|
|
4036
|
+
|
|
4037
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent">RunnerImageComponent</a>
|
|
4038
|
+
|
|
4039
|
+
component to add.
|
|
4040
|
+
|
|
4041
|
+
---
|
|
4042
|
+
|
|
4043
|
+
##### `bindAmi` <a name="bindAmi" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.bindAmi"></a>
|
|
4044
|
+
|
|
4045
|
+
```typescript
|
|
4046
|
+
public bindAmi(): RunnerAmi
|
|
4047
|
+
```
|
|
4048
|
+
|
|
4049
|
+
Build and return an AMI with GitHub Runner installed in it.
|
|
4050
|
+
|
|
4051
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
4052
|
+
|
|
4053
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
4054
|
+
|
|
4055
|
+
##### `bindDockerImage` <a name="bindDockerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.bindDockerImage"></a>
|
|
4056
|
+
|
|
4057
|
+
```typescript
|
|
4058
|
+
public bindDockerImage(): RunnerImage
|
|
4059
|
+
```
|
|
4060
|
+
|
|
4061
|
+
Build and return a Docker image with GitHub Runner installed in it.
|
|
4062
|
+
|
|
4063
|
+
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.
|
|
4064
|
+
|
|
4065
|
+
It'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.
|
|
4066
|
+
|
|
4067
|
+
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
4068
|
+
|
|
4069
|
+
##### `removeComponent` <a name="removeComponent" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.removeComponent"></a>
|
|
4070
|
+
|
|
4071
|
+
```typescript
|
|
4072
|
+
public removeComponent(component: RunnerImageComponent): void
|
|
4073
|
+
```
|
|
4074
|
+
|
|
4075
|
+
Remove a component from the image builder.
|
|
4076
|
+
|
|
4077
|
+
Removal is done by component name. Multiple components with the same name will all be removed.
|
|
4078
|
+
|
|
4079
|
+
###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.removeComponent.parameter.component"></a>
|
|
4080
|
+
|
|
4081
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent">RunnerImageComponent</a>
|
|
4082
|
+
|
|
4083
|
+
component to remove.
|
|
4084
|
+
|
|
4085
|
+
---
|
|
4086
|
+
|
|
4087
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
4088
|
+
|
|
4089
|
+
| **Name** | **Description** |
|
|
4090
|
+
| --- | --- |
|
|
4091
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
4092
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.new">new</a></code> | Create a new image builder based on the provided properties. |
|
|
4093
|
+
|
|
4094
|
+
---
|
|
4095
|
+
|
|
4096
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.isConstruct"></a>
|
|
4097
|
+
|
|
4098
|
+
```typescript
|
|
4099
|
+
import { RunnerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
|
|
4100
|
+
|
|
4101
|
+
RunnerImageBuilder.isConstruct(x: any)
|
|
4102
|
+
```
|
|
4103
|
+
|
|
4104
|
+
Checks if `x` is a construct.
|
|
4105
|
+
|
|
4106
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.isConstruct.parameter.x"></a>
|
|
4107
|
+
|
|
4108
|
+
- *Type:* any
|
|
4109
|
+
|
|
4110
|
+
Any object.
|
|
4111
|
+
|
|
4112
|
+
---
|
|
4113
|
+
|
|
4114
|
+
##### `new` <a name="new" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.new"></a>
|
|
4115
|
+
|
|
4116
|
+
```typescript
|
|
4117
|
+
import { RunnerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
|
|
4118
|
+
|
|
4119
|
+
RunnerImageBuilder.new(scope: Construct, id: string, props?: RunnerImageBuilderProps)
|
|
4120
|
+
```
|
|
4121
|
+
|
|
4122
|
+
Create a new image builder based on the provided properties.
|
|
4123
|
+
|
|
4124
|
+
The implementation will differ based on the OS, architecture, and requested builder type.
|
|
4125
|
+
|
|
4126
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.new.parameter.scope"></a>
|
|
4127
|
+
|
|
4128
|
+
- *Type:* constructs.Construct
|
|
4129
|
+
|
|
4130
|
+
---
|
|
4131
|
+
|
|
4132
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.new.parameter.id"></a>
|
|
4133
|
+
|
|
4134
|
+
- *Type:* string
|
|
4135
|
+
|
|
4136
|
+
---
|
|
4137
|
+
|
|
4138
|
+
###### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.new.parameter.props"></a>
|
|
4139
|
+
|
|
4140
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps">RunnerImageBuilderProps</a>
|
|
4141
|
+
|
|
4142
|
+
---
|
|
4143
|
+
|
|
4144
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
4145
|
+
|
|
4146
|
+
| **Name** | **Type** | **Description** |
|
|
4147
|
+
| --- | --- | --- |
|
|
4148
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
4149
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
4150
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | The principal to grant permissions to. |
|
|
4151
|
+
|
|
4152
|
+
---
|
|
4153
|
+
|
|
4154
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.node"></a>
|
|
4155
|
+
|
|
4156
|
+
```typescript
|
|
4157
|
+
public readonly node: Node;
|
|
4158
|
+
```
|
|
4159
|
+
|
|
4160
|
+
- *Type:* constructs.Node
|
|
4161
|
+
|
|
4162
|
+
The tree node.
|
|
4163
|
+
|
|
4164
|
+
---
|
|
4165
|
+
|
|
4166
|
+
##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.connections"></a>
|
|
4167
|
+
|
|
4168
|
+
```typescript
|
|
4169
|
+
public readonly connections: Connections;
|
|
4170
|
+
```
|
|
4171
|
+
|
|
4172
|
+
- *Type:* aws-cdk-lib.aws_ec2.Connections
|
|
4173
|
+
|
|
4174
|
+
The network connections associated with this resource.
|
|
4175
|
+
|
|
4176
|
+
---
|
|
4177
|
+
|
|
4178
|
+
##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilder.property.grantPrincipal"></a>
|
|
4179
|
+
|
|
4180
|
+
```typescript
|
|
4181
|
+
public readonly grantPrincipal: IPrincipal;
|
|
4182
|
+
```
|
|
4183
|
+
|
|
4184
|
+
- *Type:* aws-cdk-lib.aws_iam.IPrincipal
|
|
4185
|
+
|
|
4186
|
+
The principal to grant permissions to.
|
|
4187
|
+
|
|
4188
|
+
---
|
|
4189
|
+
|
|
4190
|
+
|
|
4191
|
+
### Secrets <a name="Secrets" id="@cloudsnorkel/cdk-github-runners.Secrets"></a>
|
|
4192
|
+
|
|
4193
|
+
Secrets required for GitHub runners operation.
|
|
4194
|
+
|
|
4195
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Secrets.Initializer"></a>
|
|
4196
|
+
|
|
4197
|
+
```typescript
|
|
4198
|
+
import { Secrets } from '@cloudsnorkel/cdk-github-runners'
|
|
4199
|
+
|
|
4200
|
+
new Secrets(scope: Construct, id: string)
|
|
4201
|
+
```
|
|
3557
4202
|
|
|
3558
4203
|
| **Name** | **Type** | **Description** |
|
|
3559
4204
|
| --- | --- | --- |
|
|
@@ -3851,7 +4496,7 @@ Version of GitHub Runners to install.
|
|
|
3851
4496
|
|
|
3852
4497
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.AmiBuilderProps.property.securityGroup"></a>
|
|
3853
4498
|
|
|
3854
|
-
- *Deprecated:* use {@link securityGroups}
|
|
4499
|
+
- *Deprecated:* use {@link securityGroups }
|
|
3855
4500
|
|
|
3856
4501
|
```typescript
|
|
3857
4502
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -3905,6 +4550,37 @@ VPC where builder instances will be launched.
|
|
|
3905
4550
|
|
|
3906
4551
|
---
|
|
3907
4552
|
|
|
4553
|
+
### AwsImageBuilderRunnerImageBuilderProps <a name="AwsImageBuilderRunnerImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps"></a>
|
|
4554
|
+
|
|
4555
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.Initializer"></a>
|
|
4556
|
+
|
|
4557
|
+
```typescript
|
|
4558
|
+
import { AwsImageBuilderRunnerImageBuilderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
4559
|
+
|
|
4560
|
+
const awsImageBuilderRunnerImageBuilderProps: AwsImageBuilderRunnerImageBuilderProps = { ... }
|
|
4561
|
+
```
|
|
4562
|
+
|
|
4563
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
4564
|
+
|
|
4565
|
+
| **Name** | **Type** | **Description** |
|
|
4566
|
+
| --- | --- | --- |
|
|
4567
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | The instance type used to build the image. |
|
|
4568
|
+
|
|
4569
|
+
---
|
|
4570
|
+
|
|
4571
|
+
##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps.property.instanceType"></a>
|
|
4572
|
+
|
|
4573
|
+
```typescript
|
|
4574
|
+
public readonly instanceType: InstanceType;
|
|
4575
|
+
```
|
|
4576
|
+
|
|
4577
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
4578
|
+
- *Default:* m5.large
|
|
4579
|
+
|
|
4580
|
+
The instance type used to build the image.
|
|
4581
|
+
|
|
4582
|
+
---
|
|
4583
|
+
|
|
3908
4584
|
### CodeBuildImageBuilderProps <a name="CodeBuildImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"></a>
|
|
3909
4585
|
|
|
3910
4586
|
Properties for CodeBuildImageBuilder construct.
|
|
@@ -3988,7 +4664,7 @@ public readonly computeType: ComputeType;
|
|
|
3988
4664
|
```
|
|
3989
4665
|
|
|
3990
4666
|
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
3991
|
-
- *Default:* {@link ComputeType#SMALL}
|
|
4667
|
+
- *Default:* {@link ComputeType#SMALL }
|
|
3992
4668
|
|
|
3993
4669
|
The type of compute to use for this build.
|
|
3994
4670
|
|
|
@@ -4128,73 +4804,51 @@ VPC to build the image in.
|
|
|
4128
4804
|
|
|
4129
4805
|
---
|
|
4130
4806
|
|
|
4131
|
-
###
|
|
4807
|
+
### CodeBuildRunnerImageBuilderProps <a name="CodeBuildRunnerImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps"></a>
|
|
4132
4808
|
|
|
4133
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.
|
|
4809
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.Initializer"></a>
|
|
4134
4810
|
|
|
4135
4811
|
```typescript
|
|
4136
|
-
import {
|
|
4812
|
+
import { CodeBuildRunnerImageBuilderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
4137
4813
|
|
|
4138
|
-
const
|
|
4814
|
+
const codeBuildRunnerImageBuilderProps: CodeBuildRunnerImageBuilderProps = { ... }
|
|
4139
4815
|
```
|
|
4140
4816
|
|
|
4141
4817
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
4142
4818
|
|
|
4143
4819
|
| **Name** | **Type** | **Description** |
|
|
4144
4820
|
| --- | --- | --- |
|
|
4145
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
4146
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
4147
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
4148
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
|
|
4149
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Image builder for CodeBuild image with GitHub runner pre-configured. |
|
|
4150
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
4151
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
4152
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
|
|
4153
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
|
|
4154
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
4155
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
4156
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
4821
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.buildImage">buildImage</a></code> | <code>aws-cdk-lib.aws_codebuild.IBuildImage</code> | Build image to use in CodeBuild. |
|
|
4822
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
|
|
4823
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
4157
4824
|
|
|
4158
4825
|
---
|
|
4159
4826
|
|
|
4160
|
-
##### `
|
|
4827
|
+
##### `buildImage`<sup>Optional</sup> <a name="buildImage" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.buildImage"></a>
|
|
4161
4828
|
|
|
4162
4829
|
```typescript
|
|
4163
|
-
public readonly
|
|
4830
|
+
public readonly buildImage: IBuildImage;
|
|
4164
4831
|
```
|
|
4165
4832
|
|
|
4166
|
-
- *Type:* aws-cdk-lib.
|
|
4167
|
-
- *Default:*
|
|
4168
|
-
|
|
4169
|
-
The number of days log events are kept in CloudWatch Logs.
|
|
4170
|
-
|
|
4171
|
-
When updating
|
|
4172
|
-
this property, unsetting it doesn't remove the log retention policy. To
|
|
4173
|
-
remove the retention policy, set the value to `INFINITE`.
|
|
4174
|
-
|
|
4175
|
-
---
|
|
4176
|
-
|
|
4177
|
-
##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions"></a>
|
|
4833
|
+
- *Type:* aws-cdk-lib.aws_codebuild.IBuildImage
|
|
4834
|
+
- *Default:* Ubuntu 20.04 for x64 and Amazon Linux 2 for ARM64
|
|
4178
4835
|
|
|
4179
|
-
|
|
4180
|
-
public readonly retryOptions: ProviderRetryOptions;
|
|
4181
|
-
```
|
|
4836
|
+
Build image to use in CodeBuild.
|
|
4182
4837
|
|
|
4183
|
-
|
|
4184
|
-
- *Default:* retry 10 times up to about 45 minutes
|
|
4838
|
+
This is the image that's going to run the code that builds the runner image.
|
|
4185
4839
|
|
|
4186
|
-
|
|
4840
|
+
The only action taken in CodeBuild is running `docker build`. You would therefore not need to change this setting often.
|
|
4187
4841
|
|
|
4188
4842
|
---
|
|
4189
4843
|
|
|
4190
|
-
##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.
|
|
4844
|
+
##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.computeType"></a>
|
|
4191
4845
|
|
|
4192
4846
|
```typescript
|
|
4193
4847
|
public readonly computeType: ComputeType;
|
|
4194
4848
|
```
|
|
4195
4849
|
|
|
4196
4850
|
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
4197
|
-
- *Default:* {@link ComputeType#SMALL}
|
|
4851
|
+
- *Default:* {@link ComputeType#SMALL }
|
|
4198
4852
|
|
|
4199
4853
|
The type of compute to use for this build.
|
|
4200
4854
|
|
|
@@ -4202,34 +4856,124 @@ See the {@link ComputeType} enum for the possible values.
|
|
|
4202
4856
|
|
|
4203
4857
|
---
|
|
4204
4858
|
|
|
4205
|
-
##### `
|
|
4859
|
+
##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps.property.timeout"></a>
|
|
4206
4860
|
|
|
4207
4861
|
```typescript
|
|
4208
|
-
public readonly
|
|
4862
|
+
public readonly timeout: Duration;
|
|
4209
4863
|
```
|
|
4210
4864
|
|
|
4211
|
-
- *Type:*
|
|
4212
|
-
- *Default:*
|
|
4865
|
+
- *Type:* aws-cdk-lib.Duration
|
|
4866
|
+
- *Default:* Duration.hours(1)
|
|
4213
4867
|
|
|
4214
|
-
|
|
4868
|
+
The number of minutes after which AWS CodeBuild stops the build if it's not complete.
|
|
4215
4869
|
|
|
4216
|
-
|
|
4217
|
-
|
|
4870
|
+
For valid values, see the timeoutInMinutes field in the AWS
|
|
4871
|
+
CodeBuild User Guide.
|
|
4218
4872
|
|
|
4219
4873
|
---
|
|
4220
4874
|
|
|
4221
|
-
|
|
4875
|
+
### CodeBuildRunnerProviderProps <a name="CodeBuildRunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps"></a>
|
|
4876
|
+
|
|
4877
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.Initializer"></a>
|
|
4878
|
+
|
|
4879
|
+
```typescript
|
|
4880
|
+
import { CodeBuildRunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
4881
|
+
|
|
4882
|
+
const codeBuildRunnerProviderProps: CodeBuildRunnerProviderProps = { ... }
|
|
4883
|
+
```
|
|
4884
|
+
|
|
4885
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
4886
|
+
|
|
4887
|
+
| **Name** | **Type** | **Description** |
|
|
4888
|
+
| --- | --- | --- |
|
|
4889
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
4890
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
|
|
4891
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
|
|
4892
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker">dockerInDocker</a></code> | <code>boolean</code> | Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode. |
|
|
4893
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
4894
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
4895
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
4896
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group to assign to this instance. |
|
|
4897
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security groups to assign to this instance. |
|
|
4898
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
4899
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
4900
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
4901
|
+
|
|
4902
|
+
---
|
|
4903
|
+
|
|
4904
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.logRetention"></a>
|
|
4905
|
+
|
|
4906
|
+
```typescript
|
|
4907
|
+
public readonly logRetention: RetentionDays;
|
|
4908
|
+
```
|
|
4909
|
+
|
|
4910
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
4911
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
4912
|
+
|
|
4913
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
4914
|
+
|
|
4915
|
+
When updating
|
|
4916
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
4917
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
4918
|
+
|
|
4919
|
+
---
|
|
4920
|
+
|
|
4921
|
+
##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions"></a>
|
|
4922
|
+
|
|
4923
|
+
```typescript
|
|
4924
|
+
public readonly retryOptions: ProviderRetryOptions;
|
|
4925
|
+
```
|
|
4926
|
+
|
|
4927
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
|
|
4928
|
+
- *Default:* retry 10 times up to about 45 minutes
|
|
4929
|
+
|
|
4930
|
+
Options to retry operation in case of failure like missing capacity, or API quota issues.
|
|
4931
|
+
|
|
4932
|
+
---
|
|
4933
|
+
|
|
4934
|
+
##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.computeType"></a>
|
|
4935
|
+
|
|
4936
|
+
```typescript
|
|
4937
|
+
public readonly computeType: ComputeType;
|
|
4938
|
+
```
|
|
4939
|
+
|
|
4940
|
+
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
4941
|
+
- *Default:* {@link ComputeType#SMALL }
|
|
4942
|
+
|
|
4943
|
+
The type of compute to use for this build.
|
|
4944
|
+
|
|
4945
|
+
See the {@link ComputeType} enum for the possible values.
|
|
4946
|
+
|
|
4947
|
+
---
|
|
4948
|
+
|
|
4949
|
+
##### `dockerInDocker`<sup>Optional</sup> <a name="dockerInDocker" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.dockerInDocker"></a>
|
|
4950
|
+
|
|
4951
|
+
```typescript
|
|
4952
|
+
public readonly dockerInDocker: boolean;
|
|
4953
|
+
```
|
|
4954
|
+
|
|
4955
|
+
- *Type:* boolean
|
|
4956
|
+
- *Default:* true
|
|
4957
|
+
|
|
4958
|
+
Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode.
|
|
4959
|
+
|
|
4960
|
+
Disabling this can
|
|
4961
|
+
speed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times.
|
|
4962
|
+
|
|
4963
|
+
---
|
|
4964
|
+
|
|
4965
|
+
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.imageBuilder"></a>
|
|
4222
4966
|
|
|
4223
4967
|
```typescript
|
|
4224
|
-
public readonly imageBuilder:
|
|
4968
|
+
public readonly imageBuilder: IRunnerImageBuilder;
|
|
4225
4969
|
```
|
|
4226
4970
|
|
|
4227
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
4228
|
-
- *Default:*
|
|
4971
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
4972
|
+
- *Default:* CodeBuildRunnerProviderProps.imageBuilder()
|
|
4229
4973
|
|
|
4230
|
-
|
|
4974
|
+
Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
4231
4975
|
|
|
4232
|
-
|
|
4976
|
+
The image builder must contain the {@link RunnerImageComponent.dockerInDocker} component unless `dockerInDocker` is set to false.
|
|
4233
4977
|
|
|
4234
4978
|
The image builder determines the OS and architecture of the runner.
|
|
4235
4979
|
|
|
@@ -4237,7 +4981,7 @@ The image builder determines the OS and architecture of the runner.
|
|
|
4237
4981
|
|
|
4238
4982
|
##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.label"></a>
|
|
4239
4983
|
|
|
4240
|
-
- *Deprecated:* use {@link labels} instead
|
|
4984
|
+
- *Deprecated:* use {@link labels } instead
|
|
4241
4985
|
|
|
4242
4986
|
```typescript
|
|
4243
4987
|
public readonly label: string;
|
|
@@ -4269,7 +5013,7 @@ job's labels, this provider will be chosen and spawn a new runner.
|
|
|
4269
5013
|
|
|
4270
5014
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.securityGroup"></a>
|
|
4271
5015
|
|
|
4272
|
-
- *Deprecated:* use {@link securityGroups}
|
|
5016
|
+
- *Deprecated:* use {@link securityGroups }
|
|
4273
5017
|
|
|
4274
5018
|
```typescript
|
|
4275
5019
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -4289,7 +5033,7 @@ public readonly securityGroups: ISecurityGroup[];
|
|
|
4289
5033
|
```
|
|
4290
5034
|
|
|
4291
5035
|
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[]
|
|
4292
|
-
- *Default:* a new security group, if {@link vpc} is used
|
|
5036
|
+
- *Default:* a new security group, if {@link vpc } is used
|
|
4293
5037
|
|
|
4294
5038
|
Security groups to assign to this instance.
|
|
4295
5039
|
|
|
@@ -4488,7 +5232,7 @@ Version of GitHub Runners to install.
|
|
|
4488
5232
|
|
|
4489
5233
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.securityGroup"></a>
|
|
4490
5234
|
|
|
4491
|
-
- *Deprecated:* use {@link securityGroups}
|
|
5235
|
+
- *Deprecated:* use {@link securityGroups }
|
|
4492
5236
|
|
|
4493
5237
|
```typescript
|
|
4494
5238
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -4558,7 +5302,8 @@ const ec2RunnerProviderProps: Ec2RunnerProviderProps = { ... }
|
|
|
4558
5302
|
| --- | --- | --- |
|
|
4559
5303
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
4560
5304
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
|
|
4561
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5305
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | *No description.* |
|
|
5306
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build AMI containing GitHub Runner and all requirements. |
|
|
4562
5307
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
|
|
4563
5308
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
4564
5309
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to launched runner instances. |
|
|
@@ -4602,20 +5347,30 @@ Options to retry operation in case of failure like missing capacity, or API quot
|
|
|
4602
5347
|
|
|
4603
5348
|
---
|
|
4604
5349
|
|
|
4605
|
-
#####
|
|
5350
|
+
##### ~~`amiBuilder`~~<sup>Optional</sup> <a name="amiBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.amiBuilder"></a>
|
|
5351
|
+
|
|
5352
|
+
- *Deprecated:* use imageBuilder
|
|
4606
5353
|
|
|
4607
5354
|
```typescript
|
|
4608
|
-
public readonly amiBuilder:
|
|
5355
|
+
public readonly amiBuilder: IRunnerImageBuilder;
|
|
4609
5356
|
```
|
|
4610
5357
|
|
|
4611
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
4612
|
-
|
|
5358
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
5359
|
+
|
|
5360
|
+
---
|
|
5361
|
+
|
|
5362
|
+
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.imageBuilder"></a>
|
|
5363
|
+
|
|
5364
|
+
```typescript
|
|
5365
|
+
public readonly imageBuilder: IRunnerImageBuilder;
|
|
5366
|
+
```
|
|
4613
5367
|
|
|
4614
|
-
|
|
5368
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
5369
|
+
- *Default:* Ec2ProviderProps.imageBuilder()
|
|
4615
5370
|
|
|
4616
|
-
|
|
5371
|
+
Runner image builder used to build AMI containing GitHub Runner and all requirements.
|
|
4617
5372
|
|
|
4618
|
-
The
|
|
5373
|
+
The image builder determines the OS and architecture of the runner.
|
|
4619
5374
|
|
|
4620
5375
|
---
|
|
4621
5376
|
|
|
@@ -4651,7 +5406,7 @@ job's labels, this provider will be chosen and spawn a new runner.
|
|
|
4651
5406
|
|
|
4652
5407
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.securityGroup"></a>
|
|
4653
5408
|
|
|
4654
|
-
- *Deprecated:* use {@link securityGroups}
|
|
5409
|
+
- *Deprecated:* use {@link securityGroups }
|
|
4655
5410
|
|
|
4656
5411
|
```typescript
|
|
4657
5412
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -4722,7 +5477,7 @@ This modifies the boot volume size and doesn't add any additional volumes.
|
|
|
4722
5477
|
|
|
4723
5478
|
##### ~~`subnet`~~<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps.property.subnet"></a>
|
|
4724
5479
|
|
|
4725
|
-
- *Deprecated:* use {@link vpc} and {@link subnetSelection}
|
|
5480
|
+
- *Deprecated:* use {@link vpc } and {@link subnetSelection }
|
|
4726
5481
|
|
|
4727
5482
|
```typescript
|
|
4728
5483
|
public readonly subnet: ISubnet;
|
|
@@ -4785,7 +5540,7 @@ const fargateRunnerProviderProps: FargateRunnerProviderProps = { ... }
|
|
|
4785
5540
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing Fargate cluster to use. |
|
|
4786
5541
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
|
|
4787
5542
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.ephemeralStorageGiB">ephemeralStorageGiB</a></code> | <code>number</code> | The amount (in GiB) of ephemeral storage to be allocated to the task. |
|
|
4788
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5543
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
4789
5544
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
4790
5545
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
4791
5546
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory used by the task. |
|
|
@@ -4902,15 +5657,13 @@ NOTE: This parameter is only supported for tasks hosted on AWS Fargate using pla
|
|
|
4902
5657
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.imageBuilder"></a>
|
|
4903
5658
|
|
|
4904
5659
|
```typescript
|
|
4905
|
-
public readonly imageBuilder:
|
|
5660
|
+
public readonly imageBuilder: IRunnerImageBuilder;
|
|
4906
5661
|
```
|
|
4907
5662
|
|
|
4908
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
4909
|
-
- *Default:*
|
|
4910
|
-
|
|
4911
|
-
Provider running an image to run inside CodeBuild with GitHub runner pre-configured.
|
|
5663
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
5664
|
+
- *Default:* FargateRunnerProviderProps.imageBuilder()
|
|
4912
5665
|
|
|
4913
|
-
|
|
5666
|
+
Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
4914
5667
|
|
|
4915
5668
|
The image builder determines the OS and architecture of the runner.
|
|
4916
5669
|
|
|
@@ -4918,7 +5671,7 @@ The image builder determines the OS and architecture of the runner.
|
|
|
4918
5671
|
|
|
4919
5672
|
##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.label"></a>
|
|
4920
5673
|
|
|
4921
|
-
- *Deprecated:* use {@link labels} instead
|
|
5674
|
+
- *Deprecated:* use {@link labels } instead
|
|
4922
5675
|
|
|
4923
5676
|
```typescript
|
|
4924
5677
|
public readonly label: string;
|
|
@@ -4976,7 +5729,7 @@ Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available c
|
|
|
4976
5729
|
|
|
4977
5730
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps.property.securityGroup"></a>
|
|
4978
5731
|
|
|
4979
|
-
- *Deprecated:* use {@link securityGroups}
|
|
5732
|
+
- *Deprecated:* use {@link securityGroups }
|
|
4980
5733
|
|
|
4981
5734
|
```typescript
|
|
4982
5735
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -5096,25 +5849,23 @@ public readonly extraCertificates: string;
|
|
|
5096
5849
|
|
|
5097
5850
|
Path to a directory containing a file named certs.pem containing any additional certificates required to trust GitHub Enterprise Server. Use this when GitHub Enterprise Server certificates are self-signed.
|
|
5098
5851
|
|
|
5099
|
-
You may also want to use custom images for your runner providers that contain the same certificates. See {@link CodeBuildImageBuilder.addCertificates}.
|
|
5852
|
+
You may also want to use custom images for your runner providers that contain the same certificates. See {@link CodeBuildImageBuilder.addCertificates }.
|
|
5100
5853
|
|
|
5101
5854
|
```typescript
|
|
5102
|
-
const imageBuilder =
|
|
5103
|
-
|
|
5104
|
-
});
|
|
5105
|
-
imageBuilder.addExtraCertificates('path-to-my-extra-certs-folder');
|
|
5855
|
+
const imageBuilder = CodeBuildRunnerProvider.imageBuilder(this, 'Image Builder with Certs');
|
|
5856
|
+
imageBuilder.addComponent(RunnerImageComponent.extraCertificates('path-to-my-extra-certs-folder/certs.pem', 'private-ca');
|
|
5106
5857
|
|
|
5107
|
-
const provider = new
|
|
5108
|
-
|
|
5858
|
+
const provider = new CodeBuildRunnerProvider(this, 'CodeBuild', {
|
|
5859
|
+
imageBuilder: imageBuilder,
|
|
5109
5860
|
});
|
|
5110
5861
|
|
|
5111
5862
|
new GitHubRunners(
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
|
|
5117
|
-
|
|
5863
|
+
this,
|
|
5864
|
+
'runners',
|
|
5865
|
+
{
|
|
5866
|
+
providers: [provider],
|
|
5867
|
+
extraCertificates: 'path-to-my-extra-certs-folder',
|
|
5868
|
+
}
|
|
5118
5869
|
);
|
|
5119
5870
|
```
|
|
5120
5871
|
|
|
@@ -5355,7 +6106,7 @@ const lambdaRunnerProviderProps: LambdaRunnerProviderProps = { ... }
|
|
|
5355
6106
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
5356
6107
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
|
|
5357
6108
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.ephemeralStorageSize">ephemeralStorageSize</a></code> | <code>aws-cdk-lib.Size</code> | The size of the function’s /tmp directory in MiB. |
|
|
5358
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
6109
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a></code> | Runner image builder used to build Docker images containing GitHub Runner and all requirements. |
|
|
5359
6110
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
5360
6111
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
5361
6112
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.memorySize">memorySize</a></code> | <code>number</code> | The amount of memory, in MB, that is allocated to your Lambda function. |
|
|
@@ -5413,25 +6164,23 @@ The size of the function’s /tmp directory in MiB.
|
|
|
5413
6164
|
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.imageBuilder"></a>
|
|
5414
6165
|
|
|
5415
6166
|
```typescript
|
|
5416
|
-
public readonly imageBuilder:
|
|
6167
|
+
public readonly imageBuilder: IRunnerImageBuilder;
|
|
5417
6168
|
```
|
|
5418
6169
|
|
|
5419
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
5420
|
-
- *Default:*
|
|
6170
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
6171
|
+
- *Default:* LambdaRunnerProviderProps.imageBuilder()
|
|
5421
6172
|
|
|
5422
|
-
|
|
6173
|
+
Runner image builder used to build Docker images containing GitHub Runner and all requirements.
|
|
5423
6174
|
|
|
5424
|
-
The
|
|
6175
|
+
The image builder must contain the {@link RunnerImageComponent.lambdaEntrypoint} component.
|
|
5425
6176
|
|
|
5426
6177
|
The image builder determines the OS and architecture of the runner.
|
|
5427
6178
|
|
|
5428
|
-
> [https://github.com/CloudSnorkel/cdk-github-runners/tree/main/src/providers/docker-images/lambda](https://github.com/CloudSnorkel/cdk-github-runners/tree/main/src/providers/docker-images/lambda)
|
|
5429
|
-
|
|
5430
6179
|
---
|
|
5431
6180
|
|
|
5432
6181
|
##### ~~`label`~~<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.label"></a>
|
|
5433
6182
|
|
|
5434
|
-
- *Deprecated:* use {@link labels} instead
|
|
6183
|
+
- *Deprecated:* use {@link labels } instead
|
|
5435
6184
|
|
|
5436
6185
|
```typescript
|
|
5437
6186
|
public readonly label: string;
|
|
@@ -5480,7 +6229,7 @@ Developer Guide.
|
|
|
5480
6229
|
|
|
5481
6230
|
##### ~~`securityGroup`~~<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps.property.securityGroup"></a>
|
|
5482
6231
|
|
|
5483
|
-
- *Deprecated:* use {@link securityGroups}
|
|
6232
|
+
- *Deprecated:* use {@link securityGroups }
|
|
5484
6233
|
|
|
5485
6234
|
```typescript
|
|
5486
6235
|
public readonly securityGroup: ISecurityGroup;
|
|
@@ -5709,7 +6458,7 @@ Which failures generate a retry depends on the specific provider.
|
|
|
5709
6458
|
|
|
5710
6459
|
### RunnerAmi <a name="RunnerAmi" id="@cloudsnorkel/cdk-github-runners.RunnerAmi"></a>
|
|
5711
6460
|
|
|
5712
|
-
Description of a AMI built by {@link
|
|
6461
|
+
Description of a AMI built by {@link RunnerImageBuilder }.
|
|
5713
6462
|
|
|
5714
6463
|
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.Initializer"></a>
|
|
5715
6464
|
|
|
@@ -5767,7 +6516,9 @@ OS type of the image.
|
|
|
5767
6516
|
|
|
5768
6517
|
---
|
|
5769
6518
|
|
|
5770
|
-
#####
|
|
6519
|
+
##### ~~`runnerVersion`~~<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.runnerVersion"></a>
|
|
6520
|
+
|
|
6521
|
+
- *Deprecated:* open a ticket if you need this
|
|
5771
6522
|
|
|
5772
6523
|
```typescript
|
|
5773
6524
|
public readonly runnerVersion: RunnerVersion;
|
|
@@ -5793,7 +6544,7 @@ Log group where image builds are logged.
|
|
|
5793
6544
|
|
|
5794
6545
|
### RunnerImage <a name="RunnerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImage"></a>
|
|
5795
6546
|
|
|
5796
|
-
Description of a Docker image built by {@link
|
|
6547
|
+
Description of a Docker image built by {@link RunnerImageBuilder }.
|
|
5797
6548
|
|
|
5798
6549
|
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerImage.Initializer"></a>
|
|
5799
6550
|
|
|
@@ -5864,7 +6615,9 @@ OS type of the image.
|
|
|
5864
6615
|
|
|
5865
6616
|
---
|
|
5866
6617
|
|
|
5867
|
-
#####
|
|
6618
|
+
##### ~~`runnerVersion`~~<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.runnerVersion"></a>
|
|
6619
|
+
|
|
6620
|
+
- *Deprecated:* open a ticket if you need this
|
|
5868
6621
|
|
|
5869
6622
|
```typescript
|
|
5870
6623
|
public readonly runnerVersion: RunnerVersion;
|
|
@@ -5888,615 +6641,1295 @@ Log group where image builds are logged.
|
|
|
5888
6641
|
|
|
5889
6642
|
---
|
|
5890
6643
|
|
|
5891
|
-
###
|
|
6644
|
+
### RunnerImageAsset <a name="RunnerImageAsset" id="@cloudsnorkel/cdk-github-runners.RunnerImageAsset"></a>
|
|
5892
6645
|
|
|
5893
|
-
|
|
6646
|
+
Asset to copy into a built image.
|
|
5894
6647
|
|
|
5895
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.
|
|
6648
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerImageAsset.Initializer"></a>
|
|
5896
6649
|
|
|
5897
6650
|
```typescript
|
|
5898
|
-
import {
|
|
6651
|
+
import { RunnerImageAsset } from '@cloudsnorkel/cdk-github-runners'
|
|
5899
6652
|
|
|
5900
|
-
const
|
|
6653
|
+
const runnerImageAsset: RunnerImageAsset = { ... }
|
|
5901
6654
|
```
|
|
5902
6655
|
|
|
5903
6656
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
5904
6657
|
|
|
5905
6658
|
| **Name** | **Type** | **Description** |
|
|
5906
6659
|
| --- | --- | --- |
|
|
5907
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5908
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
6660
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageAsset.property.source">source</a></code> | <code>string</code> | Path on local system to copy into the image. |
|
|
6661
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageAsset.property.target">target</a></code> | <code>string</code> | Target path in the built image. |
|
|
5909
6662
|
|
|
5910
6663
|
---
|
|
5911
6664
|
|
|
5912
|
-
##### `
|
|
6665
|
+
##### `source`<sup>Required</sup> <a name="source" id="@cloudsnorkel/cdk-github-runners.RunnerImageAsset.property.source"></a>
|
|
5913
6666
|
|
|
5914
6667
|
```typescript
|
|
5915
|
-
public readonly
|
|
6668
|
+
public readonly source: string;
|
|
5916
6669
|
```
|
|
5917
6670
|
|
|
5918
|
-
- *Type:*
|
|
5919
|
-
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
6671
|
+
- *Type:* string
|
|
5920
6672
|
|
|
5921
|
-
|
|
6673
|
+
Path on local system to copy into the image.
|
|
5922
6674
|
|
|
5923
|
-
|
|
5924
|
-
this property, unsetting it doesn't remove the log retention policy. To
|
|
5925
|
-
remove the retention policy, set the value to `INFINITE`.
|
|
6675
|
+
Can be a file or a directory.
|
|
5926
6676
|
|
|
5927
6677
|
---
|
|
5928
6678
|
|
|
5929
|
-
##### `
|
|
6679
|
+
##### `target`<sup>Required</sup> <a name="target" id="@cloudsnorkel/cdk-github-runners.RunnerImageAsset.property.target"></a>
|
|
5930
6680
|
|
|
5931
6681
|
```typescript
|
|
5932
|
-
public readonly
|
|
6682
|
+
public readonly target: string;
|
|
5933
6683
|
```
|
|
5934
6684
|
|
|
5935
|
-
- *Type:*
|
|
5936
|
-
- *Default:* retry 10 times up to about 45 minutes
|
|
6685
|
+
- *Type:* string
|
|
5937
6686
|
|
|
5938
|
-
|
|
6687
|
+
Target path in the built image.
|
|
5939
6688
|
|
|
5940
6689
|
---
|
|
5941
6690
|
|
|
5942
|
-
###
|
|
5943
|
-
|
|
5944
|
-
Workflow job parameters as parsed from the webhook event. Pass these into your runner executor and run something like:.
|
|
5945
|
-
|
|
5946
|
-
```sh
|
|
5947
|
-
./config.sh --unattended --url "https://${GITHUB_DOMAIN}/${OWNER}/${REPO}" --token "${RUNNER_TOKEN}" --ephemeral --work _work --labels "${RUNNER_LABEL}" --name "${RUNNER_NAME}" --disableupdate
|
|
5948
|
-
```
|
|
5949
|
-
|
|
5950
|
-
All parameters are specified as step function paths and therefore must be used only in step function task parameters.
|
|
6691
|
+
### RunnerImageBuilderProps <a name="RunnerImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"></a>
|
|
5951
6692
|
|
|
5952
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.
|
|
6693
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.Initializer"></a>
|
|
5953
6694
|
|
|
5954
6695
|
```typescript
|
|
5955
|
-
import {
|
|
6696
|
+
import { RunnerImageBuilderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
5956
6697
|
|
|
5957
|
-
const
|
|
6698
|
+
const runnerImageBuilderProps: RunnerImageBuilderProps = { ... }
|
|
5958
6699
|
```
|
|
5959
6700
|
|
|
5960
6701
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
5961
6702
|
|
|
5962
6703
|
| **Name** | **Type** | **Description** |
|
|
5963
6704
|
| --- | --- | --- |
|
|
5964
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5965
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5966
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5967
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
5968
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
6705
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Image architecture. |
|
|
6706
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.awsImageBuilderOptions">awsImageBuilderOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps">AwsImageBuilderRunnerImageBuilderProps</a></code> | Options specific to AWS Image Builder. |
|
|
6707
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseAmi">baseAmi</a></code> | <code>string</code> | Base AMI from which runner AMIs will be built. |
|
|
6708
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseDockerImage">baseDockerImage</a></code> | <code>string</code> | Base image from which Docker runner images will be built. |
|
|
6709
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.builderType">builderType</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType">RunnerImageBuilderType</a></code> | *No description.* |
|
|
6710
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.codeBuildOptions">codeBuildOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps">CodeBuildRunnerImageBuilderProps</a></code> | Options specific to CodeBuild image builder. |
|
|
6711
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.components">components</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent">RunnerImageComponent</a>[]</code> | Components to install on the image. |
|
|
6712
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.logRemovalPolicy">logRemovalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | Removal policy for logs of image builds. |
|
|
6713
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
6714
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Image OS. |
|
|
6715
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.rebuildInterval">rebuildInterval</a></code> | <code>aws-cdk-lib.Duration</code> | Schedule the image to be rebuilt every given interval. |
|
|
6716
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | Version of GitHub Runners to install. |
|
|
6717
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.securityGroups">securityGroups</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup[]</code> | Security Groups to assign to this instance. |
|
|
6718
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
6719
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to build the image in. |
|
|
5969
6720
|
|
|
5970
6721
|
---
|
|
5971
6722
|
|
|
5972
|
-
##### `
|
|
6723
|
+
##### `architecture`<sup>Optional</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.architecture"></a>
|
|
5973
6724
|
|
|
5974
6725
|
```typescript
|
|
5975
|
-
public readonly
|
|
6726
|
+
public readonly architecture: Architecture;
|
|
5976
6727
|
```
|
|
5977
6728
|
|
|
5978
|
-
- *Type:*
|
|
5979
|
-
|
|
5980
|
-
Path to GitHub domain.
|
|
6729
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6730
|
+
- *Default:* Architecture.X86_64
|
|
5981
6731
|
|
|
5982
|
-
|
|
6732
|
+
Image architecture.
|
|
5983
6733
|
|
|
5984
6734
|
---
|
|
5985
6735
|
|
|
5986
|
-
##### `
|
|
6736
|
+
##### `awsImageBuilderOptions`<sup>Optional</sup> <a name="awsImageBuilderOptions" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.awsImageBuilderOptions"></a>
|
|
5987
6737
|
|
|
5988
6738
|
```typescript
|
|
5989
|
-
public readonly
|
|
6739
|
+
public readonly awsImageBuilderOptions: AwsImageBuilderRunnerImageBuilderProps;
|
|
5990
6740
|
```
|
|
5991
6741
|
|
|
5992
|
-
- *Type:*
|
|
6742
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps">AwsImageBuilderRunnerImageBuilderProps</a>
|
|
6743
|
+
|
|
6744
|
+
Options specific to AWS Image Builder.
|
|
5993
6745
|
|
|
5994
|
-
|
|
6746
|
+
Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
5995
6747
|
|
|
5996
6748
|
---
|
|
5997
6749
|
|
|
5998
|
-
##### `
|
|
6750
|
+
##### `baseAmi`<sup>Optional</sup> <a name="baseAmi" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseAmi"></a>
|
|
5999
6751
|
|
|
6000
6752
|
```typescript
|
|
6001
|
-
public readonly
|
|
6753
|
+
public readonly baseAmi: string;
|
|
6002
6754
|
```
|
|
6003
6755
|
|
|
6004
6756
|
- *Type:* string
|
|
6757
|
+
- *Default:* latest Ubuntu 20.04 AMI for Os.LINUX_UBUNTU, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
6005
6758
|
|
|
6006
|
-
|
|
6759
|
+
Base AMI from which runner AMIs will be built.
|
|
6007
6760
|
|
|
6008
6761
|
---
|
|
6009
6762
|
|
|
6010
|
-
##### `
|
|
6763
|
+
##### `baseDockerImage`<sup>Optional</sup> <a name="baseDockerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseDockerImage"></a>
|
|
6011
6764
|
|
|
6012
6765
|
```typescript
|
|
6013
|
-
public readonly
|
|
6766
|
+
public readonly baseDockerImage: string;
|
|
6014
6767
|
```
|
|
6015
6768
|
|
|
6016
6769
|
- *Type:* string
|
|
6770
|
+
- *Default:* public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
6017
6771
|
|
|
6018
|
-
|
|
6019
|
-
|
|
6020
|
-
We specifically set the name to make troubleshooting easier.
|
|
6772
|
+
Base image from which Docker runner images will be built.
|
|
6021
6773
|
|
|
6022
6774
|
---
|
|
6023
6775
|
|
|
6024
|
-
##### `
|
|
6776
|
+
##### `builderType`<sup>Optional</sup> <a name="builderType" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.builderType"></a>
|
|
6025
6777
|
|
|
6026
6778
|
```typescript
|
|
6027
|
-
public readonly
|
|
6779
|
+
public readonly builderType: RunnerImageBuilderType;
|
|
6028
6780
|
```
|
|
6029
6781
|
|
|
6030
|
-
- *Type:*
|
|
6031
|
-
|
|
6032
|
-
Path to runner token used to register token.
|
|
6782
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType">RunnerImageBuilderType</a>
|
|
6783
|
+
- *Default:* CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI
|
|
6033
6784
|
|
|
6034
6785
|
---
|
|
6035
6786
|
|
|
6036
|
-
|
|
6787
|
+
##### `codeBuildOptions`<sup>Optional</sup> <a name="codeBuildOptions" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.codeBuildOptions"></a>
|
|
6037
6788
|
|
|
6038
|
-
|
|
6789
|
+
```typescript
|
|
6790
|
+
public readonly codeBuildOptions: CodeBuildRunnerImageBuilderProps;
|
|
6791
|
+
```
|
|
6039
6792
|
|
|
6040
|
-
|
|
6793
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps">CodeBuildRunnerImageBuilderProps</a>
|
|
6041
6794
|
|
|
6042
|
-
|
|
6795
|
+
Options specific to CodeBuild image builder.
|
|
6043
6796
|
|
|
6044
|
-
|
|
6045
|
-
| --- | --- |
|
|
6046
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch">instanceTypeMatch</a></code> | Checks if a given EC2 instance type matches this architecture. |
|
|
6047
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.is">is</a></code> | Checks if the given architecture is the same as this one. |
|
|
6048
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.isIn">isIn</a></code> | Checks if this architecture is in a given list. |
|
|
6797
|
+
Only used when builderType is RunnerImageBuilderType.CODE_BUILD.
|
|
6049
6798
|
|
|
6050
6799
|
---
|
|
6051
6800
|
|
|
6052
|
-
##### `
|
|
6801
|
+
##### `components`<sup>Optional</sup> <a name="components" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.components"></a>
|
|
6053
6802
|
|
|
6054
6803
|
```typescript
|
|
6055
|
-
public
|
|
6804
|
+
public readonly components: RunnerImageComponent[];
|
|
6056
6805
|
```
|
|
6057
6806
|
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
###### `instanceType`<sup>Required</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch.parameter.instanceType"></a>
|
|
6061
|
-
|
|
6062
|
-
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
6807
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent">RunnerImageComponent</a>[]
|
|
6808
|
+
- *Default:* none
|
|
6063
6809
|
|
|
6064
|
-
|
|
6810
|
+
Components to install on the image.
|
|
6065
6811
|
|
|
6066
6812
|
---
|
|
6067
6813
|
|
|
6068
|
-
##### `
|
|
6814
|
+
##### `logRemovalPolicy`<sup>Optional</sup> <a name="logRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.logRemovalPolicy"></a>
|
|
6069
6815
|
|
|
6070
6816
|
```typescript
|
|
6071
|
-
public
|
|
6817
|
+
public readonly logRemovalPolicy: RemovalPolicy;
|
|
6072
6818
|
```
|
|
6073
6819
|
|
|
6074
|
-
|
|
6820
|
+
- *Type:* aws-cdk-lib.RemovalPolicy
|
|
6821
|
+
- *Default:* RemovalPolicy.DESTROY
|
|
6075
6822
|
|
|
6076
|
-
|
|
6823
|
+
Removal policy for logs of image builds.
|
|
6077
6824
|
|
|
6078
|
-
|
|
6825
|
+
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.
|
|
6079
6826
|
|
|
6080
|
-
|
|
6827
|
+
We try to not leave anything behind when removed. But sometimes a log staying behind is useful.
|
|
6081
6828
|
|
|
6082
6829
|
---
|
|
6083
6830
|
|
|
6084
|
-
##### `
|
|
6831
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.logRetention"></a>
|
|
6085
6832
|
|
|
6086
6833
|
```typescript
|
|
6087
|
-
public
|
|
6834
|
+
public readonly logRetention: RetentionDays;
|
|
6088
6835
|
```
|
|
6089
6836
|
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
###### `arches`<sup>Required</sup> <a name="arches" id="@cloudsnorkel/cdk-github-runners.Architecture.isIn.parameter.arches"></a>
|
|
6837
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
6838
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
6093
6839
|
|
|
6094
|
-
|
|
6840
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
6095
6841
|
|
|
6096
|
-
|
|
6842
|
+
When updating
|
|
6843
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
6844
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
6097
6845
|
|
|
6098
6846
|
---
|
|
6099
6847
|
|
|
6848
|
+
##### `os`<sup>Optional</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.os"></a>
|
|
6100
6849
|
|
|
6101
|
-
|
|
6850
|
+
```typescript
|
|
6851
|
+
public readonly os: Os;
|
|
6852
|
+
```
|
|
6102
6853
|
|
|
6103
|
-
|
|
6104
|
-
|
|
6105
|
-
|
|
6854
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6855
|
+
- *Default:* OS.LINUX
|
|
6856
|
+
|
|
6857
|
+
Image OS.
|
|
6106
6858
|
|
|
6107
6859
|
---
|
|
6108
6860
|
|
|
6109
|
-
##### `
|
|
6861
|
+
##### `rebuildInterval`<sup>Optional</sup> <a name="rebuildInterval" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.rebuildInterval"></a>
|
|
6110
6862
|
|
|
6111
6863
|
```typescript
|
|
6112
|
-
public readonly
|
|
6864
|
+
public readonly rebuildInterval: Duration;
|
|
6113
6865
|
```
|
|
6114
6866
|
|
|
6115
|
-
- *Type:*
|
|
6867
|
+
- *Type:* aws-cdk-lib.Duration
|
|
6868
|
+
- *Default:* Duration.days(7)
|
|
6116
6869
|
|
|
6117
|
-
|
|
6870
|
+
Schedule the image to be rebuilt every given interval.
|
|
6118
6871
|
|
|
6119
|
-
|
|
6872
|
+
Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.
|
|
6120
6873
|
|
|
6121
|
-
|
|
6122
|
-
| --- | --- | --- |
|
|
6123
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.property.ARM64">ARM64</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | ARM64. |
|
|
6124
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.property.X86_64">X86_64</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | X86_64. |
|
|
6874
|
+
Set to zero to disable.
|
|
6125
6875
|
|
|
6126
6876
|
---
|
|
6127
6877
|
|
|
6128
|
-
##### `
|
|
6878
|
+
##### `runnerVersion`<sup>Optional</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.runnerVersion"></a>
|
|
6129
6879
|
|
|
6130
6880
|
```typescript
|
|
6131
|
-
public readonly
|
|
6881
|
+
public readonly runnerVersion: RunnerVersion;
|
|
6132
6882
|
```
|
|
6133
6883
|
|
|
6134
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
6884
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
6885
|
+
- *Default:* latest version available
|
|
6135
6886
|
|
|
6136
|
-
|
|
6887
|
+
Version of GitHub Runners to install.
|
|
6137
6888
|
|
|
6138
6889
|
---
|
|
6139
6890
|
|
|
6140
|
-
##### `
|
|
6891
|
+
##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.securityGroups"></a>
|
|
6141
6892
|
|
|
6142
6893
|
```typescript
|
|
6143
|
-
public readonly
|
|
6894
|
+
public readonly securityGroups: ISecurityGroup[];
|
|
6144
6895
|
```
|
|
6145
6896
|
|
|
6146
|
-
- *Type:*
|
|
6897
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup[]
|
|
6147
6898
|
|
|
6148
|
-
|
|
6899
|
+
Security Groups to assign to this instance.
|
|
6149
6900
|
|
|
6150
6901
|
---
|
|
6151
6902
|
|
|
6152
|
-
|
|
6153
|
-
|
|
6154
|
-
|
|
6155
|
-
|
|
6156
|
-
|
|
6903
|
+
##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.subnetSelection"></a>
|
|
6904
|
+
|
|
6905
|
+
```typescript
|
|
6906
|
+
public readonly subnetSelection: SubnetSelection;
|
|
6907
|
+
```
|
|
6908
|
+
|
|
6909
|
+
- *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
|
|
6910
|
+
- *Default:* no subnet
|
|
6911
|
+
|
|
6912
|
+
Where to place the network interfaces within the VPC.
|
|
6913
|
+
|
|
6914
|
+
---
|
|
6915
|
+
|
|
6916
|
+
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.vpc"></a>
|
|
6917
|
+
|
|
6918
|
+
```typescript
|
|
6919
|
+
public readonly vpc: IVpc;
|
|
6920
|
+
```
|
|
6921
|
+
|
|
6922
|
+
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
6923
|
+
- *Default:* no VPC
|
|
6924
|
+
|
|
6925
|
+
VPC to build the image in.
|
|
6926
|
+
|
|
6927
|
+
---
|
|
6928
|
+
|
|
6929
|
+
### RunnerImageComponentCustomProps <a name="RunnerImageComponentCustomProps" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps"></a>
|
|
6930
|
+
|
|
6931
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.Initializer"></a>
|
|
6932
|
+
|
|
6933
|
+
```typescript
|
|
6934
|
+
import { RunnerImageComponentCustomProps } from '@cloudsnorkel/cdk-github-runners'
|
|
6935
|
+
|
|
6936
|
+
const runnerImageComponentCustomProps: RunnerImageComponentCustomProps = { ... }
|
|
6937
|
+
```
|
|
6938
|
+
|
|
6939
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
6940
|
+
|
|
6941
|
+
| **Name** | **Type** | **Description** |
|
|
6942
|
+
| --- | --- | --- |
|
|
6943
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.assets">assets</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageAsset">RunnerImageAsset</a>[]</code> | Assets to copy into the built image. |
|
|
6944
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.commands">commands</a></code> | <code>string[]</code> | Commands to run in the built image. |
|
|
6945
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.dockerCommands">dockerCommands</a></code> | <code>string[]</code> | Docker commands to run in the built image. |
|
|
6946
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.name">name</a></code> | <code>string</code> | Component name used for (1) image build logging and (2) identifier for {@link ImageRunnerBuilder.removeComponent }. |
|
|
6947
|
+
|
|
6948
|
+
---
|
|
6949
|
+
|
|
6950
|
+
##### `assets`<sup>Optional</sup> <a name="assets" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.assets"></a>
|
|
6951
|
+
|
|
6952
|
+
```typescript
|
|
6953
|
+
public readonly assets: RunnerImageAsset[];
|
|
6954
|
+
```
|
|
6955
|
+
|
|
6956
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageAsset">RunnerImageAsset</a>[]
|
|
6957
|
+
|
|
6958
|
+
Assets to copy into the built image.
|
|
6959
|
+
|
|
6960
|
+
---
|
|
6961
|
+
|
|
6962
|
+
##### `commands`<sup>Optional</sup> <a name="commands" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.commands"></a>
|
|
6963
|
+
|
|
6964
|
+
```typescript
|
|
6965
|
+
public readonly commands: string[];
|
|
6966
|
+
```
|
|
6967
|
+
|
|
6968
|
+
- *Type:* string[]
|
|
6969
|
+
|
|
6970
|
+
Commands to run in the built image.
|
|
6971
|
+
|
|
6972
|
+
---
|
|
6973
|
+
|
|
6974
|
+
##### `dockerCommands`<sup>Optional</sup> <a name="dockerCommands" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.dockerCommands"></a>
|
|
6975
|
+
|
|
6976
|
+
```typescript
|
|
6977
|
+
public readonly dockerCommands: string[];
|
|
6978
|
+
```
|
|
6979
|
+
|
|
6980
|
+
- *Type:* string[]
|
|
6981
|
+
|
|
6982
|
+
Docker commands to run in the built image.
|
|
6983
|
+
|
|
6984
|
+
For example: `['ENV foo=bar', 'RUN echo $foo']`
|
|
6985
|
+
|
|
6986
|
+
These commands are ignored when building AMIs.
|
|
6987
|
+
|
|
6988
|
+
---
|
|
6989
|
+
|
|
6990
|
+
##### `name`<sup>Optional</sup> <a name="name" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps.property.name"></a>
|
|
6991
|
+
|
|
6992
|
+
```typescript
|
|
6993
|
+
public readonly name: string;
|
|
6994
|
+
```
|
|
6995
|
+
|
|
6996
|
+
- *Type:* string
|
|
6997
|
+
|
|
6998
|
+
Component name used for (1) image build logging and (2) identifier for {@link ImageRunnerBuilder.removeComponent }.
|
|
6999
|
+
|
|
7000
|
+
Name must only contain alphanumeric characters and dashes.
|
|
7001
|
+
|
|
7002
|
+
---
|
|
7003
|
+
|
|
7004
|
+
### RunnerProviderProps <a name="RunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps"></a>
|
|
7005
|
+
|
|
7006
|
+
Common properties for all runner providers.
|
|
7007
|
+
|
|
7008
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps.Initializer"></a>
|
|
7009
|
+
|
|
7010
|
+
```typescript
|
|
7011
|
+
import { RunnerProviderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
7012
|
+
|
|
7013
|
+
const runnerProviderProps: RunnerProviderProps = { ... }
|
|
7014
|
+
```
|
|
7015
|
+
|
|
7016
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
7017
|
+
|
|
7018
|
+
| **Name** | **Type** | **Description** |
|
|
7019
|
+
| --- | --- | --- |
|
|
7020
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
7021
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | Options to retry operation in case of failure like missing capacity, or API quota issues. |
|
|
7022
|
+
|
|
7023
|
+
---
|
|
7024
|
+
|
|
7025
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.logRetention"></a>
|
|
7026
|
+
|
|
7027
|
+
```typescript
|
|
7028
|
+
public readonly logRetention: RetentionDays;
|
|
7029
|
+
```
|
|
7030
|
+
|
|
7031
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
7032
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
7033
|
+
|
|
7034
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
7035
|
+
|
|
7036
|
+
When updating
|
|
7037
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
7038
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
7039
|
+
|
|
7040
|
+
---
|
|
7041
|
+
|
|
7042
|
+
##### `retryOptions`<sup>Optional</sup> <a name="retryOptions" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps.property.retryOptions"></a>
|
|
7043
|
+
|
|
7044
|
+
```typescript
|
|
7045
|
+
public readonly retryOptions: ProviderRetryOptions;
|
|
7046
|
+
```
|
|
7047
|
+
|
|
7048
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a>
|
|
7049
|
+
- *Default:* retry 10 times up to about 45 minutes
|
|
7050
|
+
|
|
7051
|
+
Options to retry operation in case of failure like missing capacity, or API quota issues.
|
|
7052
|
+
|
|
7053
|
+
---
|
|
7054
|
+
|
|
7055
|
+
### RunnerRuntimeParameters <a name="RunnerRuntimeParameters" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"></a>
|
|
7056
|
+
|
|
7057
|
+
Workflow job parameters as parsed from the webhook event. Pass these into your runner executor and run something like:.
|
|
7058
|
+
|
|
7059
|
+
```sh
|
|
7060
|
+
./config.sh --unattended --url "https://${GITHUB_DOMAIN}/${OWNER}/${REPO}" --token "${RUNNER_TOKEN}" --ephemeral --work _work --labels "${RUNNER_LABEL}" --name "${RUNNER_NAME}" --disableupdate
|
|
7061
|
+
```
|
|
7062
|
+
|
|
7063
|
+
All parameters are specified as step function paths and therefore must be used only in step function task parameters.
|
|
7064
|
+
|
|
7065
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.Initializer"></a>
|
|
7066
|
+
|
|
7067
|
+
```typescript
|
|
7068
|
+
import { RunnerRuntimeParameters } from '@cloudsnorkel/cdk-github-runners'
|
|
7069
|
+
|
|
7070
|
+
const runnerRuntimeParameters: RunnerRuntimeParameters = { ... }
|
|
7071
|
+
```
|
|
7072
|
+
|
|
7073
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
7074
|
+
|
|
7075
|
+
| **Name** | **Type** | **Description** |
|
|
7076
|
+
| --- | --- | --- |
|
|
7077
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.githubDomainPath">githubDomainPath</a></code> | <code>string</code> | Path to GitHub domain. |
|
|
7078
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.ownerPath">ownerPath</a></code> | <code>string</code> | Path to repository owner name. |
|
|
7079
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.repoPath">repoPath</a></code> | <code>string</code> | Path to repository name. |
|
|
7080
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.runnerNamePath">runnerNamePath</a></code> | <code>string</code> | Path to desired runner name. |
|
|
7081
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.runnerTokenPath">runnerTokenPath</a></code> | <code>string</code> | Path to runner token used to register token. |
|
|
7082
|
+
|
|
7083
|
+
---
|
|
7084
|
+
|
|
7085
|
+
##### `githubDomainPath`<sup>Required</sup> <a name="githubDomainPath" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.githubDomainPath"></a>
|
|
7086
|
+
|
|
7087
|
+
```typescript
|
|
7088
|
+
public readonly githubDomainPath: string;
|
|
7089
|
+
```
|
|
7090
|
+
|
|
7091
|
+
- *Type:* string
|
|
7092
|
+
|
|
7093
|
+
Path to GitHub domain.
|
|
7094
|
+
|
|
7095
|
+
Most of the time this will be github.com but for self-hosted GitHub instances, this will be different.
|
|
7096
|
+
|
|
7097
|
+
---
|
|
7098
|
+
|
|
7099
|
+
##### `ownerPath`<sup>Required</sup> <a name="ownerPath" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.ownerPath"></a>
|
|
7100
|
+
|
|
7101
|
+
```typescript
|
|
7102
|
+
public readonly ownerPath: string;
|
|
7103
|
+
```
|
|
7104
|
+
|
|
7105
|
+
- *Type:* string
|
|
7106
|
+
|
|
7107
|
+
Path to repository owner name.
|
|
7108
|
+
|
|
7109
|
+
---
|
|
7110
|
+
|
|
7111
|
+
##### `repoPath`<sup>Required</sup> <a name="repoPath" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.repoPath"></a>
|
|
7112
|
+
|
|
7113
|
+
```typescript
|
|
7114
|
+
public readonly repoPath: string;
|
|
7115
|
+
```
|
|
7116
|
+
|
|
7117
|
+
- *Type:* string
|
|
7118
|
+
|
|
7119
|
+
Path to repository name.
|
|
7120
|
+
|
|
7121
|
+
---
|
|
7122
|
+
|
|
7123
|
+
##### `runnerNamePath`<sup>Required</sup> <a name="runnerNamePath" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.runnerNamePath"></a>
|
|
7124
|
+
|
|
7125
|
+
```typescript
|
|
7126
|
+
public readonly runnerNamePath: string;
|
|
7127
|
+
```
|
|
7128
|
+
|
|
7129
|
+
- *Type:* string
|
|
7130
|
+
|
|
7131
|
+
Path to desired runner name.
|
|
7132
|
+
|
|
7133
|
+
We specifically set the name to make troubleshooting easier.
|
|
7134
|
+
|
|
7135
|
+
---
|
|
7136
|
+
|
|
7137
|
+
##### `runnerTokenPath`<sup>Required</sup> <a name="runnerTokenPath" id="@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters.property.runnerTokenPath"></a>
|
|
7138
|
+
|
|
7139
|
+
```typescript
|
|
7140
|
+
public readonly runnerTokenPath: string;
|
|
7141
|
+
```
|
|
7142
|
+
|
|
7143
|
+
- *Type:* string
|
|
7144
|
+
|
|
7145
|
+
Path to runner token used to register token.
|
|
7146
|
+
|
|
7147
|
+
---
|
|
7148
|
+
|
|
7149
|
+
## Classes <a name="Classes" id="Classes"></a>
|
|
7150
|
+
|
|
7151
|
+
### Architecture <a name="Architecture" id="@cloudsnorkel/cdk-github-runners.Architecture"></a>
|
|
7152
|
+
|
|
7153
|
+
CPU architecture enum for an image.
|
|
7154
|
+
|
|
7155
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
7156
|
+
|
|
7157
|
+
| **Name** | **Description** |
|
|
7158
|
+
| --- | --- |
|
|
7159
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch">instanceTypeMatch</a></code> | Checks if a given EC2 instance type matches this architecture. |
|
|
7160
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.is">is</a></code> | Checks if the given architecture is the same as this one. |
|
|
7161
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.isIn">isIn</a></code> | Checks if this architecture is in a given list. |
|
|
7162
|
+
|
|
7163
|
+
---
|
|
7164
|
+
|
|
7165
|
+
##### `instanceTypeMatch` <a name="instanceTypeMatch" id="@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch"></a>
|
|
7166
|
+
|
|
7167
|
+
```typescript
|
|
7168
|
+
public instanceTypeMatch(instanceType: InstanceType): boolean
|
|
7169
|
+
```
|
|
7170
|
+
|
|
7171
|
+
Checks if a given EC2 instance type matches this architecture.
|
|
7172
|
+
|
|
7173
|
+
###### `instanceType`<sup>Required</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch.parameter.instanceType"></a>
|
|
7174
|
+
|
|
7175
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
7176
|
+
|
|
7177
|
+
instance type to check.
|
|
7178
|
+
|
|
7179
|
+
---
|
|
7180
|
+
|
|
7181
|
+
##### `is` <a name="is" id="@cloudsnorkel/cdk-github-runners.Architecture.is"></a>
|
|
7182
|
+
|
|
7183
|
+
```typescript
|
|
7184
|
+
public is(arch: Architecture): boolean
|
|
7185
|
+
```
|
|
7186
|
+
|
|
7187
|
+
Checks if the given architecture is the same as this one.
|
|
7188
|
+
|
|
7189
|
+
###### `arch`<sup>Required</sup> <a name="arch" id="@cloudsnorkel/cdk-github-runners.Architecture.is.parameter.arch"></a>
|
|
7190
|
+
|
|
7191
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7192
|
+
|
|
7193
|
+
architecture to compare.
|
|
7194
|
+
|
|
7195
|
+
---
|
|
7196
|
+
|
|
7197
|
+
##### `isIn` <a name="isIn" id="@cloudsnorkel/cdk-github-runners.Architecture.isIn"></a>
|
|
7198
|
+
|
|
7199
|
+
```typescript
|
|
7200
|
+
public isIn(arches: Architecture[]): boolean
|
|
7201
|
+
```
|
|
7202
|
+
|
|
7203
|
+
Checks if this architecture is in a given list.
|
|
7204
|
+
|
|
7205
|
+
###### `arches`<sup>Required</sup> <a name="arches" id="@cloudsnorkel/cdk-github-runners.Architecture.isIn.parameter.arches"></a>
|
|
7206
|
+
|
|
7207
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>[]
|
|
7208
|
+
|
|
7209
|
+
architectures to check.
|
|
7210
|
+
|
|
7211
|
+
---
|
|
7212
|
+
|
|
7213
|
+
|
|
7214
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
7215
|
+
|
|
7216
|
+
| **Name** | **Type** | **Description** |
|
|
7217
|
+
| --- | --- | --- |
|
|
7218
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
7219
|
+
|
|
7220
|
+
---
|
|
7221
|
+
|
|
7222
|
+
##### `name`<sup>Required</sup> <a name="name" id="@cloudsnorkel/cdk-github-runners.Architecture.property.name"></a>
|
|
7223
|
+
|
|
7224
|
+
```typescript
|
|
7225
|
+
public readonly name: string;
|
|
7226
|
+
```
|
|
7227
|
+
|
|
7228
|
+
- *Type:* string
|
|
7229
|
+
|
|
7230
|
+
---
|
|
7231
|
+
|
|
7232
|
+
#### Constants <a name="Constants" id="Constants"></a>
|
|
7233
|
+
|
|
7234
|
+
| **Name** | **Type** | **Description** |
|
|
7235
|
+
| --- | --- | --- |
|
|
7236
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.property.ARM64">ARM64</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | ARM64. |
|
|
7237
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.property.X86_64">X86_64</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | X86_64. |
|
|
7238
|
+
|
|
7239
|
+
---
|
|
7240
|
+
|
|
7241
|
+
##### `ARM64`<sup>Required</sup> <a name="ARM64" id="@cloudsnorkel/cdk-github-runners.Architecture.property.ARM64"></a>
|
|
7242
|
+
|
|
7243
|
+
```typescript
|
|
7244
|
+
public readonly ARM64: Architecture;
|
|
7245
|
+
```
|
|
7246
|
+
|
|
7247
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7248
|
+
|
|
7249
|
+
ARM64.
|
|
7250
|
+
|
|
7251
|
+
---
|
|
7252
|
+
|
|
7253
|
+
##### `X86_64`<sup>Required</sup> <a name="X86_64" id="@cloudsnorkel/cdk-github-runners.Architecture.property.X86_64"></a>
|
|
7254
|
+
|
|
7255
|
+
```typescript
|
|
7256
|
+
public readonly X86_64: Architecture;
|
|
7257
|
+
```
|
|
7258
|
+
|
|
7259
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7260
|
+
|
|
7261
|
+
X86_64.
|
|
7262
|
+
|
|
7263
|
+
---
|
|
7264
|
+
|
|
7265
|
+
### LinuxUbuntuComponents <a name="LinuxUbuntuComponents" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents"></a>
|
|
7266
|
+
|
|
7267
|
+
Components for Ubuntu Linux that can be used with AWS Image Builder based builders.
|
|
7268
|
+
|
|
7269
|
+
These cannot be used by {@link CodeBuildImageBuilder }.
|
|
6157
7270
|
|
|
6158
7271
|
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.Initializer"></a>
|
|
6159
7272
|
|
|
6160
7273
|
```typescript
|
|
6161
7274
|
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
6162
7275
|
|
|
6163
|
-
new LinuxUbuntuComponents()
|
|
7276
|
+
new LinuxUbuntuComponents()
|
|
7277
|
+
```
|
|
7278
|
+
|
|
7279
|
+
| **Name** | **Type** | **Description** |
|
|
7280
|
+
| --- | --- | --- |
|
|
7281
|
+
|
|
7282
|
+
---
|
|
7283
|
+
|
|
7284
|
+
|
|
7285
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
7286
|
+
|
|
7287
|
+
| **Name** | **Description** |
|
|
7288
|
+
| --- | --- |
|
|
7289
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli">awsCli</a></code> | *No description.* |
|
|
7290
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker">docker</a></code> | *No description.* |
|
|
7291
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.extraCertificates">extraCertificates</a></code> | *No description.* |
|
|
7292
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git">git</a></code> | *No description.* |
|
|
7293
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli">githubCli</a></code> | *No description.* |
|
|
7294
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner">githubRunner</a></code> | *No description.* |
|
|
7295
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages">requiredPackages</a></code> | *No description.* |
|
|
7296
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser">runnerUser</a></code> | *No description.* |
|
|
7297
|
+
|
|
7298
|
+
---
|
|
7299
|
+
|
|
7300
|
+
##### ~~`awsCli`~~ <a name="awsCli" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli"></a>
|
|
7301
|
+
|
|
7302
|
+
```typescript
|
|
7303
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7304
|
+
|
|
7305
|
+
LinuxUbuntuComponents.awsCli(scope: Construct, id: string, architecture: Architecture)
|
|
7306
|
+
```
|
|
7307
|
+
|
|
7308
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.scope"></a>
|
|
7309
|
+
|
|
7310
|
+
- *Type:* constructs.Construct
|
|
7311
|
+
|
|
7312
|
+
---
|
|
7313
|
+
|
|
7314
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.id"></a>
|
|
7315
|
+
|
|
7316
|
+
- *Type:* string
|
|
7317
|
+
|
|
7318
|
+
---
|
|
7319
|
+
|
|
7320
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.architecture"></a>
|
|
7321
|
+
|
|
7322
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7323
|
+
|
|
7324
|
+
---
|
|
7325
|
+
|
|
7326
|
+
##### ~~`docker`~~ <a name="docker" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker"></a>
|
|
7327
|
+
|
|
7328
|
+
```typescript
|
|
7329
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7330
|
+
|
|
7331
|
+
LinuxUbuntuComponents.docker(scope: Construct, id: string, _architecture: Architecture)
|
|
6164
7332
|
```
|
|
6165
7333
|
|
|
6166
|
-
|
|
6167
|
-
|
|
7334
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter.scope"></a>
|
|
7335
|
+
|
|
7336
|
+
- *Type:* constructs.Construct
|
|
6168
7337
|
|
|
6169
7338
|
---
|
|
6170
7339
|
|
|
7340
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter.id"></a>
|
|
6171
7341
|
|
|
6172
|
-
|
|
7342
|
+
- *Type:* string
|
|
6173
7343
|
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6177
|
-
|
|
6178
|
-
|
|
6179
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git">git</a></code> | *No description.* |
|
|
6180
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli">githubCli</a></code> | *No description.* |
|
|
6181
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner">githubRunner</a></code> | *No description.* |
|
|
6182
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages">requiredPackages</a></code> | *No description.* |
|
|
6183
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser">runnerUser</a></code> | *No description.* |
|
|
7344
|
+
---
|
|
7345
|
+
|
|
7346
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter._architecture"></a>
|
|
7347
|
+
|
|
7348
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6184
7349
|
|
|
6185
7350
|
---
|
|
6186
7351
|
|
|
6187
|
-
#####
|
|
7352
|
+
##### ~~`extraCertificates`~~ <a name="extraCertificates" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.extraCertificates"></a>
|
|
6188
7353
|
|
|
6189
7354
|
```typescript
|
|
6190
7355
|
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
6191
7356
|
|
|
6192
|
-
LinuxUbuntuComponents.
|
|
7357
|
+
LinuxUbuntuComponents.extraCertificates(scope: Construct, id: string, path: string)
|
|
6193
7358
|
```
|
|
6194
7359
|
|
|
6195
|
-
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.
|
|
7360
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.extraCertificates.parameter.scope"></a>
|
|
6196
7361
|
|
|
6197
7362
|
- *Type:* constructs.Construct
|
|
6198
7363
|
|
|
6199
7364
|
---
|
|
6200
7365
|
|
|
6201
|
-
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.
|
|
7366
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.extraCertificates.parameter.id"></a>
|
|
6202
7367
|
|
|
6203
7368
|
- *Type:* string
|
|
6204
7369
|
|
|
6205
7370
|
---
|
|
6206
7371
|
|
|
6207
|
-
###### `
|
|
7372
|
+
###### `path`<sup>Required</sup> <a name="path" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.extraCertificates.parameter.path"></a>
|
|
7373
|
+
|
|
7374
|
+
- *Type:* string
|
|
7375
|
+
|
|
7376
|
+
---
|
|
7377
|
+
|
|
7378
|
+
##### ~~`git`~~ <a name="git" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git"></a>
|
|
7379
|
+
|
|
7380
|
+
```typescript
|
|
7381
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7382
|
+
|
|
7383
|
+
LinuxUbuntuComponents.git(scope: Construct, id: string, _architecture: Architecture)
|
|
7384
|
+
```
|
|
7385
|
+
|
|
7386
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter.scope"></a>
|
|
7387
|
+
|
|
7388
|
+
- *Type:* constructs.Construct
|
|
7389
|
+
|
|
7390
|
+
---
|
|
7391
|
+
|
|
7392
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter.id"></a>
|
|
7393
|
+
|
|
7394
|
+
- *Type:* string
|
|
7395
|
+
|
|
7396
|
+
---
|
|
7397
|
+
|
|
7398
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter._architecture"></a>
|
|
6208
7399
|
|
|
6209
7400
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6210
7401
|
|
|
6211
7402
|
---
|
|
6212
7403
|
|
|
6213
|
-
#####
|
|
7404
|
+
##### ~~`githubCli`~~ <a name="githubCli" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli"></a>
|
|
6214
7405
|
|
|
6215
7406
|
```typescript
|
|
6216
7407
|
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
6217
7408
|
|
|
6218
|
-
LinuxUbuntuComponents.
|
|
7409
|
+
LinuxUbuntuComponents.githubCli(scope: Construct, id: string, _architecture: Architecture)
|
|
6219
7410
|
```
|
|
6220
7411
|
|
|
6221
|
-
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.
|
|
7412
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter.scope"></a>
|
|
7413
|
+
|
|
7414
|
+
- *Type:* constructs.Construct
|
|
7415
|
+
|
|
7416
|
+
---
|
|
7417
|
+
|
|
7418
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter.id"></a>
|
|
7419
|
+
|
|
7420
|
+
- *Type:* string
|
|
7421
|
+
|
|
7422
|
+
---
|
|
7423
|
+
|
|
7424
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter._architecture"></a>
|
|
7425
|
+
|
|
7426
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7427
|
+
|
|
7428
|
+
---
|
|
7429
|
+
|
|
7430
|
+
##### ~~`githubRunner`~~ <a name="githubRunner" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner"></a>
|
|
7431
|
+
|
|
7432
|
+
```typescript
|
|
7433
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7434
|
+
|
|
7435
|
+
LinuxUbuntuComponents.githubRunner(scope: Construct, id: string, runnerVersion: RunnerVersion, architecture: Architecture)
|
|
7436
|
+
```
|
|
7437
|
+
|
|
7438
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.scope"></a>
|
|
7439
|
+
|
|
7440
|
+
- *Type:* constructs.Construct
|
|
7441
|
+
|
|
7442
|
+
---
|
|
7443
|
+
|
|
7444
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.id"></a>
|
|
7445
|
+
|
|
7446
|
+
- *Type:* string
|
|
7447
|
+
|
|
7448
|
+
---
|
|
7449
|
+
|
|
7450
|
+
###### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.runnerVersion"></a>
|
|
7451
|
+
|
|
7452
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
7453
|
+
|
|
7454
|
+
---
|
|
7455
|
+
|
|
7456
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.architecture"></a>
|
|
7457
|
+
|
|
7458
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7459
|
+
|
|
7460
|
+
---
|
|
7461
|
+
|
|
7462
|
+
##### ~~`requiredPackages`~~ <a name="requiredPackages" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages"></a>
|
|
7463
|
+
|
|
7464
|
+
```typescript
|
|
7465
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7466
|
+
|
|
7467
|
+
LinuxUbuntuComponents.requiredPackages(scope: Construct, id: string, architecture: Architecture)
|
|
7468
|
+
```
|
|
7469
|
+
|
|
7470
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.scope"></a>
|
|
7471
|
+
|
|
7472
|
+
- *Type:* constructs.Construct
|
|
7473
|
+
|
|
7474
|
+
---
|
|
7475
|
+
|
|
7476
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.id"></a>
|
|
7477
|
+
|
|
7478
|
+
- *Type:* string
|
|
7479
|
+
|
|
7480
|
+
---
|
|
7481
|
+
|
|
7482
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.architecture"></a>
|
|
7483
|
+
|
|
7484
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7485
|
+
|
|
7486
|
+
---
|
|
7487
|
+
|
|
7488
|
+
##### ~~`runnerUser`~~ <a name="runnerUser" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser"></a>
|
|
7489
|
+
|
|
7490
|
+
```typescript
|
|
7491
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
7492
|
+
|
|
7493
|
+
LinuxUbuntuComponents.runnerUser(scope: Construct, id: string, _architecture: Architecture)
|
|
7494
|
+
```
|
|
7495
|
+
|
|
7496
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter.scope"></a>
|
|
7497
|
+
|
|
7498
|
+
- *Type:* constructs.Construct
|
|
7499
|
+
|
|
7500
|
+
---
|
|
7501
|
+
|
|
7502
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter.id"></a>
|
|
7503
|
+
|
|
7504
|
+
- *Type:* string
|
|
7505
|
+
|
|
7506
|
+
---
|
|
7507
|
+
|
|
7508
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter._architecture"></a>
|
|
7509
|
+
|
|
7510
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
7511
|
+
|
|
7512
|
+
---
|
|
7513
|
+
|
|
7514
|
+
|
|
7515
|
+
|
|
7516
|
+
### Os <a name="Os" id="@cloudsnorkel/cdk-github-runners.Os"></a>
|
|
7517
|
+
|
|
7518
|
+
OS enum for an image.
|
|
7519
|
+
|
|
7520
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
7521
|
+
|
|
7522
|
+
| **Name** | **Description** |
|
|
7523
|
+
| --- | --- |
|
|
7524
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.is">is</a></code> | Checks if the given OS is the same as this one. |
|
|
7525
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.isIn">isIn</a></code> | Checks if this OS is in a given list. |
|
|
7526
|
+
|
|
7527
|
+
---
|
|
7528
|
+
|
|
7529
|
+
##### `is` <a name="is" id="@cloudsnorkel/cdk-github-runners.Os.is"></a>
|
|
7530
|
+
|
|
7531
|
+
```typescript
|
|
7532
|
+
public is(os: Os): boolean
|
|
7533
|
+
```
|
|
7534
|
+
|
|
7535
|
+
Checks if the given OS is the same as this one.
|
|
7536
|
+
|
|
7537
|
+
###### `os`<sup>Required</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.Os.is.parameter.os"></a>
|
|
7538
|
+
|
|
7539
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
7540
|
+
|
|
7541
|
+
OS to compare.
|
|
7542
|
+
|
|
7543
|
+
---
|
|
7544
|
+
|
|
7545
|
+
##### `isIn` <a name="isIn" id="@cloudsnorkel/cdk-github-runners.Os.isIn"></a>
|
|
7546
|
+
|
|
7547
|
+
```typescript
|
|
7548
|
+
public isIn(oses: Os[]): boolean
|
|
7549
|
+
```
|
|
7550
|
+
|
|
7551
|
+
Checks if this OS is in a given list.
|
|
7552
|
+
|
|
7553
|
+
###### `oses`<sup>Required</sup> <a name="oses" id="@cloudsnorkel/cdk-github-runners.Os.isIn.parameter.oses"></a>
|
|
7554
|
+
|
|
7555
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>[]
|
|
7556
|
+
|
|
7557
|
+
list of OS to check.
|
|
7558
|
+
|
|
7559
|
+
---
|
|
7560
|
+
|
|
7561
|
+
|
|
7562
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
7563
|
+
|
|
7564
|
+
| **Name** | **Type** | **Description** |
|
|
7565
|
+
| --- | --- | --- |
|
|
7566
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
7567
|
+
|
|
7568
|
+
---
|
|
7569
|
+
|
|
7570
|
+
##### `name`<sup>Required</sup> <a name="name" id="@cloudsnorkel/cdk-github-runners.Os.property.name"></a>
|
|
7571
|
+
|
|
7572
|
+
```typescript
|
|
7573
|
+
public readonly name: string;
|
|
7574
|
+
```
|
|
7575
|
+
|
|
7576
|
+
- *Type:* string
|
|
7577
|
+
|
|
7578
|
+
---
|
|
7579
|
+
|
|
7580
|
+
#### Constants <a name="Constants" id="Constants"></a>
|
|
7581
|
+
|
|
7582
|
+
| **Name** | **Type** | **Description** |
|
|
7583
|
+
| --- | --- | --- |
|
|
7584
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX">LINUX</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Linux. |
|
|
7585
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_AMAZON_2">LINUX_AMAZON_2</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Amazon Linux 2. |
|
|
7586
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU">LINUX_UBUNTU</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Ubuntu Linux. |
|
|
7587
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.WINDOWS">WINDOWS</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Windows. |
|
|
7588
|
+
|
|
7589
|
+
---
|
|
7590
|
+
|
|
7591
|
+
##### ~~`LINUX`~~<sup>Required</sup> <a name="LINUX" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX"></a>
|
|
7592
|
+
|
|
7593
|
+
- *Deprecated:* use {@link LINUX_UBUNTU } or {@link LINUX_AMAZON_2 }
|
|
7594
|
+
|
|
7595
|
+
```typescript
|
|
7596
|
+
public readonly LINUX: Os;
|
|
7597
|
+
```
|
|
7598
|
+
|
|
7599
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
7600
|
+
|
|
7601
|
+
Linux.
|
|
7602
|
+
|
|
7603
|
+
---
|
|
7604
|
+
|
|
7605
|
+
##### `LINUX_AMAZON_2`<sup>Required</sup> <a name="LINUX_AMAZON_2" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX_AMAZON_2"></a>
|
|
7606
|
+
|
|
7607
|
+
```typescript
|
|
7608
|
+
public readonly LINUX_AMAZON_2: Os;
|
|
7609
|
+
```
|
|
7610
|
+
|
|
7611
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6222
7612
|
|
|
6223
|
-
|
|
7613
|
+
Amazon Linux 2.
|
|
6224
7614
|
|
|
6225
7615
|
---
|
|
6226
7616
|
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
- *Type:* string
|
|
7617
|
+
##### `LINUX_UBUNTU`<sup>Required</sup> <a name="LINUX_UBUNTU" id="@cloudsnorkel/cdk-github-runners.Os.property.LINUX_UBUNTU"></a>
|
|
6230
7618
|
|
|
6231
|
-
|
|
7619
|
+
```typescript
|
|
7620
|
+
public readonly LINUX_UBUNTU: Os;
|
|
7621
|
+
```
|
|
6232
7622
|
|
|
6233
|
-
|
|
7623
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6234
7624
|
|
|
6235
|
-
|
|
7625
|
+
Ubuntu Linux.
|
|
6236
7626
|
|
|
6237
7627
|
---
|
|
6238
7628
|
|
|
6239
|
-
##### `
|
|
7629
|
+
##### `WINDOWS`<sup>Required</sup> <a name="WINDOWS" id="@cloudsnorkel/cdk-github-runners.Os.property.WINDOWS"></a>
|
|
6240
7630
|
|
|
6241
7631
|
```typescript
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
LinuxUbuntuComponents.extraCertificates(scope: Construct, id: string, path: string)
|
|
7632
|
+
public readonly WINDOWS: Os;
|
|
6245
7633
|
```
|
|
6246
7634
|
|
|
6247
|
-
|
|
7635
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6248
7636
|
|
|
6249
|
-
|
|
7637
|
+
Windows.
|
|
6250
7638
|
|
|
6251
7639
|
---
|
|
6252
7640
|
|
|
6253
|
-
|
|
7641
|
+
### RunnerImageComponent <a name="RunnerImageComponent" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent"></a>
|
|
6254
7642
|
|
|
6255
|
-
|
|
7643
|
+
Components are used to build runner images.
|
|
7644
|
+
|
|
7645
|
+
They can run commands in the image, copy files into the image, and run some Docker commands.
|
|
7646
|
+
|
|
7647
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.Initializer"></a>
|
|
7648
|
+
|
|
7649
|
+
```typescript
|
|
7650
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
7651
|
+
|
|
7652
|
+
new RunnerImageComponent()
|
|
7653
|
+
```
|
|
7654
|
+
|
|
7655
|
+
| **Name** | **Type** | **Description** |
|
|
7656
|
+
| --- | --- | --- |
|
|
6256
7657
|
|
|
6257
7658
|
---
|
|
6258
7659
|
|
|
6259
|
-
|
|
7660
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
6260
7661
|
|
|
6261
|
-
|
|
7662
|
+
| **Name** | **Description** |
|
|
7663
|
+
| --- | --- |
|
|
7664
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getAssets">getAssets</a></code> | Returns assets to copy into the built image. |
|
|
7665
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getCommands">getCommands</a></code> | Returns commands to run to in built image. |
|
|
7666
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getDockerCommands">getDockerCommands</a></code> | Returns Docker commands to run to in built image. |
|
|
6262
7667
|
|
|
6263
7668
|
---
|
|
6264
7669
|
|
|
6265
|
-
##### `
|
|
7670
|
+
##### `getAssets` <a name="getAssets" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getAssets"></a>
|
|
6266
7671
|
|
|
6267
7672
|
```typescript
|
|
6268
|
-
|
|
6269
|
-
|
|
6270
|
-
LinuxUbuntuComponents.git(scope: Construct, id: string, _architecture: Architecture)
|
|
7673
|
+
public getAssets(_os: Os, _architecture: Architecture): RunnerImageAsset[]
|
|
6271
7674
|
```
|
|
6272
7675
|
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
- *Type:* constructs.Construct
|
|
7676
|
+
Returns assets to copy into the built image.
|
|
6276
7677
|
|
|
6277
|
-
|
|
7678
|
+
Can be used to copy files into the image.
|
|
6278
7679
|
|
|
6279
|
-
###### `
|
|
7680
|
+
###### `_os`<sup>Required</sup> <a name="_os" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getAssets.parameter._os"></a>
|
|
6280
7681
|
|
|
6281
|
-
- *Type:*
|
|
7682
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6282
7683
|
|
|
6283
7684
|
---
|
|
6284
7685
|
|
|
6285
|
-
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.
|
|
7686
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getAssets.parameter._architecture"></a>
|
|
6286
7687
|
|
|
6287
7688
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6288
7689
|
|
|
6289
7690
|
---
|
|
6290
7691
|
|
|
6291
|
-
##### `
|
|
7692
|
+
##### `getCommands` <a name="getCommands" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getCommands"></a>
|
|
6292
7693
|
|
|
6293
7694
|
```typescript
|
|
6294
|
-
|
|
6295
|
-
|
|
6296
|
-
LinuxUbuntuComponents.githubCli(scope: Construct, id: string, _architecture: Architecture)
|
|
7695
|
+
public getCommands(_os: Os, _architecture: Architecture): string[]
|
|
6297
7696
|
```
|
|
6298
7697
|
|
|
6299
|
-
|
|
6300
|
-
|
|
6301
|
-
- *Type:* constructs.Construct
|
|
7698
|
+
Returns commands to run to in built image.
|
|
6302
7699
|
|
|
6303
|
-
|
|
7700
|
+
Can be used to install packages, setup build prerequisites, etc.
|
|
6304
7701
|
|
|
6305
|
-
###### `
|
|
7702
|
+
###### `_os`<sup>Required</sup> <a name="_os" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getCommands.parameter._os"></a>
|
|
6306
7703
|
|
|
6307
|
-
- *Type:*
|
|
7704
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6308
7705
|
|
|
6309
7706
|
---
|
|
6310
7707
|
|
|
6311
|
-
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.
|
|
7708
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getCommands.parameter._architecture"></a>
|
|
6312
7709
|
|
|
6313
7710
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6314
7711
|
|
|
6315
7712
|
---
|
|
6316
7713
|
|
|
6317
|
-
##### `
|
|
7714
|
+
##### `getDockerCommands` <a name="getDockerCommands" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getDockerCommands"></a>
|
|
6318
7715
|
|
|
6319
7716
|
```typescript
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
LinuxUbuntuComponents.githubRunner(scope: Construct, id: string, runnerVersion: RunnerVersion, architecture: Architecture)
|
|
7717
|
+
public getDockerCommands(_os: Os, _architecture: Architecture): string[]
|
|
6323
7718
|
```
|
|
6324
7719
|
|
|
6325
|
-
|
|
7720
|
+
Returns Docker commands to run to in built image.
|
|
6326
7721
|
|
|
6327
|
-
|
|
7722
|
+
Can be used to add commands like `VOLUME`, `ENTRYPOINT`, `CMD`, etc.
|
|
6328
7723
|
|
|
6329
|
-
|
|
7724
|
+
Docker commands are added after assets and normal commands.
|
|
6330
7725
|
|
|
6331
|
-
###### `
|
|
7726
|
+
###### `_os`<sup>Required</sup> <a name="_os" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getDockerCommands.parameter._os"></a>
|
|
6332
7727
|
|
|
6333
|
-
- *Type:*
|
|
7728
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
6334
7729
|
|
|
6335
7730
|
---
|
|
6336
7731
|
|
|
6337
|
-
###### `
|
|
7732
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.getDockerCommands.parameter._architecture"></a>
|
|
6338
7733
|
|
|
6339
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
7734
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
6340
7735
|
|
|
6341
7736
|
---
|
|
6342
7737
|
|
|
6343
|
-
|
|
7738
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
6344
7739
|
|
|
6345
|
-
|
|
7740
|
+
| **Name** | **Description** |
|
|
7741
|
+
| --- | --- |
|
|
7742
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.awsCli">awsCli</a></code> | A component to install the AWS CLI. |
|
|
7743
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.custom">custom</a></code> | Define a custom component that can run commands in the image, copy files into the image, and run some Docker commands. |
|
|
7744
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.docker">docker</a></code> | A component to install Docker. |
|
|
7745
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.dockerInDocker">dockerInDocker</a></code> | A component to install Docker-in-Docker. |
|
|
7746
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.extraCertificates">extraCertificates</a></code> | A component to add a trusted certificate authority. |
|
|
7747
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.git">git</a></code> | A component to install the GitHub CLI. |
|
|
7748
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.githubCli">githubCli</a></code> | A component to install the GitHub CLI. |
|
|
7749
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.githubRunner">githubRunner</a></code> | A component to install the GitHub Actions Runner. |
|
|
7750
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.lambdaEntrypoint">lambdaEntrypoint</a></code> | A component to set up the required Lambda entrypoint for Lambda runners. |
|
|
7751
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.requiredPackages">requiredPackages</a></code> | A component to install the required packages for the runner. |
|
|
7752
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.runnerUser">runnerUser</a></code> | A component to prepare the required runner user. |
|
|
6346
7753
|
|
|
6347
7754
|
---
|
|
6348
7755
|
|
|
6349
|
-
##### `
|
|
7756
|
+
##### `awsCli` <a name="awsCli" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.awsCli"></a>
|
|
6350
7757
|
|
|
6351
7758
|
```typescript
|
|
6352
|
-
import {
|
|
7759
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6353
7760
|
|
|
6354
|
-
|
|
7761
|
+
RunnerImageComponent.awsCli()
|
|
6355
7762
|
```
|
|
6356
7763
|
|
|
6357
|
-
|
|
7764
|
+
A component to install the AWS CLI.
|
|
6358
7765
|
|
|
6359
|
-
|
|
7766
|
+
##### `custom` <a name="custom" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.custom"></a>
|
|
6360
7767
|
|
|
6361
|
-
|
|
7768
|
+
```typescript
|
|
7769
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6362
7770
|
|
|
6363
|
-
|
|
7771
|
+
RunnerImageComponent.custom(props: RunnerImageComponentCustomProps)
|
|
7772
|
+
```
|
|
6364
7773
|
|
|
6365
|
-
|
|
7774
|
+
Define a custom component that can run commands in the image, copy files into the image, and run some Docker commands.
|
|
6366
7775
|
|
|
6367
|
-
|
|
7776
|
+
The order of operations is (1) assets (2) commands (3) docker commands.
|
|
6368
7777
|
|
|
6369
|
-
|
|
7778
|
+
Use this to customize the image for the runner.
|
|
6370
7779
|
|
|
6371
|
-
|
|
7780
|
+
**WARNING:** Docker commands are not guaranteed to be included before the next component
|
|
7781
|
+
|
|
7782
|
+
###### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.custom.parameter.props"></a>
|
|
7783
|
+
|
|
7784
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps">RunnerImageComponentCustomProps</a>
|
|
6372
7785
|
|
|
6373
7786
|
---
|
|
6374
7787
|
|
|
6375
|
-
##### `
|
|
7788
|
+
##### `docker` <a name="docker" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.docker"></a>
|
|
6376
7789
|
|
|
6377
7790
|
```typescript
|
|
6378
|
-
import {
|
|
7791
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6379
7792
|
|
|
6380
|
-
|
|
7793
|
+
RunnerImageComponent.docker()
|
|
6381
7794
|
```
|
|
6382
7795
|
|
|
6383
|
-
|
|
7796
|
+
A component to install Docker.
|
|
6384
7797
|
|
|
6385
|
-
|
|
7798
|
+
On Windows this installs Docker Desktop.
|
|
6386
7799
|
|
|
6387
|
-
|
|
7800
|
+
##### `dockerInDocker` <a name="dockerInDocker" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.dockerInDocker"></a>
|
|
6388
7801
|
|
|
6389
|
-
|
|
7802
|
+
```typescript
|
|
7803
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6390
7804
|
|
|
6391
|
-
|
|
7805
|
+
RunnerImageComponent.dockerInDocker()
|
|
7806
|
+
```
|
|
6392
7807
|
|
|
6393
|
-
|
|
7808
|
+
A component to install Docker-in-Docker.
|
|
6394
7809
|
|
|
6395
|
-
|
|
7810
|
+
##### `extraCertificates` <a name="extraCertificates" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.extraCertificates"></a>
|
|
6396
7811
|
|
|
6397
|
-
|
|
7812
|
+
```typescript
|
|
7813
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6398
7814
|
|
|
6399
|
-
|
|
7815
|
+
RunnerImageComponent.extraCertificates(source: string, name: string)
|
|
7816
|
+
```
|
|
6400
7817
|
|
|
7818
|
+
A component to add a trusted certificate authority.
|
|
6401
7819
|
|
|
7820
|
+
This can be used to support GitHub Enterprise Server with self-signed certificate.
|
|
6402
7821
|
|
|
6403
|
-
|
|
7822
|
+
###### `source`<sup>Required</sup> <a name="source" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.extraCertificates.parameter.source"></a>
|
|
6404
7823
|
|
|
6405
|
-
|
|
7824
|
+
- *Type:* string
|
|
6406
7825
|
|
|
6407
|
-
|
|
7826
|
+
path to certificate file in PEM format.
|
|
6408
7827
|
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
|
|
6412
|
-
|
|
7828
|
+
---
|
|
7829
|
+
|
|
7830
|
+
###### `name`<sup>Required</sup> <a name="name" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.extraCertificates.parameter.name"></a>
|
|
7831
|
+
|
|
7832
|
+
- *Type:* string
|
|
7833
|
+
|
|
7834
|
+
unique certificate name to be used on runner file system.
|
|
6413
7835
|
|
|
6414
7836
|
---
|
|
6415
7837
|
|
|
6416
|
-
##### `
|
|
7838
|
+
##### `git` <a name="git" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.git"></a>
|
|
6417
7839
|
|
|
6418
7840
|
```typescript
|
|
6419
|
-
|
|
7841
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
7842
|
+
|
|
7843
|
+
RunnerImageComponent.git()
|
|
6420
7844
|
```
|
|
6421
7845
|
|
|
6422
|
-
|
|
7846
|
+
A component to install the GitHub CLI.
|
|
6423
7847
|
|
|
6424
|
-
|
|
7848
|
+
##### `githubCli` <a name="githubCli" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.githubCli"></a>
|
|
6425
7849
|
|
|
6426
|
-
|
|
7850
|
+
```typescript
|
|
7851
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6427
7852
|
|
|
6428
|
-
|
|
7853
|
+
RunnerImageComponent.githubCli()
|
|
7854
|
+
```
|
|
6429
7855
|
|
|
6430
|
-
|
|
7856
|
+
A component to install the GitHub CLI.
|
|
6431
7857
|
|
|
6432
|
-
##### `
|
|
7858
|
+
##### `githubRunner` <a name="githubRunner" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.githubRunner"></a>
|
|
6433
7859
|
|
|
6434
7860
|
```typescript
|
|
6435
|
-
|
|
6436
|
-
```
|
|
6437
|
-
|
|
6438
|
-
Checks if this OS is in a given list.
|
|
7861
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6439
7862
|
|
|
6440
|
-
|
|
7863
|
+
RunnerImageComponent.githubRunner(runnerVersion: RunnerVersion)
|
|
7864
|
+
```
|
|
6441
7865
|
|
|
6442
|
-
|
|
7866
|
+
A component to install the GitHub Actions Runner.
|
|
6443
7867
|
|
|
6444
|
-
|
|
7868
|
+
This is the actual executable that connects to GitHub to ask for jobs and then execute them.
|
|
6445
7869
|
|
|
6446
|
-
|
|
7870
|
+
###### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.githubRunner.parameter.runnerVersion"></a>
|
|
6447
7871
|
|
|
7872
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
6448
7873
|
|
|
6449
|
-
|
|
7874
|
+
The version of the runner to install.
|
|
6450
7875
|
|
|
6451
|
-
|
|
6452
|
-
| --- | --- | --- |
|
|
6453
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.name">name</a></code> | <code>string</code> | *No description.* |
|
|
7876
|
+
Usually you would set this to latest.
|
|
6454
7877
|
|
|
6455
7878
|
---
|
|
6456
7879
|
|
|
6457
|
-
##### `
|
|
7880
|
+
##### `lambdaEntrypoint` <a name="lambdaEntrypoint" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.lambdaEntrypoint"></a>
|
|
6458
7881
|
|
|
6459
7882
|
```typescript
|
|
6460
|
-
|
|
7883
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
7884
|
+
|
|
7885
|
+
RunnerImageComponent.lambdaEntrypoint()
|
|
6461
7886
|
```
|
|
6462
7887
|
|
|
6463
|
-
|
|
7888
|
+
A component to set up the required Lambda entrypoint for Lambda runners.
|
|
6464
7889
|
|
|
6465
|
-
|
|
7890
|
+
##### `requiredPackages` <a name="requiredPackages" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.requiredPackages"></a>
|
|
6466
7891
|
|
|
6467
|
-
|
|
7892
|
+
```typescript
|
|
7893
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
6468
7894
|
|
|
6469
|
-
|
|
6470
|
-
|
|
6471
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.LINUX">LINUX</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Linux. |
|
|
6472
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.property.WINDOWS">WINDOWS</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Windows. |
|
|
7895
|
+
RunnerImageComponent.requiredPackages()
|
|
7896
|
+
```
|
|
6473
7897
|
|
|
6474
|
-
|
|
7898
|
+
A component to install the required packages for the runner.
|
|
6475
7899
|
|
|
6476
|
-
##### `
|
|
7900
|
+
##### `runnerUser` <a name="runnerUser" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.runnerUser"></a>
|
|
6477
7901
|
|
|
6478
7902
|
```typescript
|
|
6479
|
-
|
|
7903
|
+
import { RunnerImageComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
7904
|
+
|
|
7905
|
+
RunnerImageComponent.runnerUser()
|
|
6480
7906
|
```
|
|
6481
7907
|
|
|
6482
|
-
|
|
7908
|
+
A component to prepare the required runner user.
|
|
6483
7909
|
|
|
6484
|
-
|
|
7910
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
7911
|
+
|
|
7912
|
+
| **Name** | **Type** | **Description** |
|
|
7913
|
+
| --- | --- | --- |
|
|
7914
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageComponent.property.name">name</a></code> | <code>string</code> | Component name. |
|
|
6485
7915
|
|
|
6486
7916
|
---
|
|
6487
7917
|
|
|
6488
|
-
##### `
|
|
7918
|
+
##### `name`<sup>Required</sup> <a name="name" id="@cloudsnorkel/cdk-github-runners.RunnerImageComponent.property.name"></a>
|
|
6489
7919
|
|
|
6490
7920
|
```typescript
|
|
6491
|
-
public readonly
|
|
7921
|
+
public readonly name: string;
|
|
6492
7922
|
```
|
|
6493
7923
|
|
|
6494
|
-
- *Type:*
|
|
7924
|
+
- *Type:* string
|
|
6495
7925
|
|
|
6496
|
-
|
|
7926
|
+
Component name.
|
|
7927
|
+
|
|
7928
|
+
Used to identify component in image build logs, and for {@link RunnerImageBuilder.removeComponent }
|
|
6497
7929
|
|
|
6498
7930
|
---
|
|
6499
7931
|
|
|
7932
|
+
|
|
6500
7933
|
### RunnerVersion <a name="RunnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerVersion"></a>
|
|
6501
7934
|
|
|
6502
7935
|
Defines desired GitHub Actions runner version.
|
|
@@ -6730,7 +8163,7 @@ image OS.
|
|
|
6730
8163
|
|
|
6731
8164
|
Components for Windows that can be used with AWS Image Builder based builders.
|
|
6732
8165
|
|
|
6733
|
-
These cannot be used by {@link CodeBuildImageBuilder}.
|
|
8166
|
+
These cannot be used by {@link CodeBuildImageBuilder }.
|
|
6734
8167
|
|
|
6735
8168
|
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.Initializer"></a>
|
|
6736
8169
|
|
|
@@ -6760,7 +8193,7 @@ new WindowsComponents()
|
|
|
6760
8193
|
|
|
6761
8194
|
---
|
|
6762
8195
|
|
|
6763
|
-
#####
|
|
8196
|
+
##### ~~`awsCli`~~ <a name="awsCli" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.awsCli"></a>
|
|
6764
8197
|
|
|
6765
8198
|
```typescript
|
|
6766
8199
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6780,7 +8213,7 @@ WindowsComponents.awsCli(scope: Construct, id: string)
|
|
|
6780
8213
|
|
|
6781
8214
|
---
|
|
6782
8215
|
|
|
6783
|
-
#####
|
|
8216
|
+
##### ~~`cloudwatchAgent`~~ <a name="cloudwatchAgent" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.cloudwatchAgent"></a>
|
|
6784
8217
|
|
|
6785
8218
|
```typescript
|
|
6786
8219
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6800,7 +8233,7 @@ WindowsComponents.cloudwatchAgent(scope: Construct, id: string)
|
|
|
6800
8233
|
|
|
6801
8234
|
---
|
|
6802
8235
|
|
|
6803
|
-
#####
|
|
8236
|
+
##### ~~`docker`~~ <a name="docker" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.docker"></a>
|
|
6804
8237
|
|
|
6805
8238
|
```typescript
|
|
6806
8239
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6820,7 +8253,7 @@ WindowsComponents.docker(scope: Construct, id: string)
|
|
|
6820
8253
|
|
|
6821
8254
|
---
|
|
6822
8255
|
|
|
6823
|
-
#####
|
|
8256
|
+
##### ~~`extraCertificates`~~ <a name="extraCertificates" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.extraCertificates"></a>
|
|
6824
8257
|
|
|
6825
8258
|
```typescript
|
|
6826
8259
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6846,7 +8279,7 @@ WindowsComponents.extraCertificates(scope: Construct, id: string, path: string)
|
|
|
6846
8279
|
|
|
6847
8280
|
---
|
|
6848
8281
|
|
|
6849
|
-
#####
|
|
8282
|
+
##### ~~`git`~~ <a name="git" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.git"></a>
|
|
6850
8283
|
|
|
6851
8284
|
```typescript
|
|
6852
8285
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6866,7 +8299,7 @@ WindowsComponents.git(scope: Construct, id: string)
|
|
|
6866
8299
|
|
|
6867
8300
|
---
|
|
6868
8301
|
|
|
6869
|
-
#####
|
|
8302
|
+
##### ~~`githubCli`~~ <a name="githubCli" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubCli"></a>
|
|
6870
8303
|
|
|
6871
8304
|
```typescript
|
|
6872
8305
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6886,7 +8319,7 @@ WindowsComponents.githubCli(scope: Construct, id: string)
|
|
|
6886
8319
|
|
|
6887
8320
|
---
|
|
6888
8321
|
|
|
6889
|
-
#####
|
|
8322
|
+
##### ~~`githubRunner`~~ <a name="githubRunner" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner"></a>
|
|
6890
8323
|
|
|
6891
8324
|
```typescript
|
|
6892
8325
|
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
@@ -6916,105 +8349,89 @@ WindowsComponents.githubRunner(scope: Construct, id: string, runnerVersion: Runn
|
|
|
6916
8349
|
|
|
6917
8350
|
## Protocols <a name="Protocols" id="Protocols"></a>
|
|
6918
8351
|
|
|
6919
|
-
###
|
|
6920
|
-
|
|
6921
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder">AmiBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a>
|
|
8352
|
+
### IRunnerAmiStatus <a name="IRunnerAmiStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus"></a>
|
|
6922
8353
|
|
|
6923
|
-
|
|
8354
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus">IRunnerAmiStatus</a>
|
|
6924
8355
|
|
|
6925
|
-
|
|
8356
|
+
AMI status returned from runner providers to be displayed as output of status function.
|
|
6926
8357
|
|
|
6927
|
-
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
6928
8358
|
|
|
6929
|
-
####
|
|
8359
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
6930
8360
|
|
|
6931
|
-
| **Name** | **Description** |
|
|
6932
|
-
| --- | --- |
|
|
6933
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
8361
|
+
| **Name** | **Type** | **Description** |
|
|
8362
|
+
| --- | --- | --- |
|
|
8363
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.launchTemplate">launchTemplate</a></code> | <code>string</code> | Id of launch template pointing to the latest AMI built by the AMI builder. |
|
|
8364
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.amiBuilderLogGroup">amiBuilderLogGroup</a></code> | <code>string</code> | Log group name for the AMI builder where history of builds can be analyzed. |
|
|
6934
8365
|
|
|
6935
8366
|
---
|
|
6936
8367
|
|
|
6937
|
-
##### `
|
|
8368
|
+
##### `launchTemplate`<sup>Required</sup> <a name="launchTemplate" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.launchTemplate"></a>
|
|
6938
8369
|
|
|
6939
8370
|
```typescript
|
|
6940
|
-
public
|
|
8371
|
+
public readonly launchTemplate: string;
|
|
6941
8372
|
```
|
|
6942
8373
|
|
|
6943
|
-
|
|
6944
|
-
|
|
6945
|
-
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.
|
|
6946
|
-
|
|
6947
|
-
|
|
6948
|
-
### IImageBuilder <a name="IImageBuilder" id="@cloudsnorkel/cdk-github-runners.IImageBuilder"></a>
|
|
6949
|
-
|
|
6950
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder">CodeBuildImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder">ContainerImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
6951
|
-
|
|
6952
|
-
Interface for constructs that build an image that can be used in {@link IRunnerProvider}.
|
|
6953
|
-
|
|
6954
|
-
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.
|
|
6955
|
-
|
|
6956
|
-
It'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.
|
|
6957
|
-
|
|
6958
|
-
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
6959
|
-
|
|
6960
|
-
#### Methods <a name="Methods" id="Methods"></a>
|
|
8374
|
+
- *Type:* string
|
|
6961
8375
|
|
|
6962
|
-
|
|
6963
|
-
| --- | --- |
|
|
6964
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder.bind">bind</a></code> | Finalize and return all required information about the Docker image built by this builder. |
|
|
8376
|
+
Id of launch template pointing to the latest AMI built by the AMI builder.
|
|
6965
8377
|
|
|
6966
8378
|
---
|
|
6967
8379
|
|
|
6968
|
-
##### `
|
|
8380
|
+
##### `amiBuilderLogGroup`<sup>Optional</sup> <a name="amiBuilderLogGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.amiBuilderLogGroup"></a>
|
|
6969
8381
|
|
|
6970
8382
|
```typescript
|
|
6971
|
-
public
|
|
8383
|
+
public readonly amiBuilderLogGroup: string;
|
|
6972
8384
|
```
|
|
6973
8385
|
|
|
6974
|
-
|
|
8386
|
+
- *Type:* string
|
|
6975
8387
|
|
|
6976
|
-
|
|
8388
|
+
Log group name for the AMI builder where history of builds can be analyzed.
|
|
6977
8389
|
|
|
8390
|
+
---
|
|
6978
8391
|
|
|
6979
|
-
###
|
|
8392
|
+
### IRunnerImageBuilder <a name="IRunnerImageBuilder" id="@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"></a>
|
|
6980
8393
|
|
|
6981
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
8394
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.AmiBuilder">AmiBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder">CodeBuildImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder">ContainerImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilder">RunnerImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder">IRunnerImageBuilder</a>
|
|
6982
8395
|
|
|
6983
|
-
|
|
8396
|
+
Interface for constructs that build an image that can be used in {@link IRunnerProvider }.
|
|
6984
8397
|
|
|
8398
|
+
An image can be a Docker image or AMI.
|
|
6985
8399
|
|
|
6986
|
-
####
|
|
8400
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
6987
8401
|
|
|
6988
|
-
| **Name** | **
|
|
6989
|
-
| --- | --- |
|
|
6990
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
6991
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
8402
|
+
| **Name** | **Description** |
|
|
8403
|
+
| --- | --- |
|
|
8404
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder.bindAmi">bindAmi</a></code> | Build and return an AMI with GitHub Runner installed in it. |
|
|
8405
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder.bindDockerImage">bindDockerImage</a></code> | Build and return a Docker image with GitHub Runner installed in it. |
|
|
6992
8406
|
|
|
6993
8407
|
---
|
|
6994
8408
|
|
|
6995
|
-
##### `
|
|
8409
|
+
##### `bindAmi` <a name="bindAmi" id="@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder.bindAmi"></a>
|
|
6996
8410
|
|
|
6997
8411
|
```typescript
|
|
6998
|
-
public
|
|
8412
|
+
public bindAmi(): RunnerAmi
|
|
6999
8413
|
```
|
|
7000
8414
|
|
|
7001
|
-
|
|
8415
|
+
Build and return an AMI with GitHub Runner installed in it.
|
|
7002
8416
|
|
|
7003
|
-
|
|
8417
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
7004
8418
|
|
|
7005
|
-
|
|
8419
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
7006
8420
|
|
|
7007
|
-
##### `
|
|
8421
|
+
##### `bindDockerImage` <a name="bindDockerImage" id="@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder.bindDockerImage"></a>
|
|
7008
8422
|
|
|
7009
8423
|
```typescript
|
|
7010
|
-
public
|
|
8424
|
+
public bindDockerImage(): RunnerImage
|
|
7011
8425
|
```
|
|
7012
8426
|
|
|
7013
|
-
|
|
8427
|
+
Build and return a Docker image with GitHub Runner installed in it.
|
|
7014
8428
|
|
|
7015
|
-
|
|
8429
|
+
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.
|
|
8430
|
+
|
|
8431
|
+
It'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.
|
|
8432
|
+
|
|
8433
|
+
The image can be further updated over time manually or using a schedule as long as it is always written to the same tag.
|
|
7016
8434
|
|
|
7017
|
-
---
|
|
7018
8435
|
|
|
7019
8436
|
### IRunnerImageStatus <a name="IRunnerImageStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"></a>
|
|
7020
8437
|
|
|
@@ -7340,3 +8757,33 @@ VPC where runners will be launched.
|
|
|
7340
8757
|
|
|
7341
8758
|
---
|
|
7342
8759
|
|
|
8760
|
+
## Enums <a name="Enums" id="Enums"></a>
|
|
8761
|
+
|
|
8762
|
+
### RunnerImageBuilderType <a name="RunnerImageBuilderType" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType"></a>
|
|
8763
|
+
|
|
8764
|
+
#### Members <a name="Members" id="Members"></a>
|
|
8765
|
+
|
|
8766
|
+
| **Name** | **Description** |
|
|
8767
|
+
| --- | --- |
|
|
8768
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType.CODE_BUILD">CODE_BUILD</a></code> | Build runner images using AWS CodeBuild. |
|
|
8769
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType.AWS_IMAGE_BUILDER">AWS_IMAGE_BUILDER</a></code> | Build runner images using AWS Image Builder. |
|
|
8770
|
+
|
|
8771
|
+
---
|
|
8772
|
+
|
|
8773
|
+
##### `CODE_BUILD` <a name="CODE_BUILD" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType.CODE_BUILD"></a>
|
|
8774
|
+
|
|
8775
|
+
Build runner images using AWS CodeBuild.
|
|
8776
|
+
|
|
8777
|
+
Faster than AWS Image Builder, but can only be used to build Linux Docker images.
|
|
8778
|
+
|
|
8779
|
+
---
|
|
8780
|
+
|
|
8781
|
+
|
|
8782
|
+
##### `AWS_IMAGE_BUILDER` <a name="AWS_IMAGE_BUILDER" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType.AWS_IMAGE_BUILDER"></a>
|
|
8783
|
+
|
|
8784
|
+
Build runner images using AWS Image Builder.
|
|
8785
|
+
|
|
8786
|
+
Slower than CodeBuild, but can be used to build any type of image including AMIs and Windows images.
|
|
8787
|
+
|
|
8788
|
+
---
|
|
8789
|
+
|