@cloudsnorkel/cdk-github-runners 0.5.8 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2847 -1100
- package/API.md +1290 -144
- package/README.md +11 -11
- package/lib/index.d.ts +6 -2
- package/lib/index.js +9 -2
- package/lib/lambdas/delete-ami/index.js +130 -0
- package/lib/lambdas/status/index.js +11 -1
- package/lib/lambdas/update-lambda/index.js +165 -107
- package/lib/providers/codebuild.d.ts +6 -4
- package/lib/providers/codebuild.js +20 -3
- package/lib/providers/common.d.ts +137 -9
- package/lib/providers/common.js +53 -4
- package/lib/providers/ec2.d.ts +106 -0
- package/lib/providers/ec2.js +256 -0
- package/lib/providers/fargate.d.ts +5 -3
- package/lib/providers/fargate.js +26 -5
- package/lib/providers/image-builders/ami.d.ts +131 -0
- package/lib/providers/image-builders/ami.js +274 -0
- package/lib/providers/image-builders/codebuild.js +3 -2
- package/lib/providers/image-builders/common.d.ts +196 -0
- package/lib/providers/image-builders/common.js +288 -0
- package/lib/providers/image-builders/container.d.ts +6 -100
- package/lib/providers/image-builders/container.js +41 -304
- package/lib/providers/image-builders/linux-components.d.ts +15 -0
- package/lib/providers/image-builders/linux-components.js +156 -0
- package/lib/providers/image-builders/static.js +3 -2
- package/lib/providers/image-builders/windows-components.d.ts +14 -0
- package/lib/providers/image-builders/windows-components.js +119 -0
- package/lib/providers/lambda.d.ts +5 -3
- package/lib/providers/lambda.js +20 -3
- package/lib/runner.js +8 -18
- package/lib/secrets.js +1 -1
- package/package.json +9 -9
package/API.md
CHANGED
|
@@ -272,7 +272,7 @@ public readonly props: CodeBuildImageBuilderProps;
|
|
|
272
272
|
|
|
273
273
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
274
274
|
|
|
275
|
-
GitHub Actions runner provider using CodeBuild to execute
|
|
275
|
+
GitHub Actions runner provider using CodeBuild to execute jobs.
|
|
276
276
|
|
|
277
277
|
Creates a project that gets started for each job.
|
|
278
278
|
|
|
@@ -318,6 +318,8 @@ new CodeBuildRunner(scope: Construct, id: string, props: CodeBuildRunnerProps)
|
|
|
318
318
|
| --- | --- |
|
|
319
319
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
320
320
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
|
|
321
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
322
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
321
323
|
|
|
322
324
|
---
|
|
323
325
|
|
|
@@ -347,6 +349,39 @@ workflow job details.
|
|
|
347
349
|
|
|
348
350
|
---
|
|
349
351
|
|
|
352
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.grantStateMachine"></a>
|
|
353
|
+
|
|
354
|
+
```typescript
|
|
355
|
+
public grantStateMachine(_: IGrantable): void
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
359
|
+
|
|
360
|
+
This can be used to add additional policy
|
|
361
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
362
|
+
|
|
363
|
+
###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.grantStateMachine.parameter._"></a>
|
|
364
|
+
|
|
365
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.status"></a>
|
|
370
|
+
|
|
371
|
+
```typescript
|
|
372
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
Return status of the runner provider to be used in the main status function.
|
|
376
|
+
|
|
377
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
378
|
+
|
|
379
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.status.parameter.statusFunctionRole"></a>
|
|
380
|
+
|
|
381
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
350
385
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
351
386
|
|
|
352
387
|
| **Name** | **Description** |
|
|
@@ -380,7 +415,7 @@ Any object.
|
|
|
380
415
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
381
416
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
382
417
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
383
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image
|
|
418
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
|
|
384
419
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
385
420
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.project">project</a></code> | <code>aws-cdk-lib.aws_codebuild.Project</code> | CodeBuild project hosting the runner. |
|
|
386
421
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to the task. |
|
|
@@ -432,7 +467,9 @@ public readonly image: RunnerImage;
|
|
|
432
467
|
|
|
433
468
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
434
469
|
|
|
435
|
-
Docker image
|
|
470
|
+
Docker image loaded with GitHub Actions Runner and its prerequisites.
|
|
471
|
+
|
|
472
|
+
The image is built by an image builder and is specific to CodeBuild.
|
|
436
473
|
|
|
437
474
|
---
|
|
438
475
|
|
|
@@ -541,7 +578,7 @@ Available build arguments that can be set in the image builder:
|
|
|
541
578
|
|
|
542
579
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
543
580
|
|
|
544
|
-
An image builder that uses Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
|
|
581
|
+
An image builder that uses AWS Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
|
|
545
582
|
|
|
546
583
|
Builders can be used with runner providers.
|
|
547
584
|
|
|
@@ -559,7 +596,7 @@ const builder = new ContainerImageBuilder(this, 'Builder', {
|
|
|
559
596
|
rebuildInterval: Duration.days(14),
|
|
560
597
|
});
|
|
561
598
|
new CodeBuildRunner(this, 'CodeBuild provider', {
|
|
562
|
-
label: '
|
|
599
|
+
label: 'custom-codebuild',
|
|
563
600
|
imageBuilder: builder,
|
|
564
601
|
});
|
|
565
602
|
```
|
|
@@ -705,18 +742,7 @@ Any object.
|
|
|
705
742
|
| **Name** | **Type** | **Description** |
|
|
706
743
|
| --- | --- | --- |
|
|
707
744
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
708
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | *No description.* |
|
|
709
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.description">description</a></code> | <code>string</code> | *No description.* |
|
|
710
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.instanceTypes">instanceTypes</a></code> | <code>string[]</code> | *No description.* |
|
|
711
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.logRemovalPolicy">logRemovalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | *No description.* |
|
|
712
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | *No description.* |
|
|
713
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | *No description.* |
|
|
714
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.platform">platform</a></code> | <code>string</code> | *No description.* |
|
|
715
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.rebuildInterval">rebuildInterval</a></code> | <code>aws-cdk-lib.Duration</code> | *No description.* |
|
|
716
745
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository">repository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | *No description.* |
|
|
717
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | *No description.* |
|
|
718
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.securityGroupIds">securityGroupIds</a></code> | <code>string[]</code> | *No description.* |
|
|
719
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.subnetId">subnetId</a></code> | <code>string</code> | *No description.* |
|
|
720
746
|
|
|
721
747
|
---
|
|
722
748
|
|
|
@@ -732,123 +758,237 @@ The tree node.
|
|
|
732
758
|
|
|
733
759
|
---
|
|
734
760
|
|
|
735
|
-
##### `
|
|
761
|
+
##### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository"></a>
|
|
736
762
|
|
|
737
763
|
```typescript
|
|
738
|
-
public readonly
|
|
764
|
+
public readonly repository: IRepository;
|
|
739
765
|
```
|
|
740
766
|
|
|
741
|
-
- *Type:*
|
|
767
|
+
- *Type:* aws-cdk-lib.aws_ecr.IRepository
|
|
742
768
|
|
|
743
769
|
---
|
|
744
770
|
|
|
745
|
-
|
|
771
|
+
|
|
772
|
+
### Ec2Runner <a name="Ec2Runner" id="@cloudsnorkel/cdk-github-runners.Ec2Runner"></a>
|
|
773
|
+
|
|
774
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
775
|
+
|
|
776
|
+
GitHub Actions runner provider using EC2 to execute jobs.
|
|
777
|
+
|
|
778
|
+
This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
|
|
779
|
+
|
|
780
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer"></a>
|
|
746
781
|
|
|
747
782
|
```typescript
|
|
748
|
-
|
|
783
|
+
import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
|
|
784
|
+
|
|
785
|
+
new Ec2Runner(scope: Construct, id: string, props: Ec2RunnerProps)
|
|
749
786
|
```
|
|
750
787
|
|
|
788
|
+
| **Name** | **Type** | **Description** |
|
|
789
|
+
| --- | --- | --- |
|
|
790
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
791
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
792
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a></code> | *No description.* |
|
|
793
|
+
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope"></a>
|
|
797
|
+
|
|
798
|
+
- *Type:* constructs.Construct
|
|
799
|
+
|
|
800
|
+
---
|
|
801
|
+
|
|
802
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id"></a>
|
|
803
|
+
|
|
751
804
|
- *Type:* string
|
|
752
805
|
|
|
753
806
|
---
|
|
754
807
|
|
|
755
|
-
##### `
|
|
808
|
+
##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props"></a>
|
|
809
|
+
|
|
810
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a>
|
|
811
|
+
|
|
812
|
+
---
|
|
813
|
+
|
|
814
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
815
|
+
|
|
816
|
+
| **Name** | **Description** |
|
|
817
|
+
| --- | --- |
|
|
818
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
819
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
|
|
820
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
821
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
822
|
+
|
|
823
|
+
---
|
|
824
|
+
|
|
825
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.toString"></a>
|
|
756
826
|
|
|
757
827
|
```typescript
|
|
758
|
-
public
|
|
828
|
+
public toString(): string
|
|
759
829
|
```
|
|
760
830
|
|
|
761
|
-
|
|
831
|
+
Returns a string representation of this construct.
|
|
832
|
+
|
|
833
|
+
##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask"></a>
|
|
834
|
+
|
|
835
|
+
```typescript
|
|
836
|
+
public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
Generate step function task(s) to start a new runner.
|
|
840
|
+
|
|
841
|
+
Called by GithubRunners and shouldn't be called manually.
|
|
842
|
+
|
|
843
|
+
###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask.parameter.parameters"></a>
|
|
844
|
+
|
|
845
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
|
|
846
|
+
|
|
847
|
+
workflow job details.
|
|
762
848
|
|
|
763
849
|
---
|
|
764
850
|
|
|
765
|
-
##### `
|
|
851
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine"></a>
|
|
766
852
|
|
|
767
853
|
```typescript
|
|
768
|
-
public
|
|
854
|
+
public grantStateMachine(stateMachineRole: IGrantable): void
|
|
769
855
|
```
|
|
770
856
|
|
|
771
|
-
|
|
857
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
858
|
+
|
|
859
|
+
This can be used to add additional policy
|
|
860
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
861
|
+
|
|
862
|
+
###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine.parameter.stateMachineRole"></a>
|
|
863
|
+
|
|
864
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
772
865
|
|
|
773
866
|
---
|
|
774
867
|
|
|
775
|
-
##### `
|
|
868
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status"></a>
|
|
776
869
|
|
|
777
870
|
```typescript
|
|
778
|
-
public
|
|
871
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
779
872
|
```
|
|
780
873
|
|
|
781
|
-
|
|
874
|
+
Return status of the runner provider to be used in the main status function.
|
|
875
|
+
|
|
876
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
877
|
+
|
|
878
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status.parameter.statusFunctionRole"></a>
|
|
879
|
+
|
|
880
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
782
881
|
|
|
783
882
|
---
|
|
784
883
|
|
|
785
|
-
|
|
884
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
885
|
+
|
|
886
|
+
| **Name** | **Description** |
|
|
887
|
+
| --- | --- |
|
|
888
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
889
|
+
|
|
890
|
+
---
|
|
891
|
+
|
|
892
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct"></a>
|
|
786
893
|
|
|
787
894
|
```typescript
|
|
788
|
-
|
|
895
|
+
import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
|
|
896
|
+
|
|
897
|
+
Ec2Runner.isConstruct(x: any)
|
|
789
898
|
```
|
|
790
899
|
|
|
791
|
-
|
|
900
|
+
Checks if `x` is a construct.
|
|
901
|
+
|
|
902
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct.parameter.x"></a>
|
|
903
|
+
|
|
904
|
+
- *Type:* any
|
|
905
|
+
|
|
906
|
+
Any object.
|
|
792
907
|
|
|
793
908
|
---
|
|
794
909
|
|
|
795
|
-
|
|
910
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
911
|
+
|
|
912
|
+
| **Name** | **Type** | **Description** |
|
|
913
|
+
| --- | --- | --- |
|
|
914
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
915
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
916
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
917
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
918
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to launched instances. |
|
|
919
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | VPC subnet used for hosting launched instances. |
|
|
920
|
+
|
|
921
|
+
---
|
|
922
|
+
|
|
923
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node"></a>
|
|
796
924
|
|
|
797
925
|
```typescript
|
|
798
|
-
public readonly
|
|
926
|
+
public readonly node: Node;
|
|
799
927
|
```
|
|
800
928
|
|
|
801
|
-
- *Type:*
|
|
929
|
+
- *Type:* constructs.Node
|
|
930
|
+
|
|
931
|
+
The tree node.
|
|
802
932
|
|
|
803
933
|
---
|
|
804
934
|
|
|
805
|
-
##### `
|
|
935
|
+
##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections"></a>
|
|
806
936
|
|
|
807
937
|
```typescript
|
|
808
|
-
public readonly
|
|
938
|
+
public readonly connections: Connections;
|
|
809
939
|
```
|
|
810
940
|
|
|
811
|
-
- *Type:* aws-cdk-lib.
|
|
941
|
+
- *Type:* aws-cdk-lib.aws_ec2.Connections
|
|
942
|
+
|
|
943
|
+
The network connections associated with this resource.
|
|
812
944
|
|
|
813
945
|
---
|
|
814
946
|
|
|
815
|
-
##### `
|
|
947
|
+
##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal"></a>
|
|
816
948
|
|
|
817
949
|
```typescript
|
|
818
|
-
public readonly
|
|
950
|
+
public readonly grantPrincipal: IPrincipal;
|
|
819
951
|
```
|
|
820
952
|
|
|
821
|
-
- *Type:* aws-cdk-lib.
|
|
953
|
+
- *Type:* aws-cdk-lib.aws_iam.IPrincipal
|
|
954
|
+
|
|
955
|
+
Grant principal used to add permissions to the runner role.
|
|
822
956
|
|
|
823
957
|
---
|
|
824
958
|
|
|
825
|
-
##### `
|
|
959
|
+
##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels"></a>
|
|
826
960
|
|
|
827
961
|
```typescript
|
|
828
|
-
public readonly
|
|
962
|
+
public readonly labels: string[];
|
|
829
963
|
```
|
|
830
964
|
|
|
831
|
-
- *Type:*
|
|
965
|
+
- *Type:* string[]
|
|
966
|
+
|
|
967
|
+
Labels associated with this provider.
|
|
832
968
|
|
|
833
969
|
---
|
|
834
970
|
|
|
835
|
-
##### `
|
|
971
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.securityGroup"></a>
|
|
836
972
|
|
|
837
973
|
```typescript
|
|
838
|
-
public readonly
|
|
974
|
+
public readonly securityGroup: ISecurityGroup;
|
|
839
975
|
```
|
|
840
976
|
|
|
841
|
-
- *Type:*
|
|
977
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
978
|
+
|
|
979
|
+
Security group attached to launched instances.
|
|
842
980
|
|
|
843
981
|
---
|
|
844
982
|
|
|
845
|
-
##### `
|
|
983
|
+
##### `subnet`<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.subnet"></a>
|
|
846
984
|
|
|
847
985
|
```typescript
|
|
848
|
-
public readonly
|
|
986
|
+
public readonly subnet: ISubnet;
|
|
849
987
|
```
|
|
850
988
|
|
|
851
|
-
- *Type:*
|
|
989
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISubnet
|
|
990
|
+
|
|
991
|
+
VPC subnet used for hosting launched instances.
|
|
852
992
|
|
|
853
993
|
---
|
|
854
994
|
|
|
@@ -857,7 +997,7 @@ public readonly subnetId: string;
|
|
|
857
997
|
|
|
858
998
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
859
999
|
|
|
860
|
-
GitHub Actions runner provider using Fargate to execute
|
|
1000
|
+
GitHub Actions runner provider using Fargate to execute jobs.
|
|
861
1001
|
|
|
862
1002
|
Creates a task definition with a single container that gets started for each job.
|
|
863
1003
|
|
|
@@ -903,6 +1043,8 @@ new FargateRunner(scope: Construct, id: string, props: FargateRunnerProps)
|
|
|
903
1043
|
| --- | --- |
|
|
904
1044
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
905
1045
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
|
|
1046
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
1047
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
906
1048
|
|
|
907
1049
|
---
|
|
908
1050
|
|
|
@@ -932,6 +1074,39 @@ workflow job details.
|
|
|
932
1074
|
|
|
933
1075
|
---
|
|
934
1076
|
|
|
1077
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine"></a>
|
|
1078
|
+
|
|
1079
|
+
```typescript
|
|
1080
|
+
public grantStateMachine(_: IGrantable): void
|
|
1081
|
+
```
|
|
1082
|
+
|
|
1083
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
1084
|
+
|
|
1085
|
+
This can be used to add additional policy
|
|
1086
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
1087
|
+
|
|
1088
|
+
###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.FargateRunner.grantStateMachine.parameter._"></a>
|
|
1089
|
+
|
|
1090
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
1091
|
+
|
|
1092
|
+
---
|
|
1093
|
+
|
|
1094
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status"></a>
|
|
1095
|
+
|
|
1096
|
+
```typescript
|
|
1097
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
1098
|
+
```
|
|
1099
|
+
|
|
1100
|
+
Return status of the runner provider to be used in the main status function.
|
|
1101
|
+
|
|
1102
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
1103
|
+
|
|
1104
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.FargateRunner.status.parameter.statusFunctionRole"></a>
|
|
1105
|
+
|
|
1106
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
1107
|
+
|
|
1108
|
+
---
|
|
1109
|
+
|
|
935
1110
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
936
1111
|
|
|
937
1112
|
| **Name** | **Description** |
|
|
@@ -968,7 +1143,7 @@ Any object.
|
|
|
968
1143
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
969
1144
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.container">container</a></code> | <code>aws-cdk-lib.aws_ecs.ContainerDefinition</code> | Container definition hosting the runner. |
|
|
970
1145
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
971
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image
|
|
1146
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
|
|
972
1147
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
973
1148
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
|
|
974
1149
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.task">task</a></code> | <code>aws-cdk-lib.aws_ecs.FargateTaskDefinition</code> | Fargate task hosting the runner. |
|
|
@@ -1058,7 +1233,9 @@ public readonly image: RunnerImage;
|
|
|
1058
1233
|
|
|
1059
1234
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
1060
1235
|
|
|
1061
|
-
Docker image
|
|
1236
|
+
Docker image loaded with GitHub Actions Runner and its prerequisites.
|
|
1237
|
+
|
|
1238
|
+
The image is built by an image builder and is specific to Fargate tasks.
|
|
1062
1239
|
|
|
1063
1240
|
---
|
|
1064
1241
|
|
|
@@ -1458,6 +1635,7 @@ Grants read permissions to the principal on the assets buckets.
|
|
|
1458
1635
|
| **Name** | **Description** |
|
|
1459
1636
|
| --- | --- |
|
|
1460
1637
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
1638
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource">isOwnedResource</a></code> | Returns true if the construct was created by CDK, and false otherwise. |
|
|
1461
1639
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
|
|
1462
1640
|
|
|
1463
1641
|
---
|
|
@@ -1480,6 +1658,22 @@ Any object.
|
|
|
1480
1658
|
|
|
1481
1659
|
---
|
|
1482
1660
|
|
|
1661
|
+
##### `isOwnedResource` <a name="isOwnedResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource"></a>
|
|
1662
|
+
|
|
1663
|
+
```typescript
|
|
1664
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
1665
|
+
|
|
1666
|
+
ImageBuilderComponent.isOwnedResource(construct: IConstruct)
|
|
1667
|
+
```
|
|
1668
|
+
|
|
1669
|
+
Returns true if the construct was created by CDK, and false otherwise.
|
|
1670
|
+
|
|
1671
|
+
###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isOwnedResource.parameter.construct"></a>
|
|
1672
|
+
|
|
1673
|
+
- *Type:* constructs.IConstruct
|
|
1674
|
+
|
|
1675
|
+
---
|
|
1676
|
+
|
|
1483
1677
|
##### `isResource` <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
|
|
1484
1678
|
|
|
1485
1679
|
```typescript
|
|
@@ -1580,7 +1774,7 @@ Supported platform for the component.
|
|
|
1580
1774
|
|
|
1581
1775
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
1582
1776
|
|
|
1583
|
-
GitHub Actions runner provider using Lambda to execute
|
|
1777
|
+
GitHub Actions runner provider using Lambda to execute jobs.
|
|
1584
1778
|
|
|
1585
1779
|
Creates a Docker-based function that gets executed for each job.
|
|
1586
1780
|
|
|
@@ -1626,6 +1820,8 @@ new LambdaRunner(scope: Construct, id: string, props: LambdaRunnerProps)
|
|
|
1626
1820
|
| --- | --- |
|
|
1627
1821
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1628
1822
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
|
|
1823
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
1824
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
1629
1825
|
|
|
1630
1826
|
---
|
|
1631
1827
|
|
|
@@ -1655,6 +1851,39 @@ workflow job details.
|
|
|
1655
1851
|
|
|
1656
1852
|
---
|
|
1657
1853
|
|
|
1854
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine"></a>
|
|
1855
|
+
|
|
1856
|
+
```typescript
|
|
1857
|
+
public grantStateMachine(_: IGrantable): void
|
|
1858
|
+
```
|
|
1859
|
+
|
|
1860
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
1861
|
+
|
|
1862
|
+
This can be used to add additional policy
|
|
1863
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
1864
|
+
|
|
1865
|
+
###### `_`<sup>Required</sup> <a name="_" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.grantStateMachine.parameter._"></a>
|
|
1866
|
+
|
|
1867
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
1868
|
+
|
|
1869
|
+
---
|
|
1870
|
+
|
|
1871
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status"></a>
|
|
1872
|
+
|
|
1873
|
+
```typescript
|
|
1874
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
1875
|
+
```
|
|
1876
|
+
|
|
1877
|
+
Return status of the runner provider to be used in the main status function.
|
|
1878
|
+
|
|
1879
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
1880
|
+
|
|
1881
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.status.parameter.statusFunctionRole"></a>
|
|
1882
|
+
|
|
1883
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
1884
|
+
|
|
1885
|
+
---
|
|
1886
|
+
|
|
1658
1887
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
1659
1888
|
|
|
1660
1889
|
| **Name** | **Description** |
|
|
@@ -1689,7 +1918,7 @@ Any object.
|
|
|
1689
1918
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
1690
1919
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.function">function</a></code> | <code>aws-cdk-lib.aws_lambda.Function</code> | The function hosting the GitHub runner. |
|
|
1691
1920
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
1692
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image
|
|
1921
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Docker image loaded with GitHub Actions Runner and its prerequisites. |
|
|
1693
1922
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
1694
1923
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to the function. |
|
|
1695
1924
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC used for hosting the function. |
|
|
@@ -1752,7 +1981,9 @@ public readonly image: RunnerImage;
|
|
|
1752
1981
|
|
|
1753
1982
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
1754
1983
|
|
|
1755
|
-
Docker image
|
|
1984
|
+
Docker image loaded with GitHub Actions Runner and its prerequisites.
|
|
1985
|
+
|
|
1986
|
+
The image is built by an image builder and is specific to Lambda.
|
|
1756
1987
|
|
|
1757
1988
|
---
|
|
1758
1989
|
|
|
@@ -2215,7 +2446,7 @@ const codeBuildRunnerProps: CodeBuildRunnerProps = { ... }
|
|
|
2215
2446
|
| --- | --- | --- |
|
|
2216
2447
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
2217
2448
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.computeType">computeType</a></code> | <code>aws-cdk-lib.aws_codebuild.ComputeType</code> | The type of compute to use for this build. |
|
|
2218
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> |
|
|
2449
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.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. |
|
|
2219
2450
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
2220
2451
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
2221
2452
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to this instance. |
|
|
@@ -2266,7 +2497,7 @@ public readonly imageBuilder: IImageBuilder;
|
|
|
2266
2497
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
2267
2498
|
- *Default:* image builder with `CodeBuildRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile
|
|
2268
2499
|
|
|
2269
|
-
|
|
2500
|
+
Image builder for CodeBuild image with GitHub runner pre-configured.
|
|
2270
2501
|
|
|
2271
2502
|
A user named `runner` is expected to exist with access to Docker-in-Docker.
|
|
2272
2503
|
|
|
@@ -2546,39 +2777,35 @@ VPC to launch the runners in.
|
|
|
2546
2777
|
|
|
2547
2778
|
---
|
|
2548
2779
|
|
|
2549
|
-
###
|
|
2780
|
+
### Ec2RunnerProps <a name="Ec2RunnerProps" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps"></a>
|
|
2550
2781
|
|
|
2551
|
-
Properties for
|
|
2782
|
+
Properties for {@link Ec2Runner} construct.
|
|
2552
2783
|
|
|
2553
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.
|
|
2784
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.Initializer"></a>
|
|
2554
2785
|
|
|
2555
2786
|
```typescript
|
|
2556
|
-
import {
|
|
2787
|
+
import { Ec2RunnerProps } from '@cloudsnorkel/cdk-github-runners'
|
|
2557
2788
|
|
|
2558
|
-
const
|
|
2789
|
+
const ec2RunnerProps: Ec2RunnerProps = { ... }
|
|
2559
2790
|
```
|
|
2560
2791
|
|
|
2561
2792
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
2562
2793
|
|
|
2563
2794
|
| **Name** | **Type** | **Description** |
|
|
2564
2795
|
| --- | --- | --- |
|
|
2565
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2566
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2567
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2568
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2569
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2570
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2571
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2572
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2573
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
2574
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to the task. |
|
|
2575
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use Fargate spot capacity provider to save money. |
|
|
2576
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets to run the runners in. |
|
|
2577
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
2796
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
2797
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a></code> | AMI builder that creates AMIs with GitHub runner pre-configured. |
|
|
2798
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
|
|
2799
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
2800
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to launched runner instances. |
|
|
2801
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use spot instances to save money. |
|
|
2802
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Set a maximum price for spot instances. |
|
|
2803
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for launched runner instances. |
|
|
2804
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | Subnet where the runner instances will be launched. |
|
|
2578
2805
|
|
|
2579
2806
|
---
|
|
2580
2807
|
|
|
2581
|
-
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.
|
|
2808
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention"></a>
|
|
2582
2809
|
|
|
2583
2810
|
```typescript
|
|
2584
2811
|
public readonly logRetention: RetentionDays;
|
|
@@ -2595,56 +2822,219 @@ remove the retention policy, set the value to `INFINITE`.
|
|
|
2595
2822
|
|
|
2596
2823
|
---
|
|
2597
2824
|
|
|
2598
|
-
##### `
|
|
2825
|
+
##### `amiBuilder`<sup>Optional</sup> <a name="amiBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder"></a>
|
|
2599
2826
|
|
|
2600
2827
|
```typescript
|
|
2601
|
-
public readonly
|
|
2828
|
+
public readonly amiBuilder: IAmiBuilder;
|
|
2602
2829
|
```
|
|
2603
2830
|
|
|
2604
|
-
- *Type:*
|
|
2605
|
-
- *Default:*
|
|
2831
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a>
|
|
2832
|
+
- *Default:* AMI builder for Ubuntu Linux
|
|
2606
2833
|
|
|
2607
|
-
|
|
2834
|
+
AMI builder that creates AMIs with GitHub runner pre-configured.
|
|
2608
2835
|
|
|
2609
|
-
|
|
2836
|
+
On Linux, a user named `runner` is expected to exist with access to Docker.
|
|
2610
2837
|
|
|
2611
2838
|
---
|
|
2612
2839
|
|
|
2613
|
-
##### `
|
|
2840
|
+
##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType"></a>
|
|
2614
2841
|
|
|
2615
2842
|
```typescript
|
|
2616
|
-
public readonly
|
|
2843
|
+
public readonly instanceType: InstanceType;
|
|
2617
2844
|
```
|
|
2618
2845
|
|
|
2619
|
-
- *Type:* aws-cdk-lib.
|
|
2620
|
-
- *Default:*
|
|
2846
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
2847
|
+
- *Default:* m5.large
|
|
2621
2848
|
|
|
2622
|
-
|
|
2849
|
+
Instance type for launched runner instances.
|
|
2623
2850
|
|
|
2624
2851
|
---
|
|
2625
2852
|
|
|
2626
|
-
##### `
|
|
2853
|
+
##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels"></a>
|
|
2627
2854
|
|
|
2628
2855
|
```typescript
|
|
2629
|
-
public readonly
|
|
2856
|
+
public readonly labels: string[];
|
|
2630
2857
|
```
|
|
2631
2858
|
|
|
2632
|
-
- *Type:*
|
|
2633
|
-
- *Default:*
|
|
2859
|
+
- *Type:* string[]
|
|
2860
|
+
- *Default:* ['ec2']
|
|
2634
2861
|
|
|
2635
|
-
|
|
2862
|
+
GitHub Actions labels used for this provider.
|
|
2636
2863
|
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2864
|
+
These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for
|
|
2865
|
+
based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the
|
|
2866
|
+
job's labels, this provider will be chosen and spawn a new runner.
|
|
2640
2867
|
|
|
2641
|
-
|
|
2868
|
+
---
|
|
2642
2869
|
|
|
2643
|
-
|
|
2870
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup"></a>
|
|
2644
2871
|
|
|
2645
|
-
|
|
2872
|
+
```typescript
|
|
2873
|
+
public readonly securityGroup: ISecurityGroup;
|
|
2874
|
+
```
|
|
2646
2875
|
|
|
2647
|
-
|
|
2876
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
2877
|
+
- *Default:* account's default security group
|
|
2878
|
+
|
|
2879
|
+
Security Group to assign to launched runner instances.
|
|
2880
|
+
|
|
2881
|
+
---
|
|
2882
|
+
|
|
2883
|
+
##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot"></a>
|
|
2884
|
+
|
|
2885
|
+
```typescript
|
|
2886
|
+
public readonly spot: boolean;
|
|
2887
|
+
```
|
|
2888
|
+
|
|
2889
|
+
- *Type:* boolean
|
|
2890
|
+
- *Default:* false
|
|
2891
|
+
|
|
2892
|
+
Use spot instances to save money.
|
|
2893
|
+
|
|
2894
|
+
Spot instances are cheaper but not always available and can be stopped prematurely.
|
|
2895
|
+
|
|
2896
|
+
---
|
|
2897
|
+
|
|
2898
|
+
##### `spotMaxPrice`<sup>Optional</sup> <a name="spotMaxPrice" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice"></a>
|
|
2899
|
+
|
|
2900
|
+
```typescript
|
|
2901
|
+
public readonly spotMaxPrice: string;
|
|
2902
|
+
```
|
|
2903
|
+
|
|
2904
|
+
- *Type:* string
|
|
2905
|
+
- *Default:* no max price (you will pay current spot price)
|
|
2906
|
+
|
|
2907
|
+
Set a maximum price for spot instances.
|
|
2908
|
+
|
|
2909
|
+
---
|
|
2910
|
+
|
|
2911
|
+
##### `storageSize`<sup>Optional</sup> <a name="storageSize" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize"></a>
|
|
2912
|
+
|
|
2913
|
+
```typescript
|
|
2914
|
+
public readonly storageSize: Size;
|
|
2915
|
+
```
|
|
2916
|
+
|
|
2917
|
+
- *Type:* aws-cdk-lib.Size
|
|
2918
|
+
- *Default:* 30GB
|
|
2919
|
+
|
|
2920
|
+
Size of volume available for launched runner instances.
|
|
2921
|
+
|
|
2922
|
+
This modifies the boot volume size and doesn't add any additional volumes.
|
|
2923
|
+
|
|
2924
|
+
---
|
|
2925
|
+
|
|
2926
|
+
##### `subnet`<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet"></a>
|
|
2927
|
+
|
|
2928
|
+
```typescript
|
|
2929
|
+
public readonly subnet: ISubnet;
|
|
2930
|
+
```
|
|
2931
|
+
|
|
2932
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISubnet
|
|
2933
|
+
- *Default:* default subnet of account's default VPC
|
|
2934
|
+
|
|
2935
|
+
Subnet where the runner instances will be launched.
|
|
2936
|
+
|
|
2937
|
+
---
|
|
2938
|
+
|
|
2939
|
+
### FargateRunnerProps <a name="FargateRunnerProps" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps"></a>
|
|
2940
|
+
|
|
2941
|
+
Properties for FargateRunner.
|
|
2942
|
+
|
|
2943
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.Initializer"></a>
|
|
2944
|
+
|
|
2945
|
+
```typescript
|
|
2946
|
+
import { FargateRunnerProps } from '@cloudsnorkel/cdk-github-runners'
|
|
2947
|
+
|
|
2948
|
+
const fargateRunnerProps: FargateRunnerProps = { ... }
|
|
2949
|
+
```
|
|
2950
|
+
|
|
2951
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2952
|
+
|
|
2953
|
+
| **Name** | **Type** | **Description** |
|
|
2954
|
+
| --- | --- | --- |
|
|
2955
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
2956
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.assignPublicIp">assignPublicIp</a></code> | <code>boolean</code> | Assign public IP to the runner task. |
|
|
2957
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cluster">cluster</a></code> | <code>aws-cdk-lib.aws_ecs.Cluster</code> | Existing Fargate cluster to use. |
|
|
2958
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cpu">cpu</a></code> | <code>number</code> | The number of cpu units used by the task. |
|
|
2959
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.ephemeralStorageGiB">ephemeralStorageGiB</a></code> | <code>number</code> | The amount (in GiB) of ephemeral storage to be allocated to the task. |
|
|
2960
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.imageBuilder">imageBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a></code> | Provider running an image to run inside CodeBuild with GitHub runner pre-configured. |
|
|
2961
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
2962
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
2963
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.memoryLimitMiB">memoryLimitMiB</a></code> | <code>number</code> | The amount (in MiB) of memory used by the task. |
|
|
2964
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to the task. |
|
|
2965
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use Fargate spot capacity provider to save money. |
|
|
2966
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Subnets to run the runners in. |
|
|
2967
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
2968
|
+
|
|
2969
|
+
---
|
|
2970
|
+
|
|
2971
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.logRetention"></a>
|
|
2972
|
+
|
|
2973
|
+
```typescript
|
|
2974
|
+
public readonly logRetention: RetentionDays;
|
|
2975
|
+
```
|
|
2976
|
+
|
|
2977
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
2978
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
2979
|
+
|
|
2980
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
2981
|
+
|
|
2982
|
+
When updating
|
|
2983
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
2984
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
2985
|
+
|
|
2986
|
+
---
|
|
2987
|
+
|
|
2988
|
+
##### `assignPublicIp`<sup>Optional</sup> <a name="assignPublicIp" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.assignPublicIp"></a>
|
|
2989
|
+
|
|
2990
|
+
```typescript
|
|
2991
|
+
public readonly assignPublicIp: boolean;
|
|
2992
|
+
```
|
|
2993
|
+
|
|
2994
|
+
- *Type:* boolean
|
|
2995
|
+
- *Default:* true
|
|
2996
|
+
|
|
2997
|
+
Assign public IP to the runner task.
|
|
2998
|
+
|
|
2999
|
+
Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway.
|
|
3000
|
+
|
|
3001
|
+
---
|
|
3002
|
+
|
|
3003
|
+
##### `cluster`<sup>Optional</sup> <a name="cluster" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cluster"></a>
|
|
3004
|
+
|
|
3005
|
+
```typescript
|
|
3006
|
+
public readonly cluster: Cluster;
|
|
3007
|
+
```
|
|
3008
|
+
|
|
3009
|
+
- *Type:* aws-cdk-lib.aws_ecs.Cluster
|
|
3010
|
+
- *Default:* a new cluster
|
|
3011
|
+
|
|
3012
|
+
Existing Fargate cluster to use.
|
|
3013
|
+
|
|
3014
|
+
---
|
|
3015
|
+
|
|
3016
|
+
##### `cpu`<sup>Optional</sup> <a name="cpu" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.cpu"></a>
|
|
3017
|
+
|
|
3018
|
+
```typescript
|
|
3019
|
+
public readonly cpu: number;
|
|
3020
|
+
```
|
|
3021
|
+
|
|
3022
|
+
- *Type:* number
|
|
3023
|
+
- *Default:* 1024
|
|
3024
|
+
|
|
3025
|
+
The number of cpu units used by the task.
|
|
3026
|
+
|
|
3027
|
+
For tasks using the Fargate launch type,
|
|
3028
|
+
this field is required and you must use one of the following values,
|
|
3029
|
+
which determines your range of valid values for the memory parameter:
|
|
3030
|
+
|
|
3031
|
+
256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)
|
|
3032
|
+
|
|
3033
|
+
512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)
|
|
3034
|
+
|
|
3035
|
+
1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
|
|
3036
|
+
|
|
3037
|
+
2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)
|
|
2648
3038
|
|
|
2649
3039
|
4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)
|
|
2650
3040
|
|
|
@@ -3253,8 +3643,94 @@ VPC to launch the runners in.
|
|
|
3253
3643
|
|
|
3254
3644
|
---
|
|
3255
3645
|
|
|
3646
|
+
### RunnerAmi <a name="RunnerAmi" id="@cloudsnorkel/cdk-github-runners.RunnerAmi"></a>
|
|
3647
|
+
|
|
3648
|
+
Description of a AMI built by {@link IAmiBuilder}.
|
|
3649
|
+
|
|
3650
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.Initializer"></a>
|
|
3651
|
+
|
|
3652
|
+
```typescript
|
|
3653
|
+
import { RunnerAmi } from '@cloudsnorkel/cdk-github-runners'
|
|
3654
|
+
|
|
3655
|
+
const runnerAmi: RunnerAmi = { ... }
|
|
3656
|
+
```
|
|
3657
|
+
|
|
3658
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
3659
|
+
|
|
3660
|
+
| **Name** | **Type** | **Description** |
|
|
3661
|
+
| --- | --- | --- |
|
|
3662
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Architecture of the image. |
|
|
3663
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.launchTemplate">launchTemplate</a></code> | <code>aws-cdk-lib.aws_ec2.ILaunchTemplate</code> | Launch template pointing to the latest AMI. |
|
|
3664
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | OS type of the image. |
|
|
3665
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | Installed runner version. |
|
|
3666
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.LogGroup</code> | Log group where image builds are logged. |
|
|
3667
|
+
|
|
3668
|
+
---
|
|
3669
|
+
|
|
3670
|
+
##### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.architecture"></a>
|
|
3671
|
+
|
|
3672
|
+
```typescript
|
|
3673
|
+
public readonly architecture: Architecture;
|
|
3674
|
+
```
|
|
3675
|
+
|
|
3676
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
3677
|
+
|
|
3678
|
+
Architecture of the image.
|
|
3679
|
+
|
|
3680
|
+
---
|
|
3681
|
+
|
|
3682
|
+
##### `launchTemplate`<sup>Required</sup> <a name="launchTemplate" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.launchTemplate"></a>
|
|
3683
|
+
|
|
3684
|
+
```typescript
|
|
3685
|
+
public readonly launchTemplate: ILaunchTemplate;
|
|
3686
|
+
```
|
|
3687
|
+
|
|
3688
|
+
- *Type:* aws-cdk-lib.aws_ec2.ILaunchTemplate
|
|
3689
|
+
|
|
3690
|
+
Launch template pointing to the latest AMI.
|
|
3691
|
+
|
|
3692
|
+
---
|
|
3693
|
+
|
|
3694
|
+
##### `os`<sup>Required</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.os"></a>
|
|
3695
|
+
|
|
3696
|
+
```typescript
|
|
3697
|
+
public readonly os: Os;
|
|
3698
|
+
```
|
|
3699
|
+
|
|
3700
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
3701
|
+
|
|
3702
|
+
OS type of the image.
|
|
3703
|
+
|
|
3704
|
+
---
|
|
3705
|
+
|
|
3706
|
+
##### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.runnerVersion"></a>
|
|
3707
|
+
|
|
3708
|
+
```typescript
|
|
3709
|
+
public readonly runnerVersion: RunnerVersion;
|
|
3710
|
+
```
|
|
3711
|
+
|
|
3712
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
3713
|
+
|
|
3714
|
+
Installed runner version.
|
|
3715
|
+
|
|
3716
|
+
---
|
|
3717
|
+
|
|
3718
|
+
##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.logGroup"></a>
|
|
3719
|
+
|
|
3720
|
+
```typescript
|
|
3721
|
+
public readonly logGroup: LogGroup;
|
|
3722
|
+
```
|
|
3723
|
+
|
|
3724
|
+
- *Type:* aws-cdk-lib.aws_logs.LogGroup
|
|
3725
|
+
|
|
3726
|
+
Log group where image builds are logged.
|
|
3727
|
+
|
|
3728
|
+
---
|
|
3729
|
+
|
|
3256
3730
|
### RunnerImage <a name="RunnerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImage"></a>
|
|
3257
3731
|
|
|
3732
|
+
Description of a Docker image built by {@link IImageBuilder}.
|
|
3733
|
+
|
|
3258
3734
|
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerImage.Initializer"></a>
|
|
3259
3735
|
|
|
3260
3736
|
```typescript
|
|
@@ -3271,6 +3747,7 @@ const runnerImage: RunnerImage = { ... }
|
|
|
3271
3747
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageRepository">imageRepository</a></code> | <code>aws-cdk-lib.aws_ecr.IRepository</code> | ECR repository containing the image. |
|
|
3272
3748
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageTag">imageTag</a></code> | <code>string</code> | Static image tag where the image will be pushed. |
|
|
3273
3749
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | OS type of the image. |
|
|
3750
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | Installed runner version. |
|
|
3274
3751
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.LogGroup</code> | Log group where image builds are logged. |
|
|
3275
3752
|
|
|
3276
3753
|
---
|
|
@@ -3323,6 +3800,18 @@ OS type of the image.
|
|
|
3323
3800
|
|
|
3324
3801
|
---
|
|
3325
3802
|
|
|
3803
|
+
##### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.runnerVersion"></a>
|
|
3804
|
+
|
|
3805
|
+
```typescript
|
|
3806
|
+
public readonly runnerVersion: RunnerVersion;
|
|
3807
|
+
```
|
|
3808
|
+
|
|
3809
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
3810
|
+
|
|
3811
|
+
Installed runner version.
|
|
3812
|
+
|
|
3813
|
+
---
|
|
3814
|
+
|
|
3326
3815
|
##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.logGroup"></a>
|
|
3327
3816
|
|
|
3328
3817
|
```typescript
|
|
@@ -3476,7 +3965,25 @@ CPU architecture enum for an image.
|
|
|
3476
3965
|
|
|
3477
3966
|
| **Name** | **Description** |
|
|
3478
3967
|
| --- | --- |
|
|
3968
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch">instanceTypeMatch</a></code> | Checks if a given EC2 instance type matches this architecture. |
|
|
3479
3969
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.is">is</a></code> | Checks if the given architecture is the same as this one. |
|
|
3970
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture.isIn">isIn</a></code> | Checks if this architecture is in a given list. |
|
|
3971
|
+
|
|
3972
|
+
---
|
|
3973
|
+
|
|
3974
|
+
##### `instanceTypeMatch` <a name="instanceTypeMatch" id="@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch"></a>
|
|
3975
|
+
|
|
3976
|
+
```typescript
|
|
3977
|
+
public instanceTypeMatch(instanceType: InstanceType): boolean
|
|
3978
|
+
```
|
|
3979
|
+
|
|
3980
|
+
Checks if a given EC2 instance type matches this architecture.
|
|
3981
|
+
|
|
3982
|
+
###### `instanceType`<sup>Required</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Architecture.instanceTypeMatch.parameter.instanceType"></a>
|
|
3983
|
+
|
|
3984
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
3985
|
+
|
|
3986
|
+
instance type to check.
|
|
3480
3987
|
|
|
3481
3988
|
---
|
|
3482
3989
|
|
|
@@ -3496,6 +4003,22 @@ architecture to compare.
|
|
|
3496
4003
|
|
|
3497
4004
|
---
|
|
3498
4005
|
|
|
4006
|
+
##### `isIn` <a name="isIn" id="@cloudsnorkel/cdk-github-runners.Architecture.isIn"></a>
|
|
4007
|
+
|
|
4008
|
+
```typescript
|
|
4009
|
+
public isIn(arches: Architecture[]): boolean
|
|
4010
|
+
```
|
|
4011
|
+
|
|
4012
|
+
Checks if this architecture is in a given list.
|
|
4013
|
+
|
|
4014
|
+
###### `arches`<sup>Required</sup> <a name="arches" id="@cloudsnorkel/cdk-github-runners.Architecture.isIn.parameter.arches"></a>
|
|
4015
|
+
|
|
4016
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>[]
|
|
4017
|
+
|
|
4018
|
+
architectures to check.
|
|
4019
|
+
|
|
4020
|
+
---
|
|
4021
|
+
|
|
3499
4022
|
|
|
3500
4023
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3501
4024
|
|
|
@@ -3548,27 +4071,252 @@ X86_64.
|
|
|
3548
4071
|
|
|
3549
4072
|
---
|
|
3550
4073
|
|
|
3551
|
-
###
|
|
3552
|
-
|
|
3553
|
-
OS enum for an image.
|
|
3554
|
-
|
|
3555
|
-
#### Methods <a name="Methods" id="Methods"></a>
|
|
4074
|
+
### LinuxUbuntuComponents <a name="LinuxUbuntuComponents" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents"></a>
|
|
3556
4075
|
|
|
3557
|
-
|
|
3558
|
-
| --- | --- |
|
|
3559
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.is">is</a></code> | Checks if the given OS is the same as this one. |
|
|
4076
|
+
Components for Ubuntu Linux that can be used with AWS Image Builder based builders.
|
|
3560
4077
|
|
|
3561
|
-
|
|
4078
|
+
These cannot be used by {@link CodeBuildImageBuilder}.
|
|
3562
4079
|
|
|
3563
|
-
|
|
4080
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.Initializer"></a>
|
|
3564
4081
|
|
|
3565
4082
|
```typescript
|
|
3566
|
-
|
|
4083
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4084
|
+
|
|
4085
|
+
new LinuxUbuntuComponents()
|
|
3567
4086
|
```
|
|
3568
4087
|
|
|
3569
|
-
|
|
4088
|
+
| **Name** | **Type** | **Description** |
|
|
4089
|
+
| --- | --- | --- |
|
|
3570
4090
|
|
|
3571
|
-
|
|
4091
|
+
---
|
|
4092
|
+
|
|
4093
|
+
|
|
4094
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
4095
|
+
|
|
4096
|
+
| **Name** | **Description** |
|
|
4097
|
+
| --- | --- |
|
|
4098
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli">awsCli</a></code> | *No description.* |
|
|
4099
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker">docker</a></code> | *No description.* |
|
|
4100
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git">git</a></code> | *No description.* |
|
|
4101
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli">githubCli</a></code> | *No description.* |
|
|
4102
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner">githubRunner</a></code> | *No description.* |
|
|
4103
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages">requiredPackages</a></code> | *No description.* |
|
|
4104
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser">runnerUser</a></code> | *No description.* |
|
|
4105
|
+
|
|
4106
|
+
---
|
|
4107
|
+
|
|
4108
|
+
##### `awsCli` <a name="awsCli" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli"></a>
|
|
4109
|
+
|
|
4110
|
+
```typescript
|
|
4111
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4112
|
+
|
|
4113
|
+
LinuxUbuntuComponents.awsCli(scope: Construct, id: string, architecture: Architecture)
|
|
4114
|
+
```
|
|
4115
|
+
|
|
4116
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.scope"></a>
|
|
4117
|
+
|
|
4118
|
+
- *Type:* constructs.Construct
|
|
4119
|
+
|
|
4120
|
+
---
|
|
4121
|
+
|
|
4122
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.id"></a>
|
|
4123
|
+
|
|
4124
|
+
- *Type:* string
|
|
4125
|
+
|
|
4126
|
+
---
|
|
4127
|
+
|
|
4128
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.awsCli.parameter.architecture"></a>
|
|
4129
|
+
|
|
4130
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4131
|
+
|
|
4132
|
+
---
|
|
4133
|
+
|
|
4134
|
+
##### `docker` <a name="docker" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker"></a>
|
|
4135
|
+
|
|
4136
|
+
```typescript
|
|
4137
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4138
|
+
|
|
4139
|
+
LinuxUbuntuComponents.docker(scope: Construct, id: string, _architecture: Architecture)
|
|
4140
|
+
```
|
|
4141
|
+
|
|
4142
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter.scope"></a>
|
|
4143
|
+
|
|
4144
|
+
- *Type:* constructs.Construct
|
|
4145
|
+
|
|
4146
|
+
---
|
|
4147
|
+
|
|
4148
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter.id"></a>
|
|
4149
|
+
|
|
4150
|
+
- *Type:* string
|
|
4151
|
+
|
|
4152
|
+
---
|
|
4153
|
+
|
|
4154
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.docker.parameter._architecture"></a>
|
|
4155
|
+
|
|
4156
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4157
|
+
|
|
4158
|
+
---
|
|
4159
|
+
|
|
4160
|
+
##### `git` <a name="git" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git"></a>
|
|
4161
|
+
|
|
4162
|
+
```typescript
|
|
4163
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4164
|
+
|
|
4165
|
+
LinuxUbuntuComponents.git(scope: Construct, id: string, _architecture: Architecture)
|
|
4166
|
+
```
|
|
4167
|
+
|
|
4168
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter.scope"></a>
|
|
4169
|
+
|
|
4170
|
+
- *Type:* constructs.Construct
|
|
4171
|
+
|
|
4172
|
+
---
|
|
4173
|
+
|
|
4174
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter.id"></a>
|
|
4175
|
+
|
|
4176
|
+
- *Type:* string
|
|
4177
|
+
|
|
4178
|
+
---
|
|
4179
|
+
|
|
4180
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.git.parameter._architecture"></a>
|
|
4181
|
+
|
|
4182
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4183
|
+
|
|
4184
|
+
---
|
|
4185
|
+
|
|
4186
|
+
##### `githubCli` <a name="githubCli" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli"></a>
|
|
4187
|
+
|
|
4188
|
+
```typescript
|
|
4189
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4190
|
+
|
|
4191
|
+
LinuxUbuntuComponents.githubCli(scope: Construct, id: string, _architecture: Architecture)
|
|
4192
|
+
```
|
|
4193
|
+
|
|
4194
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter.scope"></a>
|
|
4195
|
+
|
|
4196
|
+
- *Type:* constructs.Construct
|
|
4197
|
+
|
|
4198
|
+
---
|
|
4199
|
+
|
|
4200
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter.id"></a>
|
|
4201
|
+
|
|
4202
|
+
- *Type:* string
|
|
4203
|
+
|
|
4204
|
+
---
|
|
4205
|
+
|
|
4206
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubCli.parameter._architecture"></a>
|
|
4207
|
+
|
|
4208
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4209
|
+
|
|
4210
|
+
---
|
|
4211
|
+
|
|
4212
|
+
##### `githubRunner` <a name="githubRunner" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner"></a>
|
|
4213
|
+
|
|
4214
|
+
```typescript
|
|
4215
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4216
|
+
|
|
4217
|
+
LinuxUbuntuComponents.githubRunner(scope: Construct, id: string, runnerVersion: RunnerVersion, architecture: Architecture)
|
|
4218
|
+
```
|
|
4219
|
+
|
|
4220
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.scope"></a>
|
|
4221
|
+
|
|
4222
|
+
- *Type:* constructs.Construct
|
|
4223
|
+
|
|
4224
|
+
---
|
|
4225
|
+
|
|
4226
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.id"></a>
|
|
4227
|
+
|
|
4228
|
+
- *Type:* string
|
|
4229
|
+
|
|
4230
|
+
---
|
|
4231
|
+
|
|
4232
|
+
###### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.runnerVersion"></a>
|
|
4233
|
+
|
|
4234
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
4235
|
+
|
|
4236
|
+
---
|
|
4237
|
+
|
|
4238
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.githubRunner.parameter.architecture"></a>
|
|
4239
|
+
|
|
4240
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4241
|
+
|
|
4242
|
+
---
|
|
4243
|
+
|
|
4244
|
+
##### `requiredPackages` <a name="requiredPackages" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages"></a>
|
|
4245
|
+
|
|
4246
|
+
```typescript
|
|
4247
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4248
|
+
|
|
4249
|
+
LinuxUbuntuComponents.requiredPackages(scope: Construct, id: string, architecture: Architecture)
|
|
4250
|
+
```
|
|
4251
|
+
|
|
4252
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.scope"></a>
|
|
4253
|
+
|
|
4254
|
+
- *Type:* constructs.Construct
|
|
4255
|
+
|
|
4256
|
+
---
|
|
4257
|
+
|
|
4258
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.id"></a>
|
|
4259
|
+
|
|
4260
|
+
- *Type:* string
|
|
4261
|
+
|
|
4262
|
+
---
|
|
4263
|
+
|
|
4264
|
+
###### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.requiredPackages.parameter.architecture"></a>
|
|
4265
|
+
|
|
4266
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4267
|
+
|
|
4268
|
+
---
|
|
4269
|
+
|
|
4270
|
+
##### `runnerUser` <a name="runnerUser" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser"></a>
|
|
4271
|
+
|
|
4272
|
+
```typescript
|
|
4273
|
+
import { LinuxUbuntuComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4274
|
+
|
|
4275
|
+
LinuxUbuntuComponents.runnerUser(scope: Construct, id: string, _architecture: Architecture)
|
|
4276
|
+
```
|
|
4277
|
+
|
|
4278
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter.scope"></a>
|
|
4279
|
+
|
|
4280
|
+
- *Type:* constructs.Construct
|
|
4281
|
+
|
|
4282
|
+
---
|
|
4283
|
+
|
|
4284
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter.id"></a>
|
|
4285
|
+
|
|
4286
|
+
- *Type:* string
|
|
4287
|
+
|
|
4288
|
+
---
|
|
4289
|
+
|
|
4290
|
+
###### `_architecture`<sup>Required</sup> <a name="_architecture" id="@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents.runnerUser.parameter._architecture"></a>
|
|
4291
|
+
|
|
4292
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
4293
|
+
|
|
4294
|
+
---
|
|
4295
|
+
|
|
4296
|
+
|
|
4297
|
+
|
|
4298
|
+
### Os <a name="Os" id="@cloudsnorkel/cdk-github-runners.Os"></a>
|
|
4299
|
+
|
|
4300
|
+
OS enum for an image.
|
|
4301
|
+
|
|
4302
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
4303
|
+
|
|
4304
|
+
| **Name** | **Description** |
|
|
4305
|
+
| --- | --- |
|
|
4306
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.is">is</a></code> | Checks if the given OS is the same as this one. |
|
|
4307
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Os.isIn">isIn</a></code> | Checks if this OS is in a given list. |
|
|
4308
|
+
|
|
4309
|
+
---
|
|
4310
|
+
|
|
4311
|
+
##### `is` <a name="is" id="@cloudsnorkel/cdk-github-runners.Os.is"></a>
|
|
4312
|
+
|
|
4313
|
+
```typescript
|
|
4314
|
+
public is(os: Os): boolean
|
|
4315
|
+
```
|
|
4316
|
+
|
|
4317
|
+
Checks if the given OS is the same as this one.
|
|
4318
|
+
|
|
4319
|
+
###### `os`<sup>Required</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.Os.is.parameter.os"></a>
|
|
3572
4320
|
|
|
3573
4321
|
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
3574
4322
|
|
|
@@ -3576,6 +4324,22 @@ OS to compare.
|
|
|
3576
4324
|
|
|
3577
4325
|
---
|
|
3578
4326
|
|
|
4327
|
+
##### `isIn` <a name="isIn" id="@cloudsnorkel/cdk-github-runners.Os.isIn"></a>
|
|
4328
|
+
|
|
4329
|
+
```typescript
|
|
4330
|
+
public isIn(oses: Os[]): boolean
|
|
4331
|
+
```
|
|
4332
|
+
|
|
4333
|
+
Checks if this OS is in a given list.
|
|
4334
|
+
|
|
4335
|
+
###### `oses`<sup>Required</sup> <a name="oses" id="@cloudsnorkel/cdk-github-runners.Os.isIn.parameter.oses"></a>
|
|
4336
|
+
|
|
4337
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>[]
|
|
4338
|
+
|
|
4339
|
+
list of OS to check.
|
|
4340
|
+
|
|
4341
|
+
---
|
|
4342
|
+
|
|
3579
4343
|
|
|
3580
4344
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3581
4345
|
|
|
@@ -3652,6 +4416,29 @@ new RunnerVersion(version: string)
|
|
|
3652
4416
|
|
|
3653
4417
|
---
|
|
3654
4418
|
|
|
4419
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
4420
|
+
|
|
4421
|
+
| **Name** | **Description** |
|
|
4422
|
+
| --- | --- |
|
|
4423
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion.is">is</a></code> | Check if two versions are the same. |
|
|
4424
|
+
|
|
4425
|
+
---
|
|
4426
|
+
|
|
4427
|
+
##### `is` <a name="is" id="@cloudsnorkel/cdk-github-runners.RunnerVersion.is"></a>
|
|
4428
|
+
|
|
4429
|
+
```typescript
|
|
4430
|
+
public is(other: RunnerVersion): boolean
|
|
4431
|
+
```
|
|
4432
|
+
|
|
4433
|
+
Check if two versions are the same.
|
|
4434
|
+
|
|
4435
|
+
###### `other`<sup>Required</sup> <a name="other" id="@cloudsnorkel/cdk-github-runners.RunnerVersion.is.parameter.other"></a>
|
|
4436
|
+
|
|
4437
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
4438
|
+
|
|
4439
|
+
version to compare.
|
|
4440
|
+
|
|
4441
|
+
---
|
|
3655
4442
|
|
|
3656
4443
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
3657
4444
|
|
|
@@ -3834,8 +4621,198 @@ image OS.
|
|
|
3834
4621
|
|
|
3835
4622
|
|
|
3836
4623
|
|
|
4624
|
+
### WindowsComponents <a name="WindowsComponents" id="@cloudsnorkel/cdk-github-runners.WindowsComponents"></a>
|
|
4625
|
+
|
|
4626
|
+
Components for Windows that can be used with AWS Image Builder based builders.
|
|
4627
|
+
|
|
4628
|
+
These cannot be used by {@link CodeBuildImageBuilder}.
|
|
4629
|
+
|
|
4630
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.Initializer"></a>
|
|
4631
|
+
|
|
4632
|
+
```typescript
|
|
4633
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4634
|
+
|
|
4635
|
+
new WindowsComponents()
|
|
4636
|
+
```
|
|
4637
|
+
|
|
4638
|
+
| **Name** | **Type** | **Description** |
|
|
4639
|
+
| --- | --- | --- |
|
|
4640
|
+
|
|
4641
|
+
---
|
|
4642
|
+
|
|
4643
|
+
|
|
4644
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
4645
|
+
|
|
4646
|
+
| **Name** | **Description** |
|
|
4647
|
+
| --- | --- |
|
|
4648
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.awsCli">awsCli</a></code> | *No description.* |
|
|
4649
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.cloudwatchAgent">cloudwatchAgent</a></code> | *No description.* |
|
|
4650
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.docker">docker</a></code> | *No description.* |
|
|
4651
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.git">git</a></code> | *No description.* |
|
|
4652
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.githubCli">githubCli</a></code> | *No description.* |
|
|
4653
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner">githubRunner</a></code> | *No description.* |
|
|
4654
|
+
|
|
4655
|
+
---
|
|
4656
|
+
|
|
4657
|
+
##### `awsCli` <a name="awsCli" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.awsCli"></a>
|
|
4658
|
+
|
|
4659
|
+
```typescript
|
|
4660
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4661
|
+
|
|
4662
|
+
WindowsComponents.awsCli(scope: Construct, id: string)
|
|
4663
|
+
```
|
|
4664
|
+
|
|
4665
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.awsCli.parameter.scope"></a>
|
|
4666
|
+
|
|
4667
|
+
- *Type:* constructs.Construct
|
|
4668
|
+
|
|
4669
|
+
---
|
|
4670
|
+
|
|
4671
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.awsCli.parameter.id"></a>
|
|
4672
|
+
|
|
4673
|
+
- *Type:* string
|
|
4674
|
+
|
|
4675
|
+
---
|
|
4676
|
+
|
|
4677
|
+
##### `cloudwatchAgent` <a name="cloudwatchAgent" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.cloudwatchAgent"></a>
|
|
4678
|
+
|
|
4679
|
+
```typescript
|
|
4680
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4681
|
+
|
|
4682
|
+
WindowsComponents.cloudwatchAgent(scope: Construct, id: string)
|
|
4683
|
+
```
|
|
4684
|
+
|
|
4685
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.cloudwatchAgent.parameter.scope"></a>
|
|
4686
|
+
|
|
4687
|
+
- *Type:* constructs.Construct
|
|
4688
|
+
|
|
4689
|
+
---
|
|
4690
|
+
|
|
4691
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.cloudwatchAgent.parameter.id"></a>
|
|
4692
|
+
|
|
4693
|
+
- *Type:* string
|
|
4694
|
+
|
|
4695
|
+
---
|
|
4696
|
+
|
|
4697
|
+
##### `docker` <a name="docker" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.docker"></a>
|
|
4698
|
+
|
|
4699
|
+
```typescript
|
|
4700
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4701
|
+
|
|
4702
|
+
WindowsComponents.docker(scope: Construct, id: string)
|
|
4703
|
+
```
|
|
4704
|
+
|
|
4705
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.docker.parameter.scope"></a>
|
|
4706
|
+
|
|
4707
|
+
- *Type:* constructs.Construct
|
|
4708
|
+
|
|
4709
|
+
---
|
|
4710
|
+
|
|
4711
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.docker.parameter.id"></a>
|
|
4712
|
+
|
|
4713
|
+
- *Type:* string
|
|
4714
|
+
|
|
4715
|
+
---
|
|
4716
|
+
|
|
4717
|
+
##### `git` <a name="git" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.git"></a>
|
|
4718
|
+
|
|
4719
|
+
```typescript
|
|
4720
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4721
|
+
|
|
4722
|
+
WindowsComponents.git(scope: Construct, id: string)
|
|
4723
|
+
```
|
|
4724
|
+
|
|
4725
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.git.parameter.scope"></a>
|
|
4726
|
+
|
|
4727
|
+
- *Type:* constructs.Construct
|
|
4728
|
+
|
|
4729
|
+
---
|
|
4730
|
+
|
|
4731
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.git.parameter.id"></a>
|
|
4732
|
+
|
|
4733
|
+
- *Type:* string
|
|
4734
|
+
|
|
4735
|
+
---
|
|
4736
|
+
|
|
4737
|
+
##### `githubCli` <a name="githubCli" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubCli"></a>
|
|
4738
|
+
|
|
4739
|
+
```typescript
|
|
4740
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4741
|
+
|
|
4742
|
+
WindowsComponents.githubCli(scope: Construct, id: string)
|
|
4743
|
+
```
|
|
4744
|
+
|
|
4745
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubCli.parameter.scope"></a>
|
|
4746
|
+
|
|
4747
|
+
- *Type:* constructs.Construct
|
|
4748
|
+
|
|
4749
|
+
---
|
|
4750
|
+
|
|
4751
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubCli.parameter.id"></a>
|
|
4752
|
+
|
|
4753
|
+
- *Type:* string
|
|
4754
|
+
|
|
4755
|
+
---
|
|
4756
|
+
|
|
4757
|
+
##### `githubRunner` <a name="githubRunner" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner"></a>
|
|
4758
|
+
|
|
4759
|
+
```typescript
|
|
4760
|
+
import { WindowsComponents } from '@cloudsnorkel/cdk-github-runners'
|
|
4761
|
+
|
|
4762
|
+
WindowsComponents.githubRunner(scope: Construct, id: string, runnerVersion: RunnerVersion)
|
|
4763
|
+
```
|
|
4764
|
+
|
|
4765
|
+
###### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner.parameter.scope"></a>
|
|
4766
|
+
|
|
4767
|
+
- *Type:* constructs.Construct
|
|
4768
|
+
|
|
4769
|
+
---
|
|
4770
|
+
|
|
4771
|
+
###### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner.parameter.id"></a>
|
|
4772
|
+
|
|
4773
|
+
- *Type:* string
|
|
4774
|
+
|
|
4775
|
+
---
|
|
4776
|
+
|
|
4777
|
+
###### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.WindowsComponents.githubRunner.parameter.runnerVersion"></a>
|
|
4778
|
+
|
|
4779
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
4780
|
+
|
|
4781
|
+
---
|
|
4782
|
+
|
|
4783
|
+
|
|
4784
|
+
|
|
3837
4785
|
## Protocols <a name="Protocols" id="Protocols"></a>
|
|
3838
4786
|
|
|
4787
|
+
### IAmiBuilder <a name="IAmiBuilder" id="@cloudsnorkel/cdk-github-runners.IAmiBuilder"></a>
|
|
4788
|
+
|
|
4789
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a>
|
|
4790
|
+
|
|
4791
|
+
Interface for constructs that build an AMI that can be used in {@link IRunnerProvider}.
|
|
4792
|
+
|
|
4793
|
+
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.
|
|
4794
|
+
|
|
4795
|
+
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.
|
|
4796
|
+
|
|
4797
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
4798
|
+
|
|
4799
|
+
| **Name** | **Description** |
|
|
4800
|
+
| --- | --- |
|
|
4801
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder.bind">bind</a></code> | Finalize and return all required information about the AMI built by this builder. |
|
|
4802
|
+
|
|
4803
|
+
---
|
|
4804
|
+
|
|
4805
|
+
##### `bind` <a name="bind" id="@cloudsnorkel/cdk-github-runners.IAmiBuilder.bind"></a>
|
|
4806
|
+
|
|
4807
|
+
```typescript
|
|
4808
|
+
public bind(): RunnerAmi
|
|
4809
|
+
```
|
|
4810
|
+
|
|
4811
|
+
Finalize and return all required information about the AMI built by this builder.
|
|
4812
|
+
|
|
4813
|
+
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.
|
|
4814
|
+
|
|
4815
|
+
|
|
3839
4816
|
### IImageBuilder <a name="IImageBuilder" id="@cloudsnorkel/cdk-github-runners.IImageBuilder"></a>
|
|
3840
4817
|
|
|
3841
4818
|
- *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>
|
|
@@ -3852,7 +4829,7 @@ The image can be further updated over time manually or using a schedule as long
|
|
|
3852
4829
|
|
|
3853
4830
|
| **Name** | **Description** |
|
|
3854
4831
|
| --- | --- |
|
|
3855
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder.bind">bind</a></code> |
|
|
4832
|
+
| <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. |
|
|
3856
4833
|
|
|
3857
4834
|
---
|
|
3858
4835
|
|
|
@@ -3862,41 +4839,69 @@ The image can be further updated over time manually or using a schedule as long
|
|
|
3862
4839
|
public bind(): RunnerImage
|
|
3863
4840
|
```
|
|
3864
4841
|
|
|
3865
|
-
|
|
4842
|
+
Finalize and return all required information about the Docker image built by this builder.
|
|
3866
4843
|
|
|
3867
4844
|
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.
|
|
3868
4845
|
|
|
3869
4846
|
|
|
3870
|
-
###
|
|
4847
|
+
### IRunnerAmiStatus <a name="IRunnerAmiStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus"></a>
|
|
3871
4848
|
|
|
3872
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
4849
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus">IRunnerAmiStatus</a>
|
|
3873
4850
|
|
|
3874
|
-
|
|
4851
|
+
AMI status returned from runner providers to be displayed as output of status function.
|
|
3875
4852
|
|
|
3876
4853
|
|
|
3877
4854
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3878
4855
|
|
|
3879
4856
|
| **Name** | **Type** | **Description** |
|
|
3880
4857
|
| --- | --- | --- |
|
|
3881
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
3882
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
3883
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag">imageTag</a></code> | <code>string</code> | Tag of image that should be used. |
|
|
4858
|
+
| <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. |
|
|
4859
|
+
| <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. |
|
|
3884
4860
|
|
|
3885
4861
|
---
|
|
3886
4862
|
|
|
3887
|
-
##### `
|
|
4863
|
+
##### `launchTemplate`<sup>Required</sup> <a name="launchTemplate" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.launchTemplate"></a>
|
|
3888
4864
|
|
|
3889
4865
|
```typescript
|
|
3890
|
-
public readonly
|
|
4866
|
+
public readonly launchTemplate: string;
|
|
3891
4867
|
```
|
|
3892
4868
|
|
|
3893
4869
|
- *Type:* string
|
|
3894
4870
|
|
|
3895
|
-
|
|
4871
|
+
Id of launch template pointing to the latest AMI built by the AMI builder.
|
|
4872
|
+
|
|
4873
|
+
---
|
|
4874
|
+
|
|
4875
|
+
##### `amiBuilderLogGroup`<sup>Optional</sup> <a name="amiBuilderLogGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus.property.amiBuilderLogGroup"></a>
|
|
4876
|
+
|
|
4877
|
+
```typescript
|
|
4878
|
+
public readonly amiBuilderLogGroup: string;
|
|
4879
|
+
```
|
|
4880
|
+
|
|
4881
|
+
- *Type:* string
|
|
4882
|
+
|
|
4883
|
+
Log group name for the AMI builder where history of builds can be analyzed.
|
|
4884
|
+
|
|
4885
|
+
---
|
|
4886
|
+
|
|
4887
|
+
### IRunnerImageStatus <a name="IRunnerImageStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"></a>
|
|
4888
|
+
|
|
4889
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus">IRunnerImageStatus</a>
|
|
4890
|
+
|
|
4891
|
+
Image status returned from runner providers to be displayed in status.json.
|
|
4892
|
+
|
|
4893
|
+
|
|
4894
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
4895
|
+
|
|
4896
|
+
| **Name** | **Type** | **Description** |
|
|
4897
|
+
| --- | --- | --- |
|
|
4898
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository">imageRepository</a></code> | <code>string</code> | Image repository where image builder pushes runner images. |
|
|
4899
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag">imageTag</a></code> | <code>string</code> | Tag of image that should be used. |
|
|
4900
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageBuilderLogGroup">imageBuilderLogGroup</a></code> | <code>string</code> | Log group name for the image builder where history of image builds can be analyzed. |
|
|
3896
4901
|
|
|
3897
4902
|
---
|
|
3898
4903
|
|
|
3899
|
-
##### `imageRepository`<sup>
|
|
4904
|
+
##### `imageRepository`<sup>Required</sup> <a name="imageRepository" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository"></a>
|
|
3900
4905
|
|
|
3901
4906
|
```typescript
|
|
3902
4907
|
public readonly imageRepository: string;
|
|
@@ -3904,11 +4909,11 @@ public readonly imageRepository: string;
|
|
|
3904
4909
|
|
|
3905
4910
|
- *Type:* string
|
|
3906
4911
|
|
|
3907
|
-
Image repository where
|
|
4912
|
+
Image repository where image builder pushes runner images.
|
|
3908
4913
|
|
|
3909
4914
|
---
|
|
3910
4915
|
|
|
3911
|
-
##### `imageTag`<sup>
|
|
4916
|
+
##### `imageTag`<sup>Required</sup> <a name="imageTag" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag"></a>
|
|
3912
4917
|
|
|
3913
4918
|
```typescript
|
|
3914
4919
|
public readonly imageTag: string;
|
|
@@ -3920,11 +4925,23 @@ Tag of image that should be used.
|
|
|
3920
4925
|
|
|
3921
4926
|
---
|
|
3922
4927
|
|
|
4928
|
+
##### `imageBuilderLogGroup`<sup>Optional</sup> <a name="imageBuilderLogGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageBuilderLogGroup"></a>
|
|
4929
|
+
|
|
4930
|
+
```typescript
|
|
4931
|
+
public readonly imageBuilderLogGroup: string;
|
|
4932
|
+
```
|
|
4933
|
+
|
|
4934
|
+
- *Type:* string
|
|
4935
|
+
|
|
4936
|
+
Log group name for the image builder where history of image builds can be analyzed.
|
|
4937
|
+
|
|
4938
|
+
---
|
|
4939
|
+
|
|
3923
4940
|
### IRunnerProvider <a name="IRunnerProvider" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider"></a>
|
|
3924
4941
|
|
|
3925
4942
|
- *Extends:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable
|
|
3926
4943
|
|
|
3927
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
4944
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner">Ec2Runner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
3928
4945
|
|
|
3929
4946
|
Interface for all runner providers.
|
|
3930
4947
|
|
|
@@ -3935,6 +4952,8 @@ Implementations create all required resources and return a step function task th
|
|
|
3935
4952
|
| **Name** | **Description** |
|
|
3936
4953
|
| --- | --- |
|
|
3937
4954
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function tasks that execute the runner. |
|
|
4955
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
4956
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
3938
4957
|
|
|
3939
4958
|
---
|
|
3940
4959
|
|
|
@@ -3956,13 +4975,49 @@ specific build parameters.
|
|
|
3956
4975
|
|
|
3957
4976
|
---
|
|
3958
4977
|
|
|
4978
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.grantStateMachine"></a>
|
|
4979
|
+
|
|
4980
|
+
```typescript
|
|
4981
|
+
public grantStateMachine(stateMachineRole: IGrantable): void
|
|
4982
|
+
```
|
|
4983
|
+
|
|
4984
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
4985
|
+
|
|
4986
|
+
This can be used to add additional policy
|
|
4987
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
4988
|
+
|
|
4989
|
+
###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.grantStateMachine.parameter.stateMachineRole"></a>
|
|
4990
|
+
|
|
4991
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
4992
|
+
|
|
4993
|
+
role for the state machine that executes the task returned from {@link getStepFunctionTask}.
|
|
4994
|
+
|
|
4995
|
+
---
|
|
4996
|
+
|
|
4997
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.status"></a>
|
|
4998
|
+
|
|
4999
|
+
```typescript
|
|
5000
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
5001
|
+
```
|
|
5002
|
+
|
|
5003
|
+
Return status of the runner provider to be used in the main status function.
|
|
5004
|
+
|
|
5005
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
5006
|
+
|
|
5007
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.status.parameter.statusFunctionRole"></a>
|
|
5008
|
+
|
|
5009
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
5010
|
+
|
|
5011
|
+
grantable for the status function.
|
|
5012
|
+
|
|
5013
|
+
---
|
|
5014
|
+
|
|
3959
5015
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
3960
5016
|
|
|
3961
5017
|
| **Name** | **Type** | **Description** |
|
|
3962
5018
|
| --- | --- | --- |
|
|
3963
5019
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
3964
5020
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | The principal to grant permissions to. |
|
|
3965
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a></code> | Image used to create a new resource compute. |
|
|
3966
5021
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
3967
5022
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group associated with runners. |
|
|
3968
5023
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC network in which runners will be placed. |
|
|
@@ -3993,20 +5048,6 @@ The principal to grant permissions to.
|
|
|
3993
5048
|
|
|
3994
5049
|
---
|
|
3995
5050
|
|
|
3996
|
-
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.image"></a>
|
|
3997
|
-
|
|
3998
|
-
```typescript
|
|
3999
|
-
public readonly image: RunnerImage;
|
|
4000
|
-
```
|
|
4001
|
-
|
|
4002
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
4003
|
-
|
|
4004
|
-
Image used to create a new resource compute.
|
|
4005
|
-
|
|
4006
|
-
Can be Docker image, AMI, or something else.
|
|
4007
|
-
|
|
4008
|
-
---
|
|
4009
|
-
|
|
4010
5051
|
##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.labels"></a>
|
|
4011
5052
|
|
|
4012
5053
|
```typescript
|
|
@@ -4047,3 +5088,108 @@ VPC network in which runners will be placed.
|
|
|
4047
5088
|
|
|
4048
5089
|
---
|
|
4049
5090
|
|
|
5091
|
+
### IRunnerProviderStatus <a name="IRunnerProviderStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"></a>
|
|
5092
|
+
|
|
5093
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus">IRunnerProviderStatus</a>
|
|
5094
|
+
|
|
5095
|
+
Interface for runner image status used by status.json.
|
|
5096
|
+
|
|
5097
|
+
|
|
5098
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
5099
|
+
|
|
5100
|
+
| **Name** | **Type** | **Description** |
|
|
5101
|
+
| --- | --- | --- |
|
|
5102
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with provider. |
|
|
5103
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.type">type</a></code> | <code>string</code> | Runner provider type. |
|
|
5104
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.ami">ami</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus">IRunnerAmiStatus</a></code> | Details about AMI used by this runner provider. |
|
|
5105
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.image">image</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus">IRunnerImageStatus</a></code> | Details about Docker image used by this runner provider. |
|
|
5106
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.roleArn">roleArn</a></code> | <code>string</code> | Role attached to runners. |
|
|
5107
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.securityGroup">securityGroup</a></code> | <code>string</code> | Security group attached to runners. |
|
|
5108
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.vpcArn">vpcArn</a></code> | <code>string</code> | VPC where runners will be launched. |
|
|
5109
|
+
|
|
5110
|
+
---
|
|
5111
|
+
|
|
5112
|
+
##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.labels"></a>
|
|
5113
|
+
|
|
5114
|
+
```typescript
|
|
5115
|
+
public readonly labels: string[];
|
|
5116
|
+
```
|
|
5117
|
+
|
|
5118
|
+
- *Type:* string[]
|
|
5119
|
+
|
|
5120
|
+
Labels associated with provider.
|
|
5121
|
+
|
|
5122
|
+
---
|
|
5123
|
+
|
|
5124
|
+
##### `type`<sup>Required</sup> <a name="type" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.type"></a>
|
|
5125
|
+
|
|
5126
|
+
```typescript
|
|
5127
|
+
public readonly type: string;
|
|
5128
|
+
```
|
|
5129
|
+
|
|
5130
|
+
- *Type:* string
|
|
5131
|
+
|
|
5132
|
+
Runner provider type.
|
|
5133
|
+
|
|
5134
|
+
---
|
|
5135
|
+
|
|
5136
|
+
##### `ami`<sup>Optional</sup> <a name="ami" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.ami"></a>
|
|
5137
|
+
|
|
5138
|
+
```typescript
|
|
5139
|
+
public readonly ami: IRunnerAmiStatus;
|
|
5140
|
+
```
|
|
5141
|
+
|
|
5142
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus">IRunnerAmiStatus</a>
|
|
5143
|
+
|
|
5144
|
+
Details about AMI used by this runner provider.
|
|
5145
|
+
|
|
5146
|
+
---
|
|
5147
|
+
|
|
5148
|
+
##### `image`<sup>Optional</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.image"></a>
|
|
5149
|
+
|
|
5150
|
+
```typescript
|
|
5151
|
+
public readonly image: IRunnerImageStatus;
|
|
5152
|
+
```
|
|
5153
|
+
|
|
5154
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus">IRunnerImageStatus</a>
|
|
5155
|
+
|
|
5156
|
+
Details about Docker image used by this runner provider.
|
|
5157
|
+
|
|
5158
|
+
---
|
|
5159
|
+
|
|
5160
|
+
##### `roleArn`<sup>Optional</sup> <a name="roleArn" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.roleArn"></a>
|
|
5161
|
+
|
|
5162
|
+
```typescript
|
|
5163
|
+
public readonly roleArn: string;
|
|
5164
|
+
```
|
|
5165
|
+
|
|
5166
|
+
- *Type:* string
|
|
5167
|
+
|
|
5168
|
+
Role attached to runners.
|
|
5169
|
+
|
|
5170
|
+
---
|
|
5171
|
+
|
|
5172
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.securityGroup"></a>
|
|
5173
|
+
|
|
5174
|
+
```typescript
|
|
5175
|
+
public readonly securityGroup: string;
|
|
5176
|
+
```
|
|
5177
|
+
|
|
5178
|
+
- *Type:* string
|
|
5179
|
+
|
|
5180
|
+
Security group attached to runners.
|
|
5181
|
+
|
|
5182
|
+
---
|
|
5183
|
+
|
|
5184
|
+
##### `vpcArn`<sup>Optional</sup> <a name="vpcArn" id="@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus.property.vpcArn"></a>
|
|
5185
|
+
|
|
5186
|
+
```typescript
|
|
5187
|
+
public readonly vpcArn: string;
|
|
5188
|
+
```
|
|
5189
|
+
|
|
5190
|
+
- *Type:* string
|
|
5191
|
+
|
|
5192
|
+
VPC where runners will be launched.
|
|
5193
|
+
|
|
5194
|
+
---
|
|
5195
|
+
|