@cloudsnorkel/cdk-github-runners 0.14.18 → 0.14.20
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 +741 -230
- package/API.md +499 -41
- package/README.md +34 -4
- package/assets/providers/ami-root-device.lambda/index.js +11 -0
- package/lib/access.js +1 -1
- package/lib/image-builders/api.js +1 -1
- package/lib/image-builders/aws-image-builder/ami.d.ts +3 -2
- package/lib/image-builders/aws-image-builder/ami.js +9 -34
- package/lib/image-builders/aws-image-builder/base-image.d.ts +118 -0
- package/lib/image-builders/aws-image-builder/base-image.js +130 -0
- package/lib/image-builders/aws-image-builder/builder.js +17 -5
- package/lib/image-builders/aws-image-builder/container.d.ts +2 -1
- package/lib/image-builders/aws-image-builder/container.js +7 -6
- package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
- package/lib/image-builders/aws-image-builder/index.d.ts +1 -0
- package/lib/image-builders/aws-image-builder/index.js +2 -1
- package/lib/image-builders/codebuild-deprecated.js +1 -1
- package/lib/image-builders/codebuild.d.ts +10 -0
- package/lib/image-builders/codebuild.js +15 -4
- package/lib/image-builders/common.d.ts +22 -3
- package/lib/image-builders/common.js +1 -1
- package/lib/image-builders/components.d.ts +1 -1
- package/lib/image-builders/components.js +31 -21
- package/lib/image-builders/static.js +4 -3
- package/lib/providers/ami-root-device.lambda.js +12 -1
- package/lib/providers/codebuild.d.ts +12 -0
- package/lib/providers/codebuild.js +4 -4
- package/lib/providers/common.js +3 -3
- package/lib/providers/composite.js +18 -33
- package/lib/providers/ec2.js +5 -5
- package/lib/providers/ecs.d.ts +3 -1
- package/lib/providers/ecs.js +3 -3
- package/lib/providers/fargate.d.ts +14 -0
- package/lib/providers/fargate.js +4 -4
- package/lib/providers/lambda.d.ts +2 -0
- package/lib/providers/lambda.js +4 -4
- package/lib/runner.d.ts +24 -5
- package/lib/runner.js +46 -9
- package/lib/secrets.js +1 -1
- package/lib/utils.d.ts +13 -0
- package/lib/utils.js +47 -1
- package/lib/webhook-redelivery.d.ts +11 -0
- package/lib/webhook-redelivery.js +3 -1
- package/lib/webhook.d.ts +10 -0
- package/lib/webhook.js +3 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -797,7 +797,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
797
797
|
|
|
798
798
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image"></a>
|
|
799
799
|
|
|
800
|
-
- *Deprecated:*
|
|
800
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
801
801
|
|
|
802
802
|
```typescript
|
|
803
803
|
public readonly image: RunnerImage;
|
|
@@ -1175,7 +1175,9 @@ Grant principal used to add permissions to the runner role.
|
|
|
1175
1175
|
|
|
1176
1176
|
---
|
|
1177
1177
|
|
|
1178
|
-
#####
|
|
1178
|
+
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider.property.image"></a>
|
|
1179
|
+
|
|
1180
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
1179
1181
|
|
|
1180
1182
|
```typescript
|
|
1181
1183
|
public readonly image: RunnerImage;
|
|
@@ -2318,6 +2320,7 @@ Included components:
|
|
|
2318
2320
|
| **Name** | **Type** | **Description** |
|
|
2319
2321
|
| --- | --- | --- |
|
|
2320
2322
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
2323
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.capacityProvider">capacityProvider</a></code> | <code>aws-cdk-lib.aws_ecs.AsgCapacityProvider</code> | Capacity provider used to scale the cluster. |
|
|
2321
2324
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
2322
2325
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
2323
2326
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
@@ -2338,6 +2341,20 @@ The tree node.
|
|
|
2338
2341
|
|
|
2339
2342
|
---
|
|
2340
2343
|
|
|
2344
|
+
##### `capacityProvider`<sup>Required</sup> <a name="capacityProvider" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.capacityProvider"></a>
|
|
2345
|
+
|
|
2346
|
+
```typescript
|
|
2347
|
+
public readonly capacityProvider: AsgCapacityProvider;
|
|
2348
|
+
```
|
|
2349
|
+
|
|
2350
|
+
- *Type:* aws-cdk-lib.aws_ecs.AsgCapacityProvider
|
|
2351
|
+
|
|
2352
|
+
Capacity provider used to scale the cluster.
|
|
2353
|
+
|
|
2354
|
+
Use capacityProvider.autoScalingGroup to access the auto scaling group. This can help set up custom scaling policies.
|
|
2355
|
+
|
|
2356
|
+
---
|
|
2357
|
+
|
|
2341
2358
|
##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.EcsRunnerProvider.property.connections"></a>
|
|
2342
2359
|
|
|
2343
2360
|
```typescript
|
|
@@ -2627,7 +2644,7 @@ The tree node.
|
|
|
2627
2644
|
|
|
2628
2645
|
##### ~~`assignPublicIp`~~<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.assignPublicIp"></a>
|
|
2629
2646
|
|
|
2630
|
-
- *Deprecated:*
|
|
2647
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2631
2648
|
|
|
2632
2649
|
```typescript
|
|
2633
2650
|
public readonly assignPublicIp: boolean;
|
|
@@ -2669,7 +2686,7 @@ The network connections associated with this resource.
|
|
|
2669
2686
|
|
|
2670
2687
|
##### ~~`container`~~<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.container"></a>
|
|
2671
2688
|
|
|
2672
|
-
- *Deprecated:*
|
|
2689
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2673
2690
|
|
|
2674
2691
|
```typescript
|
|
2675
2692
|
public readonly container: ContainerDefinition;
|
|
@@ -2697,7 +2714,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
2697
2714
|
|
|
2698
2715
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.image"></a>
|
|
2699
2716
|
|
|
2700
|
-
- *Deprecated:*
|
|
2717
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2701
2718
|
|
|
2702
2719
|
```typescript
|
|
2703
2720
|
public readonly image: RunnerImage;
|
|
@@ -2757,7 +2774,7 @@ List of step functions errors that should be retried.
|
|
|
2757
2774
|
|
|
2758
2775
|
##### ~~`spot`~~<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot"></a>
|
|
2759
2776
|
|
|
2760
|
-
- *Deprecated:*
|
|
2777
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2761
2778
|
|
|
2762
2779
|
```typescript
|
|
2763
2780
|
public readonly spot: boolean;
|
|
@@ -2771,7 +2788,7 @@ Use spot pricing for Fargate tasks.
|
|
|
2771
2788
|
|
|
2772
2789
|
##### ~~`task`~~<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.task"></a>
|
|
2773
2790
|
|
|
2774
|
-
- *Deprecated:*
|
|
2791
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2775
2792
|
|
|
2776
2793
|
```typescript
|
|
2777
2794
|
public readonly task: FargateTaskDefinition;
|
|
@@ -2785,7 +2802,7 @@ Fargate task hosting the runner.
|
|
|
2785
2802
|
|
|
2786
2803
|
##### ~~`subnetSelection`~~<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.subnetSelection"></a>
|
|
2787
2804
|
|
|
2788
|
-
- *Deprecated:*
|
|
2805
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2789
2806
|
|
|
2790
2807
|
```typescript
|
|
2791
2808
|
public readonly subnetSelection: SubnetSelection;
|
|
@@ -2799,7 +2816,7 @@ Subnets used for hosting the runner task.
|
|
|
2799
2816
|
|
|
2800
2817
|
##### ~~`vpc`~~<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.vpc"></a>
|
|
2801
2818
|
|
|
2802
|
-
- *Deprecated:*
|
|
2819
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
2803
2820
|
|
|
2804
2821
|
```typescript
|
|
2805
2822
|
public readonly vpc: IVpc;
|
|
@@ -3090,7 +3107,9 @@ The tree node.
|
|
|
3090
3107
|
|
|
3091
3108
|
---
|
|
3092
3109
|
|
|
3093
|
-
#####
|
|
3110
|
+
##### ~~`assignPublicIp`~~<sup>Required</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.assignPublicIp"></a>
|
|
3111
|
+
|
|
3112
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3094
3113
|
|
|
3095
3114
|
```typescript
|
|
3096
3115
|
public readonly assignPublicIp: boolean;
|
|
@@ -3126,7 +3145,9 @@ The network connections associated with this resource.
|
|
|
3126
3145
|
|
|
3127
3146
|
---
|
|
3128
3147
|
|
|
3129
|
-
#####
|
|
3148
|
+
##### ~~`container`~~<sup>Required</sup> <a name="container" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.container"></a>
|
|
3149
|
+
|
|
3150
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3130
3151
|
|
|
3131
3152
|
```typescript
|
|
3132
3153
|
public readonly container: ContainerDefinition;
|
|
@@ -3150,7 +3171,9 @@ Grant principal used to add permissions to the runner role.
|
|
|
3150
3171
|
|
|
3151
3172
|
---
|
|
3152
3173
|
|
|
3153
|
-
#####
|
|
3174
|
+
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.image"></a>
|
|
3175
|
+
|
|
3176
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3154
3177
|
|
|
3155
3178
|
```typescript
|
|
3156
3179
|
public readonly image: RunnerImage;
|
|
@@ -3202,7 +3225,9 @@ List of step functions errors that should be retried.
|
|
|
3202
3225
|
|
|
3203
3226
|
---
|
|
3204
3227
|
|
|
3205
|
-
#####
|
|
3228
|
+
##### ~~`spot`~~<sup>Required</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.spot"></a>
|
|
3229
|
+
|
|
3230
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3206
3231
|
|
|
3207
3232
|
```typescript
|
|
3208
3233
|
public readonly spot: boolean;
|
|
@@ -3214,7 +3239,9 @@ Use spot pricing for Fargate tasks.
|
|
|
3214
3239
|
|
|
3215
3240
|
---
|
|
3216
3241
|
|
|
3217
|
-
#####
|
|
3242
|
+
##### ~~`task`~~<sup>Required</sup> <a name="task" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.task"></a>
|
|
3243
|
+
|
|
3244
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3218
3245
|
|
|
3219
3246
|
```typescript
|
|
3220
3247
|
public readonly task: FargateTaskDefinition;
|
|
@@ -3226,7 +3253,9 @@ Fargate task hosting the runner.
|
|
|
3226
3253
|
|
|
3227
3254
|
---
|
|
3228
3255
|
|
|
3229
|
-
#####
|
|
3256
|
+
##### ~~`subnetSelection`~~<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.subnetSelection"></a>
|
|
3257
|
+
|
|
3258
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3230
3259
|
|
|
3231
3260
|
```typescript
|
|
3232
3261
|
public readonly subnetSelection: SubnetSelection;
|
|
@@ -3238,7 +3267,9 @@ Subnets used for hosting the runner task.
|
|
|
3238
3267
|
|
|
3239
3268
|
---
|
|
3240
3269
|
|
|
3241
|
-
#####
|
|
3270
|
+
##### ~~`vpc`~~<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProvider.property.vpc"></a>
|
|
3271
|
+
|
|
3272
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
3242
3273
|
|
|
3243
3274
|
```typescript
|
|
3244
3275
|
public readonly vpc: IVpc;
|
|
@@ -4162,7 +4193,7 @@ Grant principal used to add permissions to the runner role.
|
|
|
4162
4193
|
|
|
4163
4194
|
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image"></a>
|
|
4164
4195
|
|
|
4165
|
-
- *Deprecated:*
|
|
4196
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
4166
4197
|
|
|
4167
4198
|
```typescript
|
|
4168
4199
|
public readonly image: RunnerImage;
|
|
@@ -4530,7 +4561,9 @@ Grant principal used to add permissions to the runner role.
|
|
|
4530
4561
|
|
|
4531
4562
|
---
|
|
4532
4563
|
|
|
4533
|
-
#####
|
|
4564
|
+
##### ~~`image`~~<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider.property.image"></a>
|
|
4565
|
+
|
|
4566
|
+
- *Deprecated:* This field is internal and should not be accessed directly.
|
|
4534
4567
|
|
|
4535
4568
|
```typescript
|
|
4536
4569
|
public readonly image: RunnerImage;
|
|
@@ -5627,7 +5660,7 @@ const codeBuildRunnerImageBuilderProps: CodeBuildRunnerImageBuilderProps = { ...
|
|
|
5627
5660
|
| **Name** | **Type** | **Description** |
|
|
5628
5661
|
| --- | --- | --- |
|
|
5629
5662
|
| <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. |
|
|
5630
|
-
| <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. |
|
|
5663
|
+
| <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. See the {@link ComputeType} enum for the possible values. |
|
|
5631
5664
|
| <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. |
|
|
5632
5665
|
|
|
5633
5666
|
---
|
|
@@ -5658,9 +5691,17 @@ public readonly computeType: ComputeType;
|
|
|
5658
5691
|
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
5659
5692
|
- *Default:* {@link ComputeType#SMALL }
|
|
5660
5693
|
|
|
5661
|
-
The type of compute to use for this build.
|
|
5694
|
+
The type of compute to use for this build. See the {@link ComputeType} enum for the possible values.
|
|
5662
5695
|
|
|
5663
|
-
|
|
5696
|
+
The compute type determines CPU, memory, and disk space:
|
|
5697
|
+
- SMALL: 2 vCPU, 3 GB RAM, 64 GB disk
|
|
5698
|
+
- MEDIUM: 4 vCPU, 7 GB RAM, 128 GB disk
|
|
5699
|
+
- LARGE: 8 vCPU, 15 GB RAM, 128 GB disk
|
|
5700
|
+
- X2_LARGE: 72 vCPU, 145 GB RAM, 256 GB disk (Linux) or 824 GB disk (Windows)
|
|
5701
|
+
|
|
5702
|
+
Use a larger compute type when you need more disk space for building larger Docker images.
|
|
5703
|
+
|
|
5704
|
+
For more details, see https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
|
|
5664
5705
|
|
|
5665
5706
|
---
|
|
5666
5707
|
|
|
@@ -5697,7 +5738,7 @@ const codeBuildRunnerProviderProps: CodeBuildRunnerProviderProps = { ... }
|
|
|
5697
5738
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.defaultLabels">defaultLabels</a></code> | <code>boolean</code> | Add default labels based on OS and architecture of the runner. |
|
|
5698
5739
|
| <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. |
|
|
5699
5740
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.retryOptions">retryOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ProviderRetryOptions">ProviderRetryOptions</a></code> | *No description.* |
|
|
5700
|
-
| <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. |
|
|
5741
|
+
| <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. See the {@link ComputeType} enum for the possible values. |
|
|
5701
5742
|
| <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. |
|
|
5702
5743
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps.property.group">group</a></code> | <code>string</code> | GitHub Actions runner group name. |
|
|
5703
5744
|
| <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. |
|
|
@@ -5764,9 +5805,17 @@ public readonly computeType: ComputeType;
|
|
|
5764
5805
|
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
5765
5806
|
- *Default:* {@link ComputeType#SMALL }
|
|
5766
5807
|
|
|
5767
|
-
The type of compute to use for this build.
|
|
5808
|
+
The type of compute to use for this build. See the {@link ComputeType} enum for the possible values.
|
|
5768
5809
|
|
|
5769
|
-
|
|
5810
|
+
The compute type determines CPU, memory, and disk space:
|
|
5811
|
+
- SMALL: 2 vCPU, 3 GB RAM, 64 GB disk
|
|
5812
|
+
- MEDIUM: 4 vCPU, 7 GB RAM, 128 GB disk
|
|
5813
|
+
- LARGE: 8 vCPU, 15 GB RAM, 128 GB disk
|
|
5814
|
+
- X2_LARGE: 72 vCPU, 145 GB RAM, 256 GB disk (Linux) or 824 GB disk (Windows)
|
|
5815
|
+
|
|
5816
|
+
Use a larger compute type when you need more disk space for building larger Docker images.
|
|
5817
|
+
|
|
5818
|
+
For more details, see https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types
|
|
5770
5819
|
|
|
5771
5820
|
---
|
|
5772
5821
|
|
|
@@ -7217,8 +7266,8 @@ const gitHubRunnersProps: GitHubRunnersProps = { ... }
|
|
|
7217
7266
|
|
|
7218
7267
|
| **Name** | **Type** | **Description** |
|
|
7219
7268
|
| --- | --- | --- |
|
|
7220
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.allowPublicSubnet">allowPublicSubnet</a></code> | <code>boolean</code> | Allow management functions to run in public subnets. |
|
|
7221
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.extraCertificates">extraCertificates</a></code> | <code>string</code> | Path to a directory containing
|
|
7269
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.allowPublicSubnet">allowPublicSubnet</a></code> | <code>boolean</code> | Allow management functions to run in public subnets. Lambda Functions in a public subnet can NOT access the internet. |
|
|
7270
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.extraCertificates">extraCertificates</a></code> | <code>string</code> | Path to a certificate file (.pem or .crt) or a directory containing certificate files (.pem or .crt) required to trust GitHub Enterprise Server. Use this when GitHub Enterprise Server certificates are self-signed. |
|
|
7222
7271
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.idleTimeout">idleTimeout</a></code> | <code>aws-cdk-lib.Duration</code> | Time to wait before stopping a runner that remains idle. |
|
|
7223
7272
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.logOptions">logOptions</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.LogOptions">LogOptions</a></code> | Logging options for the state machine that manages the runners. |
|
|
7224
7273
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.providers">providers</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a> \| <a href="#@cloudsnorkel/cdk-github-runners.ICompositeProvider">ICompositeProvider</a>[]</code> | List of runner providers to use. |
|
|
@@ -7244,9 +7293,9 @@ public readonly allowPublicSubnet: boolean;
|
|
|
7244
7293
|
- *Type:* boolean
|
|
7245
7294
|
- *Default:* false
|
|
7246
7295
|
|
|
7247
|
-
Allow management functions to run in public subnets.
|
|
7296
|
+
Allow management functions to run in public subnets. Lambda Functions in a public subnet can NOT access the internet.
|
|
7248
7297
|
|
|
7249
|
-
Lambda
|
|
7298
|
+
**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.
|
|
7250
7299
|
|
|
7251
7300
|
---
|
|
7252
7301
|
|
|
@@ -7258,13 +7307,16 @@ public readonly extraCertificates: string;
|
|
|
7258
7307
|
|
|
7259
7308
|
- *Type:* string
|
|
7260
7309
|
|
|
7261
|
-
Path to a directory containing
|
|
7310
|
+
Path to a certificate file (.pem or .crt) or a directory containing certificate files (.pem or .crt) required to trust GitHub Enterprise Server. Use this when GitHub Enterprise Server certificates are self-signed.
|
|
7262
7311
|
|
|
7263
|
-
|
|
7312
|
+
If a directory is provided, all .pem and .crt files in that directory will be used. The certificates will be concatenated into a single file for use by Node.js.
|
|
7313
|
+
|
|
7314
|
+
You may also want to use custom images for your runner providers that contain the same certificates. See {@link RunnerImageComponent.extraCertificates }.
|
|
7264
7315
|
|
|
7265
7316
|
```typescript
|
|
7317
|
+
const selfSignedCertificates = 'certs/ghes.pem'; // or 'path-to-my-extra-certs-folder' for a directory
|
|
7266
7318
|
const imageBuilder = CodeBuildRunnerProvider.imageBuilder(this, 'Image Builder with Certs');
|
|
7267
|
-
imageBuilder.addComponent(RunnerImageComponent.extraCertificates(
|
|
7319
|
+
imageBuilder.addComponent(RunnerImageComponent.extraCertificates(selfSignedCertificates, 'private-ca'));
|
|
7268
7320
|
|
|
7269
7321
|
const provider = new CodeBuildRunnerProvider(this, 'CodeBuild', {
|
|
7270
7322
|
imageBuilder: imageBuilder,
|
|
@@ -7275,7 +7327,7 @@ new GitHubRunners(
|
|
|
7275
7327
|
'runners',
|
|
7276
7328
|
{
|
|
7277
7329
|
providers: [provider],
|
|
7278
|
-
extraCertificates:
|
|
7330
|
+
extraCertificates: selfSignedCertificates,
|
|
7279
7331
|
}
|
|
7280
7332
|
);
|
|
7281
7333
|
```
|
|
@@ -7398,6 +7450,8 @@ Security group attached to all management functions.
|
|
|
7398
7450
|
|
|
7399
7451
|
Use this with to provide access to GitHub Enterprise Server hosted inside a VPC.
|
|
7400
7452
|
|
|
7453
|
+
**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.
|
|
7454
|
+
|
|
7401
7455
|
---
|
|
7402
7456
|
|
|
7403
7457
|
##### `securityGroups`<sup>Optional</sup> <a name="securityGroups" id="@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.securityGroups"></a>
|
|
@@ -7410,7 +7464,11 @@ public readonly securityGroups: ISecurityGroup[];
|
|
|
7410
7464
|
|
|
7411
7465
|
Security groups attached to all management functions.
|
|
7412
7466
|
|
|
7413
|
-
Use this
|
|
7467
|
+
Use this to provide outbound access from management functions to GitHub Enterprise Server hosted inside a VPC.
|
|
7468
|
+
|
|
7469
|
+
**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.
|
|
7470
|
+
|
|
7471
|
+
**Note:** Defining inbound rules on this security group does nothing. This security group only controls outbound access FROM the management functions. To limit access TO the webhook or setup functions, use {@link webhookAccess} and {@link setupAccess} instead.
|
|
7414
7472
|
|
|
7415
7473
|
---
|
|
7416
7474
|
|
|
@@ -7454,6 +7512,8 @@ public readonly vpc: IVpc;
|
|
|
7454
7512
|
|
|
7455
7513
|
VPC used for all management functions. Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.
|
|
7456
7514
|
|
|
7515
|
+
**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting and will run outside the VPC.
|
|
7516
|
+
|
|
7457
7517
|
Make sure the selected VPC and subnets have access to the following with either NAT Gateway or VPC Endpoints:
|
|
7458
7518
|
* GitHub Enterprise Server
|
|
7459
7519
|
* Secrets Manager
|
|
@@ -7477,6 +7537,8 @@ VPC subnets used for all management functions.
|
|
|
7477
7537
|
|
|
7478
7538
|
Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.
|
|
7479
7539
|
|
|
7540
|
+
**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.
|
|
7541
|
+
|
|
7480
7542
|
---
|
|
7481
7543
|
|
|
7482
7544
|
##### `webhookAccess`<sup>Optional</sup> <a name="webhookAccess" id="@cloudsnorkel/cdk-github-runners.GitHubRunnersProps.property.webhookAccess"></a>
|
|
@@ -8428,8 +8490,8 @@ const runnerImageBuilderProps: RunnerImageBuilderProps = { ... }
|
|
|
8428
8490
|
| --- | --- | --- |
|
|
8429
8491
|
| <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. |
|
|
8430
8492
|
| <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. |
|
|
8431
|
-
| <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. |
|
|
8432
|
-
| <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. |
|
|
8493
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseAmi">baseAmi</a></code> | <code>string \| <a href="#@cloudsnorkel/cdk-github-runners.BaseImage">BaseImage</a></code> | Base AMI from which runner AMIs will be built. |
|
|
8494
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseDockerImage">baseDockerImage</a></code> | <code>string \| <a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage">BaseContainerImage</a></code> | Base image from which Docker runner images will be built. |
|
|
8433
8495
|
| <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.* |
|
|
8434
8496
|
| <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. |
|
|
8435
8497
|
| <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. |
|
|
@@ -8476,29 +8538,47 @@ Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.
|
|
|
8476
8538
|
##### `baseAmi`<sup>Optional</sup> <a name="baseAmi" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseAmi"></a>
|
|
8477
8539
|
|
|
8478
8540
|
```typescript
|
|
8479
|
-
public readonly baseAmi: string;
|
|
8541
|
+
public readonly baseAmi: string | BaseImage;
|
|
8480
8542
|
```
|
|
8481
8543
|
|
|
8482
|
-
- *Type:* string
|
|
8544
|
+
- *Type:* string | <a href="#@cloudsnorkel/cdk-github-runners.BaseImage">BaseImage</a>
|
|
8483
8545
|
- *Default:* latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS
|
|
8484
8546
|
|
|
8485
8547
|
Base AMI from which runner AMIs will be built.
|
|
8486
8548
|
|
|
8487
|
-
This can be
|
|
8549
|
+
This can be:
|
|
8550
|
+
- A string (AMI ID, Image Builder ARN, SSM parameter reference, or Marketplace product ID) - deprecated, use BaseImage static factory methods instead
|
|
8551
|
+
- A BaseImage instance created using static factory methods:
|
|
8552
|
+
- `BaseImage.fromAmiId('ami-12345')` - Use an AMI ID
|
|
8553
|
+
- `BaseImage.fromString('arn:aws:imagebuilder:...')` - Use any string (ARN, AMI ID, etc.)
|
|
8554
|
+
- `BaseImage.fromSsmParameter(parameter)` - Use an SSM parameter object
|
|
8555
|
+
- `BaseImage.fromSsmParameterName('/aws/service/ami/...')` - Use an SSM parameter by name
|
|
8556
|
+
- `BaseImage.fromMarketplaceProductId('product-id')` - Use a Marketplace product ID
|
|
8557
|
+
- `BaseImage.fromImageBuilder(scope, 'ubuntu-server-22-lts-x86')` - Use an AWS-provided Image Builder image
|
|
8558
|
+
|
|
8559
|
+
For example `BaseImage.fromImageBuilder(scope, 'ubuntu-server-22-lts-x86')` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can pass the version as the third parameter.
|
|
8488
8560
|
|
|
8489
8561
|
---
|
|
8490
8562
|
|
|
8491
8563
|
##### `baseDockerImage`<sup>Optional</sup> <a name="baseDockerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps.property.baseDockerImage"></a>
|
|
8492
8564
|
|
|
8493
8565
|
```typescript
|
|
8494
|
-
public readonly baseDockerImage: string;
|
|
8566
|
+
public readonly baseDockerImage: string | BaseContainerImage;
|
|
8495
8567
|
```
|
|
8496
8568
|
|
|
8497
|
-
- *Type:* string
|
|
8569
|
+
- *Type:* string | <a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage">BaseContainerImage</a>
|
|
8498
8570
|
- *Default:* public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS
|
|
8499
8571
|
|
|
8500
8572
|
Base image from which Docker runner images will be built.
|
|
8501
8573
|
|
|
8574
|
+
This can be:
|
|
8575
|
+
- A string (ECR/ECR public image URI, DockerHub image, or Image Builder ARN) - deprecated, use BaseContainerImage static factory methods instead
|
|
8576
|
+
- A BaseContainerImage instance created using static factory methods:
|
|
8577
|
+
- `BaseContainerImage.fromDockerHub('ubuntu', '22.04')` - Use DockerHub
|
|
8578
|
+
- `BaseContainerImage.fromEcr(repo, 'latest')` - Use ECR (automatically grants permissions with CodeBuild)
|
|
8579
|
+
- `BaseContainerImage.fromEcrPublic('lts', 'ubuntu', '22.04')` - Use ECR Public
|
|
8580
|
+
- `BaseContainerImage.fromString('public.ecr.aws/lts/ubuntu:22.04')` - Use any string
|
|
8581
|
+
|
|
8502
8582
|
When using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}.
|
|
8503
8583
|
|
|
8504
8584
|
---
|
|
@@ -9187,6 +9267,384 @@ X86_64.
|
|
|
9187
9267
|
|
|
9188
9268
|
---
|
|
9189
9269
|
|
|
9270
|
+
### BaseContainerImage <a name="BaseContainerImage" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage"></a>
|
|
9271
|
+
|
|
9272
|
+
Represents a base container image that is used to start from in EC2 Image Builder container builds.
|
|
9273
|
+
|
|
9274
|
+
This class is adapted from AWS CDK's BaseContainerImage class to support both string and object inputs.
|
|
9275
|
+
|
|
9276
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.Initializer"></a>
|
|
9277
|
+
|
|
9278
|
+
```typescript
|
|
9279
|
+
import { BaseContainerImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9280
|
+
|
|
9281
|
+
new BaseContainerImage(image: string, ecrRepository?: IRepository)
|
|
9282
|
+
```
|
|
9283
|
+
|
|
9284
|
+
| **Name** | **Type** | **Description** |
|
|
9285
|
+
| --- | --- | --- |
|
|
9286
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.Initializer.parameter.image">image</a></code> | <code>string</code> | *No description.* |
|
|
9287
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.Initializer.parameter.ecrRepository">ecrRepository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | *No description.* |
|
|
9288
|
+
|
|
9289
|
+
---
|
|
9290
|
+
|
|
9291
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.Initializer.parameter.image"></a>
|
|
9292
|
+
|
|
9293
|
+
- *Type:* string
|
|
9294
|
+
|
|
9295
|
+
---
|
|
9296
|
+
|
|
9297
|
+
##### `ecrRepository`<sup>Optional</sup> <a name="ecrRepository" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.Initializer.parameter.ecrRepository"></a>
|
|
9298
|
+
|
|
9299
|
+
- *Type:* aws-cdk-lib.aws_ecr.IRepository
|
|
9300
|
+
|
|
9301
|
+
---
|
|
9302
|
+
|
|
9303
|
+
|
|
9304
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
9305
|
+
|
|
9306
|
+
| **Name** | **Description** |
|
|
9307
|
+
| --- | --- |
|
|
9308
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromDockerHub">fromDockerHub</a></code> | The DockerHub image to use as the base image in a container recipe. |
|
|
9309
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcr">fromEcr</a></code> | The ECR container image to use as the base image in a container recipe. |
|
|
9310
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcrPublic">fromEcrPublic</a></code> | The ECR public container image to use as the base image in a container recipe. |
|
|
9311
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromString">fromString</a></code> | The string value of the base image to use in a container recipe. |
|
|
9312
|
+
|
|
9313
|
+
---
|
|
9314
|
+
|
|
9315
|
+
##### `fromDockerHub` <a name="fromDockerHub" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromDockerHub"></a>
|
|
9316
|
+
|
|
9317
|
+
```typescript
|
|
9318
|
+
import { BaseContainerImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9319
|
+
|
|
9320
|
+
BaseContainerImage.fromDockerHub(repository: string, tag: string)
|
|
9321
|
+
```
|
|
9322
|
+
|
|
9323
|
+
The DockerHub image to use as the base image in a container recipe.
|
|
9324
|
+
|
|
9325
|
+
###### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromDockerHub.parameter.repository"></a>
|
|
9326
|
+
|
|
9327
|
+
- *Type:* string
|
|
9328
|
+
|
|
9329
|
+
The DockerHub repository where the base image resides in.
|
|
9330
|
+
|
|
9331
|
+
---
|
|
9332
|
+
|
|
9333
|
+
###### `tag`<sup>Required</sup> <a name="tag" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromDockerHub.parameter.tag"></a>
|
|
9334
|
+
|
|
9335
|
+
- *Type:* string
|
|
9336
|
+
|
|
9337
|
+
The tag of the base image in the DockerHub repository.
|
|
9338
|
+
|
|
9339
|
+
---
|
|
9340
|
+
|
|
9341
|
+
##### `fromEcr` <a name="fromEcr" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcr"></a>
|
|
9342
|
+
|
|
9343
|
+
```typescript
|
|
9344
|
+
import { BaseContainerImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9345
|
+
|
|
9346
|
+
BaseContainerImage.fromEcr(repository: IRepository, tag: string)
|
|
9347
|
+
```
|
|
9348
|
+
|
|
9349
|
+
The ECR container image to use as the base image in a container recipe.
|
|
9350
|
+
|
|
9351
|
+
###### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcr.parameter.repository"></a>
|
|
9352
|
+
|
|
9353
|
+
- *Type:* aws-cdk-lib.aws_ecr.IRepository
|
|
9354
|
+
|
|
9355
|
+
The ECR repository where the base image resides in.
|
|
9356
|
+
|
|
9357
|
+
---
|
|
9358
|
+
|
|
9359
|
+
###### `tag`<sup>Required</sup> <a name="tag" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcr.parameter.tag"></a>
|
|
9360
|
+
|
|
9361
|
+
- *Type:* string
|
|
9362
|
+
|
|
9363
|
+
The tag of the base image in the ECR repository.
|
|
9364
|
+
|
|
9365
|
+
---
|
|
9366
|
+
|
|
9367
|
+
##### `fromEcrPublic` <a name="fromEcrPublic" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcrPublic"></a>
|
|
9368
|
+
|
|
9369
|
+
```typescript
|
|
9370
|
+
import { BaseContainerImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9371
|
+
|
|
9372
|
+
BaseContainerImage.fromEcrPublic(registryAlias: string, repositoryName: string, tag: string)
|
|
9373
|
+
```
|
|
9374
|
+
|
|
9375
|
+
The ECR public container image to use as the base image in a container recipe.
|
|
9376
|
+
|
|
9377
|
+
###### `registryAlias`<sup>Required</sup> <a name="registryAlias" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcrPublic.parameter.registryAlias"></a>
|
|
9378
|
+
|
|
9379
|
+
- *Type:* string
|
|
9380
|
+
|
|
9381
|
+
The alias of the ECR public registry where the base image resides in.
|
|
9382
|
+
|
|
9383
|
+
---
|
|
9384
|
+
|
|
9385
|
+
###### `repositoryName`<sup>Required</sup> <a name="repositoryName" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcrPublic.parameter.repositoryName"></a>
|
|
9386
|
+
|
|
9387
|
+
- *Type:* string
|
|
9388
|
+
|
|
9389
|
+
The name of the ECR public repository, where the base image resides in.
|
|
9390
|
+
|
|
9391
|
+
---
|
|
9392
|
+
|
|
9393
|
+
###### `tag`<sup>Required</sup> <a name="tag" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromEcrPublic.parameter.tag"></a>
|
|
9394
|
+
|
|
9395
|
+
- *Type:* string
|
|
9396
|
+
|
|
9397
|
+
The tag of the base image in the ECR public repository.
|
|
9398
|
+
|
|
9399
|
+
---
|
|
9400
|
+
|
|
9401
|
+
##### `fromString` <a name="fromString" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromString"></a>
|
|
9402
|
+
|
|
9403
|
+
```typescript
|
|
9404
|
+
import { BaseContainerImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9405
|
+
|
|
9406
|
+
BaseContainerImage.fromString(baseContainerImageString: string)
|
|
9407
|
+
```
|
|
9408
|
+
|
|
9409
|
+
The string value of the base image to use in a container recipe.
|
|
9410
|
+
|
|
9411
|
+
This can be an EC2 Image Builder image ARN,
|
|
9412
|
+
an ECR or ECR public image, or a container URI sourced from a third-party container registry such as DockerHub.
|
|
9413
|
+
|
|
9414
|
+
###### `baseContainerImageString`<sup>Required</sup> <a name="baseContainerImageString" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.fromString.parameter.baseContainerImageString"></a>
|
|
9415
|
+
|
|
9416
|
+
- *Type:* string
|
|
9417
|
+
|
|
9418
|
+
The base image as a direct string value.
|
|
9419
|
+
|
|
9420
|
+
---
|
|
9421
|
+
|
|
9422
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
9423
|
+
|
|
9424
|
+
| **Name** | **Type** | **Description** |
|
|
9425
|
+
| --- | --- | --- |
|
|
9426
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.property.image">image</a></code> | <code>string</code> | The rendered base image to use. |
|
|
9427
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseContainerImage.property.ecrRepository">ecrRepository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | The ECR repository if this image was created from an ECR repository. |
|
|
9428
|
+
|
|
9429
|
+
---
|
|
9430
|
+
|
|
9431
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.property.image"></a>
|
|
9432
|
+
|
|
9433
|
+
```typescript
|
|
9434
|
+
public readonly image: string;
|
|
9435
|
+
```
|
|
9436
|
+
|
|
9437
|
+
- *Type:* string
|
|
9438
|
+
|
|
9439
|
+
The rendered base image to use.
|
|
9440
|
+
|
|
9441
|
+
---
|
|
9442
|
+
|
|
9443
|
+
##### `ecrRepository`<sup>Optional</sup> <a name="ecrRepository" id="@cloudsnorkel/cdk-github-runners.BaseContainerImage.property.ecrRepository"></a>
|
|
9444
|
+
|
|
9445
|
+
```typescript
|
|
9446
|
+
public readonly ecrRepository: IRepository;
|
|
9447
|
+
```
|
|
9448
|
+
|
|
9449
|
+
- *Type:* aws-cdk-lib.aws_ecr.IRepository
|
|
9450
|
+
|
|
9451
|
+
The ECR repository if this image was created from an ECR repository.
|
|
9452
|
+
|
|
9453
|
+
This allows automatic permission granting for CodeBuild.
|
|
9454
|
+
|
|
9455
|
+
---
|
|
9456
|
+
|
|
9457
|
+
|
|
9458
|
+
### BaseImage <a name="BaseImage" id="@cloudsnorkel/cdk-github-runners.BaseImage"></a>
|
|
9459
|
+
|
|
9460
|
+
Represents a base image that is used to start from in EC2 Image Builder image builds.
|
|
9461
|
+
|
|
9462
|
+
This class is adapted from AWS CDK's BaseImage class to support both string and object inputs.
|
|
9463
|
+
|
|
9464
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.BaseImage.Initializer"></a>
|
|
9465
|
+
|
|
9466
|
+
```typescript
|
|
9467
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9468
|
+
|
|
9469
|
+
new BaseImage(image: string)
|
|
9470
|
+
```
|
|
9471
|
+
|
|
9472
|
+
| **Name** | **Type** | **Description** |
|
|
9473
|
+
| --- | --- | --- |
|
|
9474
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.Initializer.parameter.image">image</a></code> | <code>string</code> | *No description.* |
|
|
9475
|
+
|
|
9476
|
+
---
|
|
9477
|
+
|
|
9478
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.BaseImage.Initializer.parameter.image"></a>
|
|
9479
|
+
|
|
9480
|
+
- *Type:* string
|
|
9481
|
+
|
|
9482
|
+
---
|
|
9483
|
+
|
|
9484
|
+
|
|
9485
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
9486
|
+
|
|
9487
|
+
| **Name** | **Description** |
|
|
9488
|
+
| --- | --- |
|
|
9489
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromAmiId">fromAmiId</a></code> | The AMI ID to use as a base image in an image recipe. |
|
|
9490
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromImageBuilder">fromImageBuilder</a></code> | An AWS-provided EC2 Image Builder image to use as a base image in an image recipe. |
|
|
9491
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromMarketplaceProductId">fromMarketplaceProductId</a></code> | The marketplace product ID for an AMI product to use as the base image in an image recipe. |
|
|
9492
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameter">fromSsmParameter</a></code> | The SSM parameter to use as the base image in an image recipe. |
|
|
9493
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameterName">fromSsmParameterName</a></code> | The parameter name for the SSM parameter to use as the base image in an image recipe. |
|
|
9494
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.fromString">fromString</a></code> | The direct string value of the base image to use in an image recipe. |
|
|
9495
|
+
|
|
9496
|
+
---
|
|
9497
|
+
|
|
9498
|
+
##### `fromAmiId` <a name="fromAmiId" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromAmiId"></a>
|
|
9499
|
+
|
|
9500
|
+
```typescript
|
|
9501
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9502
|
+
|
|
9503
|
+
BaseImage.fromAmiId(amiId: string)
|
|
9504
|
+
```
|
|
9505
|
+
|
|
9506
|
+
The AMI ID to use as a base image in an image recipe.
|
|
9507
|
+
|
|
9508
|
+
###### `amiId`<sup>Required</sup> <a name="amiId" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromAmiId.parameter.amiId"></a>
|
|
9509
|
+
|
|
9510
|
+
- *Type:* string
|
|
9511
|
+
|
|
9512
|
+
The AMI ID to use as the base image.
|
|
9513
|
+
|
|
9514
|
+
---
|
|
9515
|
+
|
|
9516
|
+
##### `fromImageBuilder` <a name="fromImageBuilder" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromImageBuilder"></a>
|
|
9517
|
+
|
|
9518
|
+
```typescript
|
|
9519
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9520
|
+
|
|
9521
|
+
BaseImage.fromImageBuilder(scope: Construct, resourceName: string, version?: string)
|
|
9522
|
+
```
|
|
9523
|
+
|
|
9524
|
+
An AWS-provided EC2 Image Builder image to use as a base image in an image recipe.
|
|
9525
|
+
|
|
9526
|
+
This constructs an Image Builder ARN for AWS-provided images like `ubuntu-server-22-lts-x86/x.x.x`.
|
|
9527
|
+
|
|
9528
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromImageBuilder.parameter.scope"></a>
|
|
9529
|
+
|
|
9530
|
+
- *Type:* constructs.Construct
|
|
9531
|
+
|
|
9532
|
+
The construct scope (used to determine the stack and region).
|
|
9533
|
+
|
|
9534
|
+
---
|
|
9535
|
+
|
|
9536
|
+
###### `resourceName`<sup>Required</sup> <a name="resourceName" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromImageBuilder.parameter.resourceName"></a>
|
|
9537
|
+
|
|
9538
|
+
- *Type:* string
|
|
9539
|
+
|
|
9540
|
+
The Image Builder resource name pattern (e.g., `ubuntu-server-22-lts-x86` or `ubuntu-server-22-lts-${arch}`).
|
|
9541
|
+
|
|
9542
|
+
---
|
|
9543
|
+
|
|
9544
|
+
###### `version`<sup>Optional</sup> <a name="version" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromImageBuilder.parameter.version"></a>
|
|
9545
|
+
|
|
9546
|
+
- *Type:* string
|
|
9547
|
+
|
|
9548
|
+
The version pattern (defaults to `x.x.x` to use the latest version).
|
|
9549
|
+
|
|
9550
|
+
---
|
|
9551
|
+
|
|
9552
|
+
##### `fromMarketplaceProductId` <a name="fromMarketplaceProductId" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromMarketplaceProductId"></a>
|
|
9553
|
+
|
|
9554
|
+
```typescript
|
|
9555
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9556
|
+
|
|
9557
|
+
BaseImage.fromMarketplaceProductId(productId: string)
|
|
9558
|
+
```
|
|
9559
|
+
|
|
9560
|
+
The marketplace product ID for an AMI product to use as the base image in an image recipe.
|
|
9561
|
+
|
|
9562
|
+
###### `productId`<sup>Required</sup> <a name="productId" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromMarketplaceProductId.parameter.productId"></a>
|
|
9563
|
+
|
|
9564
|
+
- *Type:* string
|
|
9565
|
+
|
|
9566
|
+
The Marketplace AMI product ID to use as the base image.
|
|
9567
|
+
|
|
9568
|
+
---
|
|
9569
|
+
|
|
9570
|
+
##### `fromSsmParameter` <a name="fromSsmParameter" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameter"></a>
|
|
9571
|
+
|
|
9572
|
+
```typescript
|
|
9573
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9574
|
+
|
|
9575
|
+
BaseImage.fromSsmParameter(parameter: IParameter)
|
|
9576
|
+
```
|
|
9577
|
+
|
|
9578
|
+
The SSM parameter to use as the base image in an image recipe.
|
|
9579
|
+
|
|
9580
|
+
###### `parameter`<sup>Required</sup> <a name="parameter" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameter.parameter.parameter"></a>
|
|
9581
|
+
|
|
9582
|
+
- *Type:* aws-cdk-lib.aws_ssm.IParameter
|
|
9583
|
+
|
|
9584
|
+
The SSM parameter to use as the base image.
|
|
9585
|
+
|
|
9586
|
+
---
|
|
9587
|
+
|
|
9588
|
+
##### `fromSsmParameterName` <a name="fromSsmParameterName" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameterName"></a>
|
|
9589
|
+
|
|
9590
|
+
```typescript
|
|
9591
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9592
|
+
|
|
9593
|
+
BaseImage.fromSsmParameterName(parameterName: string)
|
|
9594
|
+
```
|
|
9595
|
+
|
|
9596
|
+
The parameter name for the SSM parameter to use as the base image in an image recipe.
|
|
9597
|
+
|
|
9598
|
+
###### `parameterName`<sup>Required</sup> <a name="parameterName" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromSsmParameterName.parameter.parameterName"></a>
|
|
9599
|
+
|
|
9600
|
+
- *Type:* string
|
|
9601
|
+
|
|
9602
|
+
The name of the SSM parameter to use as the base image.
|
|
9603
|
+
|
|
9604
|
+
---
|
|
9605
|
+
|
|
9606
|
+
##### `fromString` <a name="fromString" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromString"></a>
|
|
9607
|
+
|
|
9608
|
+
```typescript
|
|
9609
|
+
import { BaseImage } from '@cloudsnorkel/cdk-github-runners'
|
|
9610
|
+
|
|
9611
|
+
BaseImage.fromString(baseImageString: string)
|
|
9612
|
+
```
|
|
9613
|
+
|
|
9614
|
+
The direct string value of the base image to use in an image recipe.
|
|
9615
|
+
|
|
9616
|
+
This can be an EC2 Image Builder image ARN,
|
|
9617
|
+
an SSM parameter, an AWS Marketplace product ID, or an AMI ID.
|
|
9618
|
+
|
|
9619
|
+
###### `baseImageString`<sup>Required</sup> <a name="baseImageString" id="@cloudsnorkel/cdk-github-runners.BaseImage.fromString.parameter.baseImageString"></a>
|
|
9620
|
+
|
|
9621
|
+
- *Type:* string
|
|
9622
|
+
|
|
9623
|
+
The base image as a direct string value.
|
|
9624
|
+
|
|
9625
|
+
---
|
|
9626
|
+
|
|
9627
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
9628
|
+
|
|
9629
|
+
| **Name** | **Type** | **Description** |
|
|
9630
|
+
| --- | --- | --- |
|
|
9631
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.BaseImage.property.image">image</a></code> | <code>string</code> | The rendered base image to use. |
|
|
9632
|
+
|
|
9633
|
+
---
|
|
9634
|
+
|
|
9635
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.BaseImage.property.image"></a>
|
|
9636
|
+
|
|
9637
|
+
```typescript
|
|
9638
|
+
public readonly image: string;
|
|
9639
|
+
```
|
|
9640
|
+
|
|
9641
|
+
- *Type:* string
|
|
9642
|
+
|
|
9643
|
+
The rendered base image to use.
|
|
9644
|
+
|
|
9645
|
+
---
|
|
9646
|
+
|
|
9647
|
+
|
|
9190
9648
|
### CompositeProvider <a name="CompositeProvider" id="@cloudsnorkel/cdk-github-runners.CompositeProvider"></a>
|
|
9191
9649
|
|
|
9192
9650
|
A composite runner provider that implements fallback and distribution strategies.
|
|
@@ -10090,7 +10548,7 @@ This can be used to support GitHub Enterprise Server with self-signed certificat
|
|
|
10090
10548
|
|
|
10091
10549
|
- *Type:* string
|
|
10092
10550
|
|
|
10093
|
-
path to certificate file in PEM format.
|
|
10551
|
+
path to certificate file in PEM format, or a directory containing certificate files (.pem or .crt).
|
|
10094
10552
|
|
|
10095
10553
|
---
|
|
10096
10554
|
|