@cloudsnorkel/cdk-github-runners 0.3.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/.jsii +1413 -431
- package/API.md +1082 -126
- package/README.md +12 -10
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/lambdas/aws-image-builder-versioner/index.js +2469 -0
- package/lib/lambdas/build-image/index.js +77 -43
- package/lib/lambdas/delete-runner/index.js +114 -79
- package/lib/lambdas/setup/index.html +10 -10
- package/lib/lambdas/setup/index.js +27 -12
- package/lib/lambdas/status/index.js +147 -82
- package/lib/lambdas/token-retriever/index.js +114 -79
- package/lib/lambdas/update-lambda/index.js +5 -2
- package/lib/lambdas/webhook-handler/index.js +11 -5
- package/lib/providers/codebuild.d.ts +5 -1
- package/lib/providers/codebuild.js +16 -6
- package/lib/providers/common.d.ts +25 -6
- package/lib/providers/common.js +4 -4
- package/lib/providers/docker-images/fargate/linux-arm64/Dockerfile +0 -2
- package/lib/providers/docker-images/fargate/linux-x64/Dockerfile +0 -3
- package/lib/providers/fargate.d.ts +6 -1
- package/lib/providers/fargate.js +56 -15
- package/lib/providers/image-builders/codebuild.d.ts +6 -2
- package/lib/providers/image-builders/codebuild.js +14 -11
- package/lib/providers/image-builders/container.d.ts +220 -0
- package/lib/providers/image-builders/container.js +509 -0
- package/lib/providers/image-builders/static.js +2 -3
- package/lib/providers/lambda.d.ts +6 -1
- package/lib/providers/lambda.js +79 -8
- package/lib/runner.js +29 -13
- package/lib/secrets.js +1 -1
- package/package.json +16 -12
- package/lib/providers/docker-images/fargate/linux-arm64/runner.sh +0 -5
- package/lib/providers/docker-images/fargate/linux-x64/runner.sh +0 -5
package/API.md
CHANGED
|
@@ -23,7 +23,7 @@ const builder = new CodeBuildImageBuilder(this, 'Builder', {
|
|
|
23
23
|
rebuildInterval: Duration.days(14),
|
|
24
24
|
});
|
|
25
25
|
builder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');
|
|
26
|
-
new
|
|
26
|
+
new FargateRunner(this, 'Fargate provider', {
|
|
27
27
|
label: 'customized-fargate',
|
|
28
28
|
imageBuilder: builder,
|
|
29
29
|
});
|
|
@@ -380,6 +380,7 @@ Any object.
|
|
|
380
380
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
381
381
|
| <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
382
|
| <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 in CodeBuild project. |
|
|
383
384
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.label">label</a></code> | <code>string</code> | Label associated with this provider. |
|
|
384
385
|
| <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. |
|
|
385
386
|
| <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. |
|
|
@@ -423,6 +424,18 @@ Grant principal used to add permissions to the runner role.
|
|
|
423
424
|
|
|
424
425
|
---
|
|
425
426
|
|
|
427
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.image"></a>
|
|
428
|
+
|
|
429
|
+
```typescript
|
|
430
|
+
public readonly image: RunnerImage;
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
434
|
+
|
|
435
|
+
Docker image in CodeBuild project.
|
|
436
|
+
|
|
437
|
+
---
|
|
438
|
+
|
|
426
439
|
##### `label`<sup>Required</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunner.property.label"></a>
|
|
427
440
|
|
|
428
441
|
```typescript
|
|
@@ -524,6 +537,322 @@ Available build arguments that can be set in the image builder:
|
|
|
524
537
|
|
|
525
538
|
---
|
|
526
539
|
|
|
540
|
+
### ContainerImageBuilder <a name="ContainerImageBuilder" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder"></a>
|
|
541
|
+
|
|
542
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
543
|
+
|
|
544
|
+
An image builder that uses Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements.
|
|
545
|
+
|
|
546
|
+
Builders can be used with runner providers.
|
|
547
|
+
|
|
548
|
+
The CodeBuild builder is better and faster. Only use this one if you have no choice. For example, if you need Windows containers.
|
|
549
|
+
|
|
550
|
+
Each builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.
|
|
551
|
+
|
|
552
|
+
You can create an instance of this construct to customize the image used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation. The default components work with CodeBuild and Fargate.
|
|
553
|
+
|
|
554
|
+
For example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:
|
|
555
|
+
|
|
556
|
+
```
|
|
557
|
+
const builder = new ContainerImageBuilder(this, 'Builder', {
|
|
558
|
+
runnerVersion: RunnerVersion.specific('2.293.0'),
|
|
559
|
+
rebuildInterval: Duration.days(14),
|
|
560
|
+
});
|
|
561
|
+
new CodeBuildRunner(this, 'CodeBuild provider', {
|
|
562
|
+
label: 'windows-codebuild',
|
|
563
|
+
imageBuilder: builder,
|
|
564
|
+
});
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer"></a>
|
|
568
|
+
|
|
569
|
+
```typescript
|
|
570
|
+
import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
|
|
571
|
+
|
|
572
|
+
new ContainerImageBuilder(scope: Construct, id: string, props?: ContainerImageBuilderProps)
|
|
573
|
+
```
|
|
574
|
+
|
|
575
|
+
| **Name** | **Type** | **Description** |
|
|
576
|
+
| --- | --- | --- |
|
|
577
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
578
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
579
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a></code> | *No description.* |
|
|
580
|
+
|
|
581
|
+
---
|
|
582
|
+
|
|
583
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.scope"></a>
|
|
584
|
+
|
|
585
|
+
- *Type:* constructs.Construct
|
|
586
|
+
|
|
587
|
+
---
|
|
588
|
+
|
|
589
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.id"></a>
|
|
590
|
+
|
|
591
|
+
- *Type:* string
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.Initializer.parameter.props"></a>
|
|
596
|
+
|
|
597
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps">ContainerImageBuilderProps</a>
|
|
598
|
+
|
|
599
|
+
---
|
|
600
|
+
|
|
601
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
602
|
+
|
|
603
|
+
| **Name** | **Description** |
|
|
604
|
+
| --- | --- |
|
|
605
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
606
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent">addComponent</a></code> | Add a component to be installed. |
|
|
607
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates">addExtraCertificates</a></code> | Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server. |
|
|
608
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind">bind</a></code> | Called by IRunnerProvider to finalize settings and create the image builder. |
|
|
609
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent">prependComponent</a></code> | Add a component to be installed before any other components. |
|
|
610
|
+
|
|
611
|
+
---
|
|
612
|
+
|
|
613
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.toString"></a>
|
|
614
|
+
|
|
615
|
+
```typescript
|
|
616
|
+
public toString(): string
|
|
617
|
+
```
|
|
618
|
+
|
|
619
|
+
Returns a string representation of this construct.
|
|
620
|
+
|
|
621
|
+
##### `addComponent` <a name="addComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent"></a>
|
|
622
|
+
|
|
623
|
+
```typescript
|
|
624
|
+
public addComponent(component: ImageBuilderComponent): void
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
Add a component to be installed.
|
|
628
|
+
|
|
629
|
+
###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addComponent.parameter.component"></a>
|
|
630
|
+
|
|
631
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
|
|
632
|
+
|
|
633
|
+
---
|
|
634
|
+
|
|
635
|
+
##### `addExtraCertificates` <a name="addExtraCertificates" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates"></a>
|
|
636
|
+
|
|
637
|
+
```typescript
|
|
638
|
+
public addExtraCertificates(path: string): void
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server.
|
|
642
|
+
|
|
643
|
+
All first party Dockerfiles support this. Others may not.
|
|
644
|
+
|
|
645
|
+
###### `path`<sup>Required</sup> <a name="path" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.addExtraCertificates.parameter.path"></a>
|
|
646
|
+
|
|
647
|
+
- *Type:* string
|
|
648
|
+
|
|
649
|
+
path to directory containing a file called certs.pem containing all the required certificates.
|
|
650
|
+
|
|
651
|
+
---
|
|
652
|
+
|
|
653
|
+
##### `bind` <a name="bind" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.bind"></a>
|
|
654
|
+
|
|
655
|
+
```typescript
|
|
656
|
+
public bind(): RunnerImage
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
Called by IRunnerProvider to finalize settings and create the image builder.
|
|
660
|
+
|
|
661
|
+
##### `prependComponent` <a name="prependComponent" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent"></a>
|
|
662
|
+
|
|
663
|
+
```typescript
|
|
664
|
+
public prependComponent(component: ImageBuilderComponent): void
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
Add a component to be installed before any other components.
|
|
668
|
+
|
|
669
|
+
Useful for required system settings like certificates or proxy settings.
|
|
670
|
+
|
|
671
|
+
###### `component`<sup>Required</sup> <a name="component" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.prependComponent.parameter.component"></a>
|
|
672
|
+
|
|
673
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent">ImageBuilderComponent</a>
|
|
674
|
+
|
|
675
|
+
---
|
|
676
|
+
|
|
677
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
678
|
+
|
|
679
|
+
| **Name** | **Description** |
|
|
680
|
+
| --- | --- |
|
|
681
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
682
|
+
|
|
683
|
+
---
|
|
684
|
+
|
|
685
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct"></a>
|
|
686
|
+
|
|
687
|
+
```typescript
|
|
688
|
+
import { ContainerImageBuilder } from '@cloudsnorkel/cdk-github-runners'
|
|
689
|
+
|
|
690
|
+
ContainerImageBuilder.isConstruct(x: any)
|
|
691
|
+
```
|
|
692
|
+
|
|
693
|
+
Checks if `x` is a construct.
|
|
694
|
+
|
|
695
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.isConstruct.parameter.x"></a>
|
|
696
|
+
|
|
697
|
+
- *Type:* any
|
|
698
|
+
|
|
699
|
+
Any object.
|
|
700
|
+
|
|
701
|
+
---
|
|
702
|
+
|
|
703
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
704
|
+
|
|
705
|
+
| **Name** | **Type** | **Description** |
|
|
706
|
+
| --- | --- | --- |
|
|
707
|
+
| <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
|
+
| <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
|
+
|
|
721
|
+
---
|
|
722
|
+
|
|
723
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.node"></a>
|
|
724
|
+
|
|
725
|
+
```typescript
|
|
726
|
+
public readonly node: Node;
|
|
727
|
+
```
|
|
728
|
+
|
|
729
|
+
- *Type:* constructs.Node
|
|
730
|
+
|
|
731
|
+
The tree node.
|
|
732
|
+
|
|
733
|
+
---
|
|
734
|
+
|
|
735
|
+
##### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.architecture"></a>
|
|
736
|
+
|
|
737
|
+
```typescript
|
|
738
|
+
public readonly architecture: Architecture;
|
|
739
|
+
```
|
|
740
|
+
|
|
741
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
742
|
+
|
|
743
|
+
---
|
|
744
|
+
|
|
745
|
+
##### `description`<sup>Required</sup> <a name="description" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.description"></a>
|
|
746
|
+
|
|
747
|
+
```typescript
|
|
748
|
+
public readonly description: string;
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
- *Type:* string
|
|
752
|
+
|
|
753
|
+
---
|
|
754
|
+
|
|
755
|
+
##### `instanceTypes`<sup>Required</sup> <a name="instanceTypes" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.instanceTypes"></a>
|
|
756
|
+
|
|
757
|
+
```typescript
|
|
758
|
+
public readonly instanceTypes: string[];
|
|
759
|
+
```
|
|
760
|
+
|
|
761
|
+
- *Type:* string[]
|
|
762
|
+
|
|
763
|
+
---
|
|
764
|
+
|
|
765
|
+
##### `logRemovalPolicy`<sup>Required</sup> <a name="logRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.logRemovalPolicy"></a>
|
|
766
|
+
|
|
767
|
+
```typescript
|
|
768
|
+
public readonly logRemovalPolicy: RemovalPolicy;
|
|
769
|
+
```
|
|
770
|
+
|
|
771
|
+
- *Type:* aws-cdk-lib.RemovalPolicy
|
|
772
|
+
|
|
773
|
+
---
|
|
774
|
+
|
|
775
|
+
##### `logRetention`<sup>Required</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.logRetention"></a>
|
|
776
|
+
|
|
777
|
+
```typescript
|
|
778
|
+
public readonly logRetention: RetentionDays;
|
|
779
|
+
```
|
|
780
|
+
|
|
781
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
782
|
+
|
|
783
|
+
---
|
|
784
|
+
|
|
785
|
+
##### `os`<sup>Required</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.os"></a>
|
|
786
|
+
|
|
787
|
+
```typescript
|
|
788
|
+
public readonly os: Os;
|
|
789
|
+
```
|
|
790
|
+
|
|
791
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
792
|
+
|
|
793
|
+
---
|
|
794
|
+
|
|
795
|
+
##### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.platform"></a>
|
|
796
|
+
|
|
797
|
+
```typescript
|
|
798
|
+
public readonly platform: string;
|
|
799
|
+
```
|
|
800
|
+
|
|
801
|
+
- *Type:* string
|
|
802
|
+
|
|
803
|
+
---
|
|
804
|
+
|
|
805
|
+
##### `rebuildInterval`<sup>Required</sup> <a name="rebuildInterval" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.rebuildInterval"></a>
|
|
806
|
+
|
|
807
|
+
```typescript
|
|
808
|
+
public readonly rebuildInterval: Duration;
|
|
809
|
+
```
|
|
810
|
+
|
|
811
|
+
- *Type:* aws-cdk-lib.Duration
|
|
812
|
+
|
|
813
|
+
---
|
|
814
|
+
|
|
815
|
+
##### `repository`<sup>Required</sup> <a name="repository" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.repository"></a>
|
|
816
|
+
|
|
817
|
+
```typescript
|
|
818
|
+
public readonly repository: IRepository;
|
|
819
|
+
```
|
|
820
|
+
|
|
821
|
+
- *Type:* aws-cdk-lib.aws_ecr.IRepository
|
|
822
|
+
|
|
823
|
+
---
|
|
824
|
+
|
|
825
|
+
##### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.runnerVersion"></a>
|
|
826
|
+
|
|
827
|
+
```typescript
|
|
828
|
+
public readonly runnerVersion: RunnerVersion;
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
832
|
+
|
|
833
|
+
---
|
|
834
|
+
|
|
835
|
+
##### `securityGroupIds`<sup>Optional</sup> <a name="securityGroupIds" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.securityGroupIds"></a>
|
|
836
|
+
|
|
837
|
+
```typescript
|
|
838
|
+
public readonly securityGroupIds: string[];
|
|
839
|
+
```
|
|
840
|
+
|
|
841
|
+
- *Type:* string[]
|
|
842
|
+
|
|
843
|
+
---
|
|
844
|
+
|
|
845
|
+
##### `subnetId`<sup>Optional</sup> <a name="subnetId" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilder.property.subnetId"></a>
|
|
846
|
+
|
|
847
|
+
```typescript
|
|
848
|
+
public readonly subnetId: string;
|
|
849
|
+
```
|
|
850
|
+
|
|
851
|
+
- *Type:* string
|
|
852
|
+
|
|
853
|
+
---
|
|
854
|
+
|
|
855
|
+
|
|
527
856
|
### FargateRunner <a name="FargateRunner" id="@cloudsnorkel/cdk-github-runners.FargateRunner"></a>
|
|
528
857
|
|
|
529
858
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
@@ -639,6 +968,7 @@ Any object.
|
|
|
639
968
|
| <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. |
|
|
640
969
|
| <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. |
|
|
641
970
|
| <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 used to start a new Fargate task. |
|
|
642
972
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.label">label</a></code> | <code>string</code> | Label associated with this provider. |
|
|
643
973
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.FargateRunner.property.spot">spot</a></code> | <code>boolean</code> | Use spot pricing for Fargate tasks. |
|
|
644
974
|
| <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. |
|
|
@@ -719,6 +1049,18 @@ Grant principal used to add permissions to the runner role.
|
|
|
719
1049
|
|
|
720
1050
|
---
|
|
721
1051
|
|
|
1052
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.image"></a>
|
|
1053
|
+
|
|
1054
|
+
```typescript
|
|
1055
|
+
public readonly image: RunnerImage;
|
|
1056
|
+
```
|
|
1057
|
+
|
|
1058
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
1059
|
+
|
|
1060
|
+
Docker image used to start a new Fargate task.
|
|
1061
|
+
|
|
1062
|
+
---
|
|
1063
|
+
|
|
722
1064
|
##### `label`<sup>Required</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.FargateRunner.property.label"></a>
|
|
723
1065
|
|
|
724
1066
|
```typescript
|
|
@@ -881,65 +1223,263 @@ new GitHubRunners(scope: Construct, id: string, props?: GitHubRunnersProps)
|
|
|
881
1223
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
882
1224
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps">GitHubRunnersProps</a></code> | *No description.* |
|
|
883
1225
|
|
|
884
|
-
---
|
|
1226
|
+
---
|
|
1227
|
+
|
|
1228
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.scope"></a>
|
|
1229
|
+
|
|
1230
|
+
- *Type:* constructs.Construct
|
|
1231
|
+
|
|
1232
|
+
---
|
|
1233
|
+
|
|
1234
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.id"></a>
|
|
1235
|
+
|
|
1236
|
+
- *Type:* string
|
|
1237
|
+
|
|
1238
|
+
---
|
|
1239
|
+
|
|
1240
|
+
##### `props`<sup>Optional</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.props"></a>
|
|
1241
|
+
|
|
1242
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.GitHubRunnersProps">GitHubRunnersProps</a>
|
|
1243
|
+
|
|
1244
|
+
---
|
|
1245
|
+
|
|
1246
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
1247
|
+
|
|
1248
|
+
| **Name** | **Description** |
|
|
1249
|
+
| --- | --- |
|
|
1250
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1251
|
+
|
|
1252
|
+
---
|
|
1253
|
+
|
|
1254
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.toString"></a>
|
|
1255
|
+
|
|
1256
|
+
```typescript
|
|
1257
|
+
public toString(): string
|
|
1258
|
+
```
|
|
1259
|
+
|
|
1260
|
+
Returns a string representation of this construct.
|
|
1261
|
+
|
|
1262
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
1263
|
+
|
|
1264
|
+
| **Name** | **Description** |
|
|
1265
|
+
| --- | --- |
|
|
1266
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
1267
|
+
|
|
1268
|
+
---
|
|
1269
|
+
|
|
1270
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.isConstruct"></a>
|
|
1271
|
+
|
|
1272
|
+
```typescript
|
|
1273
|
+
import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners'
|
|
1274
|
+
|
|
1275
|
+
GitHubRunners.isConstruct(x: any)
|
|
1276
|
+
```
|
|
1277
|
+
|
|
1278
|
+
Checks if `x` is a construct.
|
|
1279
|
+
|
|
1280
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.isConstruct.parameter.x"></a>
|
|
1281
|
+
|
|
1282
|
+
- *Type:* any
|
|
1283
|
+
|
|
1284
|
+
Any object.
|
|
1285
|
+
|
|
1286
|
+
---
|
|
1287
|
+
|
|
1288
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
1289
|
+
|
|
1290
|
+
| **Name** | **Type** | **Description** |
|
|
1291
|
+
| --- | --- | --- |
|
|
1292
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
1293
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.property.providers">providers</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>[]</code> | Configured runner providers. |
|
|
1294
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.property.secrets">secrets</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Secrets">Secrets</a></code> | Secrets for GitHub communication including webhook secret and runner authentication. |
|
|
1295
|
+
|
|
1296
|
+
---
|
|
1297
|
+
|
|
1298
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.property.node"></a>
|
|
1299
|
+
|
|
1300
|
+
```typescript
|
|
1301
|
+
public readonly node: Node;
|
|
1302
|
+
```
|
|
1303
|
+
|
|
1304
|
+
- *Type:* constructs.Node
|
|
1305
|
+
|
|
1306
|
+
The tree node.
|
|
1307
|
+
|
|
1308
|
+
---
|
|
1309
|
+
|
|
1310
|
+
##### `providers`<sup>Required</sup> <a name="providers" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.property.providers"></a>
|
|
1311
|
+
|
|
1312
|
+
```typescript
|
|
1313
|
+
public readonly providers: IRunnerProvider[];
|
|
1314
|
+
```
|
|
1315
|
+
|
|
1316
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>[]
|
|
1317
|
+
|
|
1318
|
+
Configured runner providers.
|
|
1319
|
+
|
|
1320
|
+
---
|
|
1321
|
+
|
|
1322
|
+
##### `secrets`<sup>Required</sup> <a name="secrets" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.property.secrets"></a>
|
|
1323
|
+
|
|
1324
|
+
```typescript
|
|
1325
|
+
public readonly secrets: Secrets;
|
|
1326
|
+
```
|
|
1327
|
+
|
|
1328
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Secrets">Secrets</a>
|
|
1329
|
+
|
|
1330
|
+
Secrets for GitHub communication including webhook secret and runner authentication.
|
|
1331
|
+
|
|
1332
|
+
---
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
### ImageBuilderComponent <a name="ImageBuilderComponent" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"></a>
|
|
1336
|
+
|
|
1337
|
+
Components are a set of commands to run and optional files to add to an image.
|
|
1338
|
+
|
|
1339
|
+
Components are the building blocks of images built by Image Builder.
|
|
1340
|
+
|
|
1341
|
+
Example:
|
|
1342
|
+
|
|
1343
|
+
```
|
|
1344
|
+
new ImageBuilderComponent(this, 'AWS CLI', {
|
|
1345
|
+
platform: 'Windows',
|
|
1346
|
+
displayName: 'AWS CLI',
|
|
1347
|
+
description: 'Install latest version of AWS CLI',
|
|
1348
|
+
commands: [
|
|
1349
|
+
'$ErrorActionPreference = \'Stop\'',
|
|
1350
|
+
'Start-Process msiexec.exe -Wait -ArgumentList \'/i https://awscli.amazonaws.com/AWSCLIV2.msi /qn\'',
|
|
1351
|
+
],
|
|
1352
|
+
}
|
|
1353
|
+
```
|
|
1354
|
+
|
|
1355
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer"></a>
|
|
1356
|
+
|
|
1357
|
+
```typescript
|
|
1358
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
1359
|
+
|
|
1360
|
+
new ImageBuilderComponent(scope: Construct, id: string, props: ImageBuilderComponentProperties)
|
|
1361
|
+
```
|
|
1362
|
+
|
|
1363
|
+
| **Name** | **Type** | **Description** |
|
|
1364
|
+
| --- | --- | --- |
|
|
1365
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
1366
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
1367
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a></code> | *No description.* |
|
|
1368
|
+
|
|
1369
|
+
---
|
|
1370
|
+
|
|
1371
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope"></a>
|
|
1372
|
+
|
|
1373
|
+
- *Type:* constructs.Construct
|
|
1374
|
+
|
|
1375
|
+
---
|
|
1376
|
+
|
|
1377
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id"></a>
|
|
1378
|
+
|
|
1379
|
+
- *Type:* string
|
|
1380
|
+
|
|
1381
|
+
---
|
|
1382
|
+
|
|
1383
|
+
##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props"></a>
|
|
1384
|
+
|
|
1385
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a>
|
|
1386
|
+
|
|
1387
|
+
---
|
|
1388
|
+
|
|
1389
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
1390
|
+
|
|
1391
|
+
| **Name** | **Description** |
|
|
1392
|
+
| --- | --- |
|
|
1393
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
1394
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy">applyRemovalPolicy</a></code> | Apply the given removal policy to this resource. |
|
|
1395
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead">grantAssetsRead</a></code> | Grants read permissions to the principal on the assets buckets. |
|
|
1396
|
+
|
|
1397
|
+
---
|
|
1398
|
+
|
|
1399
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString"></a>
|
|
1400
|
+
|
|
1401
|
+
```typescript
|
|
1402
|
+
public toString(): string
|
|
1403
|
+
```
|
|
1404
|
+
|
|
1405
|
+
Returns a string representation of this construct.
|
|
1406
|
+
|
|
1407
|
+
##### `applyRemovalPolicy` <a name="applyRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy"></a>
|
|
1408
|
+
|
|
1409
|
+
```typescript
|
|
1410
|
+
public applyRemovalPolicy(policy: RemovalPolicy): void
|
|
1411
|
+
```
|
|
1412
|
+
|
|
1413
|
+
Apply the given removal policy to this resource.
|
|
885
1414
|
|
|
886
|
-
|
|
1415
|
+
The Removal Policy controls what happens to this resource when it stops
|
|
1416
|
+
being managed by CloudFormation, either because you've removed it from the
|
|
1417
|
+
CDK application or because you've made a change that requires the resource
|
|
1418
|
+
to be replaced.
|
|
887
1419
|
|
|
888
|
-
|
|
1420
|
+
The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
|
|
1421
|
+
account for data recovery and cleanup later (`RemovalPolicy.RETAIN`).
|
|
1422
|
+
|
|
1423
|
+
###### `policy`<sup>Required</sup> <a name="policy" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.applyRemovalPolicy.parameter.policy"></a>
|
|
1424
|
+
|
|
1425
|
+
- *Type:* aws-cdk-lib.RemovalPolicy
|
|
889
1426
|
|
|
890
1427
|
---
|
|
891
1428
|
|
|
892
|
-
##### `
|
|
1429
|
+
##### `grantAssetsRead` <a name="grantAssetsRead" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead"></a>
|
|
893
1430
|
|
|
894
|
-
|
|
1431
|
+
```typescript
|
|
1432
|
+
public grantAssetsRead(grantee: IGrantable): void
|
|
1433
|
+
```
|
|
895
1434
|
|
|
896
|
-
|
|
1435
|
+
Grants read permissions to the principal on the assets buckets.
|
|
897
1436
|
|
|
898
|
-
|
|
1437
|
+
###### `grantee`<sup>Required</sup> <a name="grantee" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead.parameter.grantee"></a>
|
|
899
1438
|
|
|
900
|
-
- *Type:*
|
|
1439
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
901
1440
|
|
|
902
1441
|
---
|
|
903
1442
|
|
|
904
|
-
####
|
|
1443
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
905
1444
|
|
|
906
1445
|
| **Name** | **Description** |
|
|
907
1446
|
| --- | --- |
|
|
908
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
1447
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
1448
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource">isResource</a></code> | Check whether the given construct is a Resource. |
|
|
909
1449
|
|
|
910
1450
|
---
|
|
911
1451
|
|
|
912
|
-
#####
|
|
1452
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct"></a>
|
|
913
1453
|
|
|
914
1454
|
```typescript
|
|
915
|
-
|
|
1455
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
1456
|
+
|
|
1457
|
+
ImageBuilderComponent.isConstruct(x: any)
|
|
916
1458
|
```
|
|
917
1459
|
|
|
918
|
-
|
|
1460
|
+
Checks if `x` is a construct.
|
|
919
1461
|
|
|
920
|
-
|
|
1462
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct.parameter.x"></a>
|
|
921
1463
|
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
1464
|
+
- *Type:* any
|
|
1465
|
+
|
|
1466
|
+
Any object.
|
|
925
1467
|
|
|
926
1468
|
---
|
|
927
1469
|
|
|
928
|
-
#####
|
|
1470
|
+
##### `isResource` <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
|
|
929
1471
|
|
|
930
1472
|
```typescript
|
|
931
|
-
import {
|
|
1473
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
932
1474
|
|
|
933
|
-
|
|
1475
|
+
ImageBuilderComponent.isResource(construct: IConstruct)
|
|
934
1476
|
```
|
|
935
1477
|
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.GitHubRunners.isConstruct.parameter.x"></a>
|
|
1478
|
+
Check whether the given construct is a Resource.
|
|
939
1479
|
|
|
940
|
-
|
|
1480
|
+
###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource.parameter.construct"></a>
|
|
941
1481
|
|
|
942
|
-
|
|
1482
|
+
- *Type:* constructs.IConstruct
|
|
943
1483
|
|
|
944
1484
|
---
|
|
945
1485
|
|
|
@@ -947,13 +1487,15 @@ Any object.
|
|
|
947
1487
|
|
|
948
1488
|
| **Name** | **Type** | **Description** |
|
|
949
1489
|
| --- | --- | --- |
|
|
950
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
951
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
952
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
1490
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
1491
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env">env</a></code> | <code>aws-cdk-lib.ResourceEnvironment</code> | The environment this resource belongs to. |
|
|
1492
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack">stack</a></code> | <code>aws-cdk-lib.Stack</code> | The stack in which this resource is defined. |
|
|
1493
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn">arn</a></code> | <code>string</code> | Component ARN. |
|
|
1494
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform">platform</a></code> | <code>string</code> | Supported platform for the component. |
|
|
953
1495
|
|
|
954
1496
|
---
|
|
955
1497
|
|
|
956
|
-
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.
|
|
1498
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.node"></a>
|
|
957
1499
|
|
|
958
1500
|
```typescript
|
|
959
1501
|
public readonly node: Node;
|
|
@@ -965,27 +1507,58 @@ The tree node.
|
|
|
965
1507
|
|
|
966
1508
|
---
|
|
967
1509
|
|
|
968
|
-
##### `
|
|
1510
|
+
##### `env`<sup>Required</sup> <a name="env" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.env"></a>
|
|
969
1511
|
|
|
970
1512
|
```typescript
|
|
971
|
-
public readonly
|
|
1513
|
+
public readonly env: ResourceEnvironment;
|
|
972
1514
|
```
|
|
973
1515
|
|
|
974
|
-
- *Type:*
|
|
1516
|
+
- *Type:* aws-cdk-lib.ResourceEnvironment
|
|
975
1517
|
|
|
976
|
-
|
|
1518
|
+
The environment this resource belongs to.
|
|
1519
|
+
|
|
1520
|
+
For resources that are created and managed by the CDK
|
|
1521
|
+
(generally, those created by creating new class instances like Role, Bucket, etc.),
|
|
1522
|
+
this is always the same as the environment of the stack they belong to;
|
|
1523
|
+
however, for imported resources
|
|
1524
|
+
(those obtained from static methods like fromRoleArn, fromBucketName, etc.),
|
|
1525
|
+
that might be different than the stack they were imported into.
|
|
977
1526
|
|
|
978
1527
|
---
|
|
979
1528
|
|
|
980
|
-
##### `
|
|
1529
|
+
##### `stack`<sup>Required</sup> <a name="stack" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.stack"></a>
|
|
981
1530
|
|
|
982
1531
|
```typescript
|
|
983
|
-
public readonly
|
|
1532
|
+
public readonly stack: Stack;
|
|
984
1533
|
```
|
|
985
1534
|
|
|
986
|
-
- *Type:*
|
|
1535
|
+
- *Type:* aws-cdk-lib.Stack
|
|
987
1536
|
|
|
988
|
-
|
|
1537
|
+
The stack in which this resource is defined.
|
|
1538
|
+
|
|
1539
|
+
---
|
|
1540
|
+
|
|
1541
|
+
##### `arn`<sup>Required</sup> <a name="arn" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.arn"></a>
|
|
1542
|
+
|
|
1543
|
+
```typescript
|
|
1544
|
+
public readonly arn: string;
|
|
1545
|
+
```
|
|
1546
|
+
|
|
1547
|
+
- *Type:* string
|
|
1548
|
+
|
|
1549
|
+
Component ARN.
|
|
1550
|
+
|
|
1551
|
+
---
|
|
1552
|
+
|
|
1553
|
+
##### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.property.platform"></a>
|
|
1554
|
+
|
|
1555
|
+
```typescript
|
|
1556
|
+
public readonly platform: string;
|
|
1557
|
+
```
|
|
1558
|
+
|
|
1559
|
+
- *Type:* string
|
|
1560
|
+
|
|
1561
|
+
Supported platform for the component.
|
|
989
1562
|
|
|
990
1563
|
---
|
|
991
1564
|
|
|
@@ -1103,6 +1676,7 @@ Any object.
|
|
|
1103
1676
|
| <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. |
|
|
1104
1677
|
| <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. |
|
|
1105
1678
|
| <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. |
|
|
1679
|
+
| <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 used to start Lambda function. |
|
|
1106
1680
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner.property.label">label</a></code> | <code>string</code> | Label associated with this provider. |
|
|
1107
1681
|
| <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. |
|
|
1108
1682
|
| <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. |
|
|
@@ -1157,6 +1731,18 @@ Grant principal used to add permissions to the runner role.
|
|
|
1157
1731
|
|
|
1158
1732
|
---
|
|
1159
1733
|
|
|
1734
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.image"></a>
|
|
1735
|
+
|
|
1736
|
+
```typescript
|
|
1737
|
+
public readonly image: RunnerImage;
|
|
1738
|
+
```
|
|
1739
|
+
|
|
1740
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
1741
|
+
|
|
1742
|
+
Docker image used to start Lambda function.
|
|
1743
|
+
|
|
1744
|
+
---
|
|
1745
|
+
|
|
1160
1746
|
##### `label`<sup>Required</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.LambdaRunner.property.label"></a>
|
|
1161
1747
|
|
|
1162
1748
|
```typescript
|
|
@@ -1422,7 +2008,7 @@ const codeBuildImageBuilderProps: CodeBuildImageBuilderProps = { ... }
|
|
|
1422
2008
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to this instance. |
|
|
1423
2009
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
1424
2010
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
1425
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to
|
|
2011
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to build the image in. |
|
|
1426
2012
|
|
|
1427
2013
|
---
|
|
1428
2014
|
|
|
@@ -1571,61 +2157,248 @@ Where to place the network interfaces within the VPC.
|
|
|
1571
2157
|
|
|
1572
2158
|
---
|
|
1573
2159
|
|
|
1574
|
-
##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.timeout"></a>
|
|
2160
|
+
##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.timeout"></a>
|
|
2161
|
+
|
|
2162
|
+
```typescript
|
|
2163
|
+
public readonly timeout: Duration;
|
|
2164
|
+
```
|
|
2165
|
+
|
|
2166
|
+
- *Type:* aws-cdk-lib.Duration
|
|
2167
|
+
- *Default:* Duration.hours(1)
|
|
2168
|
+
|
|
2169
|
+
The number of minutes after which AWS CodeBuild stops the build if it's not complete.
|
|
2170
|
+
|
|
2171
|
+
For valid values, see the timeoutInMinutes field in the AWS
|
|
2172
|
+
CodeBuild User Guide.
|
|
2173
|
+
|
|
2174
|
+
---
|
|
2175
|
+
|
|
2176
|
+
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps.property.vpc"></a>
|
|
2177
|
+
|
|
2178
|
+
```typescript
|
|
2179
|
+
public readonly vpc: IVpc;
|
|
2180
|
+
```
|
|
2181
|
+
|
|
2182
|
+
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
2183
|
+
- *Default:* no VPC
|
|
2184
|
+
|
|
2185
|
+
VPC to build the image in.
|
|
2186
|
+
|
|
2187
|
+
---
|
|
2188
|
+
|
|
2189
|
+
### CodeBuildRunnerProps <a name="CodeBuildRunnerProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps"></a>
|
|
2190
|
+
|
|
2191
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.Initializer"></a>
|
|
2192
|
+
|
|
2193
|
+
```typescript
|
|
2194
|
+
import { CodeBuildRunnerProps } from '@cloudsnorkel/cdk-github-runners'
|
|
2195
|
+
|
|
2196
|
+
const codeBuildRunnerProps: CodeBuildRunnerProps = { ... }
|
|
2197
|
+
```
|
|
2198
|
+
|
|
2199
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2200
|
+
|
|
2201
|
+
| **Name** | **Type** | **Description** |
|
|
2202
|
+
| --- | --- | --- |
|
|
2203
|
+
| <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. |
|
|
2204
|
+
| <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. |
|
|
2205
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.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. |
|
|
2206
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
2207
|
+
| <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. |
|
|
2208
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
2209
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
2210
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
2211
|
+
|
|
2212
|
+
---
|
|
2213
|
+
|
|
2214
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.logRetention"></a>
|
|
2215
|
+
|
|
2216
|
+
```typescript
|
|
2217
|
+
public readonly logRetention: RetentionDays;
|
|
2218
|
+
```
|
|
2219
|
+
|
|
2220
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
2221
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
2222
|
+
|
|
2223
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
2224
|
+
|
|
2225
|
+
When updating
|
|
2226
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
2227
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
2228
|
+
|
|
2229
|
+
---
|
|
2230
|
+
|
|
2231
|
+
##### `computeType`<sup>Optional</sup> <a name="computeType" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.computeType"></a>
|
|
2232
|
+
|
|
2233
|
+
```typescript
|
|
2234
|
+
public readonly computeType: ComputeType;
|
|
2235
|
+
```
|
|
2236
|
+
|
|
2237
|
+
- *Type:* aws-cdk-lib.aws_codebuild.ComputeType
|
|
2238
|
+
- *Default:* {@link ComputeType#SMALL}
|
|
2239
|
+
|
|
2240
|
+
The type of compute to use for this build.
|
|
2241
|
+
|
|
2242
|
+
See the {@link ComputeType} enum for the possible values.
|
|
2243
|
+
|
|
2244
|
+
---
|
|
2245
|
+
|
|
2246
|
+
##### `imageBuilder`<sup>Optional</sup> <a name="imageBuilder" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.imageBuilder"></a>
|
|
2247
|
+
|
|
2248
|
+
```typescript
|
|
2249
|
+
public readonly imageBuilder: IImageBuilder;
|
|
2250
|
+
```
|
|
2251
|
+
|
|
2252
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
2253
|
+
- *Default:* image builder with `CodeBuildRunner.LINUX_X64_DOCKERFILE_PATH` as Dockerfile
|
|
2254
|
+
|
|
2255
|
+
Provider running an image to run inside CodeBuild with GitHub runner pre-configured.
|
|
2256
|
+
|
|
2257
|
+
A user named `runner` is expected to exist with access to Docker-in-Docker.
|
|
2258
|
+
|
|
2259
|
+
---
|
|
2260
|
+
|
|
2261
|
+
##### `label`<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label"></a>
|
|
2262
|
+
|
|
2263
|
+
```typescript
|
|
2264
|
+
public readonly label: string;
|
|
2265
|
+
```
|
|
2266
|
+
|
|
2267
|
+
- *Type:* string
|
|
2268
|
+
- *Default:* 'codebuild'
|
|
2269
|
+
|
|
2270
|
+
GitHub Actions label used for this provider.
|
|
2271
|
+
|
|
2272
|
+
---
|
|
2273
|
+
|
|
2274
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.securityGroup"></a>
|
|
2275
|
+
|
|
2276
|
+
```typescript
|
|
2277
|
+
public readonly securityGroup: ISecurityGroup;
|
|
2278
|
+
```
|
|
2279
|
+
|
|
2280
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
2281
|
+
- *Default:* public project with no security group
|
|
2282
|
+
|
|
2283
|
+
Security Group to assign to this instance.
|
|
2284
|
+
|
|
2285
|
+
---
|
|
2286
|
+
|
|
2287
|
+
##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.subnetSelection"></a>
|
|
2288
|
+
|
|
2289
|
+
```typescript
|
|
2290
|
+
public readonly subnetSelection: SubnetSelection;
|
|
2291
|
+
```
|
|
2292
|
+
|
|
2293
|
+
- *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
|
|
2294
|
+
- *Default:* no subnet
|
|
2295
|
+
|
|
2296
|
+
Where to place the network interfaces within the VPC.
|
|
2297
|
+
|
|
2298
|
+
---
|
|
2299
|
+
|
|
2300
|
+
##### `timeout`<sup>Optional</sup> <a name="timeout" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.timeout"></a>
|
|
2301
|
+
|
|
2302
|
+
```typescript
|
|
2303
|
+
public readonly timeout: Duration;
|
|
2304
|
+
```
|
|
2305
|
+
|
|
2306
|
+
- *Type:* aws-cdk-lib.Duration
|
|
2307
|
+
- *Default:* Duration.hours(1)
|
|
2308
|
+
|
|
2309
|
+
The number of minutes after which AWS CodeBuild stops the build if it's not complete.
|
|
2310
|
+
|
|
2311
|
+
For valid values, see the timeoutInMinutes field in the AWS
|
|
2312
|
+
CodeBuild User Guide.
|
|
2313
|
+
|
|
2314
|
+
---
|
|
2315
|
+
|
|
2316
|
+
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc"></a>
|
|
2317
|
+
|
|
2318
|
+
```typescript
|
|
2319
|
+
public readonly vpc: IVpc;
|
|
2320
|
+
```
|
|
2321
|
+
|
|
2322
|
+
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
2323
|
+
- *Default:* no VPC
|
|
2324
|
+
|
|
2325
|
+
VPC to launch the runners in.
|
|
2326
|
+
|
|
2327
|
+
---
|
|
2328
|
+
|
|
2329
|
+
### ContainerImageBuilderProps <a name="ContainerImageBuilderProps" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps"></a>
|
|
2330
|
+
|
|
2331
|
+
Properties for ContainerImageBuilder construct.
|
|
2332
|
+
|
|
2333
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.Initializer"></a>
|
|
2334
|
+
|
|
2335
|
+
```typescript
|
|
2336
|
+
import { ContainerImageBuilderProps } from '@cloudsnorkel/cdk-github-runners'
|
|
2337
|
+
|
|
2338
|
+
const containerImageBuilderProps: ContainerImageBuilderProps = { ... }
|
|
2339
|
+
```
|
|
2340
|
+
|
|
2341
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2342
|
+
|
|
2343
|
+
| **Name** | **Type** | **Description** |
|
|
2344
|
+
| --- | --- | --- |
|
|
2345
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Image architecture. |
|
|
2346
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | The instance type used to build the image. |
|
|
2347
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.logRemovalPolicy">logRemovalPolicy</a></code> | <code>aws-cdk-lib.RemovalPolicy</code> | Removal policy for logs of image builds. |
|
|
2348
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
2349
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | Image OS. |
|
|
2350
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.rebuildInterval">rebuildInterval</a></code> | <code>aws-cdk-lib.Duration</code> | Schedule the image to be rebuilt every given interval. |
|
|
2351
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | Version of GitHub Runners to install. |
|
|
2352
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to this instance. |
|
|
2353
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
2354
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
2355
|
+
|
|
2356
|
+
---
|
|
2357
|
+
|
|
2358
|
+
##### `architecture`<sup>Optional</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.architecture"></a>
|
|
1575
2359
|
|
|
1576
2360
|
```typescript
|
|
1577
|
-
public readonly
|
|
2361
|
+
public readonly architecture: Architecture;
|
|
1578
2362
|
```
|
|
1579
2363
|
|
|
1580
|
-
- *Type:*
|
|
1581
|
-
- *Default:*
|
|
1582
|
-
|
|
1583
|
-
The number of minutes after which AWS CodeBuild stops the build if it's not complete.
|
|
2364
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
2365
|
+
- *Default:* Architecture.X86_64
|
|
1584
2366
|
|
|
1585
|
-
|
|
1586
|
-
CodeBuild User Guide.
|
|
2367
|
+
Image architecture.
|
|
1587
2368
|
|
|
1588
2369
|
---
|
|
1589
2370
|
|
|
1590
|
-
##### `
|
|
2371
|
+
##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.instanceType"></a>
|
|
1591
2372
|
|
|
1592
2373
|
```typescript
|
|
1593
|
-
public readonly
|
|
2374
|
+
public readonly instanceType: InstanceType;
|
|
1594
2375
|
```
|
|
1595
2376
|
|
|
1596
|
-
- *Type:* aws-cdk-lib.aws_ec2.
|
|
1597
|
-
- *Default:*
|
|
2377
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
2378
|
+
- *Default:* m5.large
|
|
1598
2379
|
|
|
1599
|
-
|
|
2380
|
+
The instance type used to build the image.
|
|
1600
2381
|
|
|
1601
2382
|
---
|
|
1602
2383
|
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.Initializer"></a>
|
|
2384
|
+
##### `logRemovalPolicy`<sup>Optional</sup> <a name="logRemovalPolicy" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.logRemovalPolicy"></a>
|
|
1606
2385
|
|
|
1607
2386
|
```typescript
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
const codeBuildRunnerProps: CodeBuildRunnerProps = { ... }
|
|
2387
|
+
public readonly logRemovalPolicy: RemovalPolicy;
|
|
1611
2388
|
```
|
|
1612
2389
|
|
|
1613
|
-
|
|
2390
|
+
- *Type:* aws-cdk-lib.RemovalPolicy
|
|
2391
|
+
- *Default:* RemovalPolicy.DESTROY
|
|
1614
2392
|
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.label">label</a></code> | <code>string</code> | GitHub Actions label used for this provider. |
|
|
1621
|
-
| <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. |
|
|
1622
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
1623
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.timeout">timeout</a></code> | <code>aws-cdk-lib.Duration</code> | The number of minutes after which AWS CodeBuild stops the build if it's not complete. |
|
|
1624
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC to launch the runners in. |
|
|
2393
|
+
Removal policy for logs of image builds.
|
|
2394
|
+
|
|
2395
|
+
If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the CodeBuild logs can still be viewed, and you can see why the build failed.
|
|
2396
|
+
|
|
2397
|
+
We try to not leave anything behind when removed. But sometimes a log staying behind is useful.
|
|
1625
2398
|
|
|
1626
2399
|
---
|
|
1627
2400
|
|
|
1628
|
-
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.
|
|
2401
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.logRetention"></a>
|
|
1629
2402
|
|
|
1630
2403
|
```typescript
|
|
1631
2404
|
public readonly logRetention: RetentionDays;
|
|
@@ -1642,99 +2415,83 @@ remove the retention policy, set the value to `INFINITE`.
|
|
|
1642
2415
|
|
|
1643
2416
|
---
|
|
1644
2417
|
|
|
1645
|
-
##### `
|
|
2418
|
+
##### `os`<sup>Optional</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.os"></a>
|
|
1646
2419
|
|
|
1647
2420
|
```typescript
|
|
1648
|
-
public readonly
|
|
2421
|
+
public readonly os: Os;
|
|
1649
2422
|
```
|
|
1650
2423
|
|
|
1651
|
-
- *Type:*
|
|
1652
|
-
- *Default:*
|
|
1653
|
-
|
|
1654
|
-
The type of compute to use for this build.
|
|
2424
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
2425
|
+
- *Default:* OS.LINUX
|
|
1655
2426
|
|
|
1656
|
-
|
|
2427
|
+
Image OS.
|
|
1657
2428
|
|
|
1658
2429
|
---
|
|
1659
2430
|
|
|
1660
|
-
##### `
|
|
2431
|
+
##### `rebuildInterval`<sup>Optional</sup> <a name="rebuildInterval" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.rebuildInterval"></a>
|
|
1661
2432
|
|
|
1662
2433
|
```typescript
|
|
1663
|
-
public readonly
|
|
2434
|
+
public readonly rebuildInterval: Duration;
|
|
1664
2435
|
```
|
|
1665
2436
|
|
|
1666
|
-
- *Type:*
|
|
1667
|
-
- *Default:*
|
|
2437
|
+
- *Type:* aws-cdk-lib.Duration
|
|
2438
|
+
- *Default:* Duration.days(7)
|
|
1668
2439
|
|
|
1669
|
-
|
|
2440
|
+
Schedule the image to be rebuilt every given interval.
|
|
1670
2441
|
|
|
1671
|
-
|
|
2442
|
+
Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.
|
|
2443
|
+
|
|
2444
|
+
Set to zero to disable.
|
|
1672
2445
|
|
|
1673
2446
|
---
|
|
1674
2447
|
|
|
1675
|
-
##### `
|
|
2448
|
+
##### `runnerVersion`<sup>Optional</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.runnerVersion"></a>
|
|
1676
2449
|
|
|
1677
2450
|
```typescript
|
|
1678
|
-
public readonly
|
|
2451
|
+
public readonly runnerVersion: RunnerVersion;
|
|
1679
2452
|
```
|
|
1680
2453
|
|
|
1681
|
-
- *Type:*
|
|
1682
|
-
- *Default:*
|
|
2454
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
2455
|
+
- *Default:* latest version available
|
|
1683
2456
|
|
|
1684
|
-
|
|
2457
|
+
Version of GitHub Runners to install.
|
|
1685
2458
|
|
|
1686
2459
|
---
|
|
1687
2460
|
|
|
1688
|
-
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.
|
|
2461
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.securityGroup"></a>
|
|
1689
2462
|
|
|
1690
2463
|
```typescript
|
|
1691
2464
|
public readonly securityGroup: ISecurityGroup;
|
|
1692
2465
|
```
|
|
1693
2466
|
|
|
1694
2467
|
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
1695
|
-
- *Default:*
|
|
2468
|
+
- *Default:* default account security group
|
|
1696
2469
|
|
|
1697
2470
|
Security Group to assign to this instance.
|
|
1698
2471
|
|
|
1699
2472
|
---
|
|
1700
2473
|
|
|
1701
|
-
##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.
|
|
2474
|
+
##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.subnetSelection"></a>
|
|
1702
2475
|
|
|
1703
2476
|
```typescript
|
|
1704
2477
|
public readonly subnetSelection: SubnetSelection;
|
|
1705
2478
|
```
|
|
1706
2479
|
|
|
1707
2480
|
- *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
|
|
1708
|
-
- *Default:*
|
|
2481
|
+
- *Default:* default VPC subnet
|
|
1709
2482
|
|
|
1710
2483
|
Where to place the network interfaces within the VPC.
|
|
1711
2484
|
|
|
1712
2485
|
---
|
|
1713
2486
|
|
|
1714
|
-
##### `
|
|
1715
|
-
|
|
1716
|
-
```typescript
|
|
1717
|
-
public readonly timeout: Duration;
|
|
1718
|
-
```
|
|
1719
|
-
|
|
1720
|
-
- *Type:* aws-cdk-lib.Duration
|
|
1721
|
-
- *Default:* Duration.hours(1)
|
|
1722
|
-
|
|
1723
|
-
The number of minutes after which AWS CodeBuild stops the build if it's not complete.
|
|
1724
|
-
|
|
1725
|
-
For valid values, see the timeoutInMinutes field in the AWS
|
|
1726
|
-
CodeBuild User Guide.
|
|
1727
|
-
|
|
1728
|
-
---
|
|
1729
|
-
|
|
1730
|
-
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.property.vpc"></a>
|
|
2487
|
+
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.vpc"></a>
|
|
1731
2488
|
|
|
1732
2489
|
```typescript
|
|
1733
2490
|
public readonly vpc: IVpc;
|
|
1734
2491
|
```
|
|
1735
2492
|
|
|
1736
2493
|
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
1737
|
-
- *Default:*
|
|
2494
|
+
- *Default:* default account VPC
|
|
1738
2495
|
|
|
1739
2496
|
VPC to launch the runners in.
|
|
1740
2497
|
|
|
@@ -2096,6 +2853,139 @@ Use this with GitHub Enterprise Server hosted that's inaccessible from outside t
|
|
|
2096
2853
|
|
|
2097
2854
|
---
|
|
2098
2855
|
|
|
2856
|
+
### ImageBuilderAsset <a name="ImageBuilderAsset" id="@cloudsnorkel/cdk-github-runners.ImageBuilderAsset"></a>
|
|
2857
|
+
|
|
2858
|
+
An asset including file or directory to place inside the built image.
|
|
2859
|
+
|
|
2860
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.ImageBuilderAsset.Initializer"></a>
|
|
2861
|
+
|
|
2862
|
+
```typescript
|
|
2863
|
+
import { ImageBuilderAsset } from '@cloudsnorkel/cdk-github-runners'
|
|
2864
|
+
|
|
2865
|
+
const imageBuilderAsset: ImageBuilderAsset = { ... }
|
|
2866
|
+
```
|
|
2867
|
+
|
|
2868
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2869
|
+
|
|
2870
|
+
| **Name** | **Type** | **Description** |
|
|
2871
|
+
| --- | --- | --- |
|
|
2872
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderAsset.property.asset">asset</a></code> | <code>aws-cdk-lib.aws_s3_assets.Asset</code> | Asset to place in the image. |
|
|
2873
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderAsset.property.path">path</a></code> | <code>string</code> | Path to place asset in the image. |
|
|
2874
|
+
|
|
2875
|
+
---
|
|
2876
|
+
|
|
2877
|
+
##### `asset`<sup>Required</sup> <a name="asset" id="@cloudsnorkel/cdk-github-runners.ImageBuilderAsset.property.asset"></a>
|
|
2878
|
+
|
|
2879
|
+
```typescript
|
|
2880
|
+
public readonly asset: Asset;
|
|
2881
|
+
```
|
|
2882
|
+
|
|
2883
|
+
- *Type:* aws-cdk-lib.aws_s3_assets.Asset
|
|
2884
|
+
|
|
2885
|
+
Asset to place in the image.
|
|
2886
|
+
|
|
2887
|
+
---
|
|
2888
|
+
|
|
2889
|
+
##### `path`<sup>Required</sup> <a name="path" id="@cloudsnorkel/cdk-github-runners.ImageBuilderAsset.property.path"></a>
|
|
2890
|
+
|
|
2891
|
+
```typescript
|
|
2892
|
+
public readonly path: string;
|
|
2893
|
+
```
|
|
2894
|
+
|
|
2895
|
+
- *Type:* string
|
|
2896
|
+
|
|
2897
|
+
Path to place asset in the image.
|
|
2898
|
+
|
|
2899
|
+
---
|
|
2900
|
+
|
|
2901
|
+
### ImageBuilderComponentProperties <a name="ImageBuilderComponentProperties" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties"></a>
|
|
2902
|
+
|
|
2903
|
+
Properties for ImageBuilderComponent construct.
|
|
2904
|
+
|
|
2905
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.Initializer"></a>
|
|
2906
|
+
|
|
2907
|
+
```typescript
|
|
2908
|
+
import { ImageBuilderComponentProperties } from '@cloudsnorkel/cdk-github-runners'
|
|
2909
|
+
|
|
2910
|
+
const imageBuilderComponentProperties: ImageBuilderComponentProperties = { ... }
|
|
2911
|
+
```
|
|
2912
|
+
|
|
2913
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2914
|
+
|
|
2915
|
+
| **Name** | **Type** | **Description** |
|
|
2916
|
+
| --- | --- | --- |
|
|
2917
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to run when adding this component to the image. |
|
|
2918
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.description">description</a></code> | <code>string</code> | Component description. |
|
|
2919
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.displayName">displayName</a></code> | <code>string</code> | Component display name. |
|
|
2920
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.platform">platform</a></code> | <code>string</code> | Component platform. |
|
|
2921
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.assets">assets</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderAsset">ImageBuilderAsset</a>[]</code> | Optional assets to add to the built image. |
|
|
2922
|
+
|
|
2923
|
+
---
|
|
2924
|
+
|
|
2925
|
+
##### `commands`<sup>Required</sup> <a name="commands" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.commands"></a>
|
|
2926
|
+
|
|
2927
|
+
```typescript
|
|
2928
|
+
public readonly commands: string[];
|
|
2929
|
+
```
|
|
2930
|
+
|
|
2931
|
+
- *Type:* string[]
|
|
2932
|
+
|
|
2933
|
+
Shell commands to run when adding this component to the image.
|
|
2934
|
+
|
|
2935
|
+
On Linux, these are bash commands. On Windows, there are PowerShell commands.
|
|
2936
|
+
|
|
2937
|
+
---
|
|
2938
|
+
|
|
2939
|
+
##### `description`<sup>Required</sup> <a name="description" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.description"></a>
|
|
2940
|
+
|
|
2941
|
+
```typescript
|
|
2942
|
+
public readonly description: string;
|
|
2943
|
+
```
|
|
2944
|
+
|
|
2945
|
+
- *Type:* string
|
|
2946
|
+
|
|
2947
|
+
Component description.
|
|
2948
|
+
|
|
2949
|
+
---
|
|
2950
|
+
|
|
2951
|
+
##### `displayName`<sup>Required</sup> <a name="displayName" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.displayName"></a>
|
|
2952
|
+
|
|
2953
|
+
```typescript
|
|
2954
|
+
public readonly displayName: string;
|
|
2955
|
+
```
|
|
2956
|
+
|
|
2957
|
+
- *Type:* string
|
|
2958
|
+
|
|
2959
|
+
Component display name.
|
|
2960
|
+
|
|
2961
|
+
---
|
|
2962
|
+
|
|
2963
|
+
##### `platform`<sup>Required</sup> <a name="platform" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.platform"></a>
|
|
2964
|
+
|
|
2965
|
+
```typescript
|
|
2966
|
+
public readonly platform: string;
|
|
2967
|
+
```
|
|
2968
|
+
|
|
2969
|
+
- *Type:* string
|
|
2970
|
+
|
|
2971
|
+
Component platform.
|
|
2972
|
+
|
|
2973
|
+
Must match the builder platform.
|
|
2974
|
+
|
|
2975
|
+
---
|
|
2976
|
+
|
|
2977
|
+
##### `assets`<sup>Optional</sup> <a name="assets" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties.property.assets"></a>
|
|
2978
|
+
|
|
2979
|
+
```typescript
|
|
2980
|
+
public readonly assets: ImageBuilderAsset[];
|
|
2981
|
+
```
|
|
2982
|
+
|
|
2983
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderAsset">ImageBuilderAsset</a>[]
|
|
2984
|
+
|
|
2985
|
+
Optional assets to add to the built image.
|
|
2986
|
+
|
|
2987
|
+
---
|
|
2988
|
+
|
|
2099
2989
|
### LambdaRunnerProps <a name="LambdaRunnerProps" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps"></a>
|
|
2100
2990
|
|
|
2101
2991
|
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.LambdaRunnerProps.Initializer"></a>
|
|
@@ -2269,10 +3159,10 @@ const runnerImage: RunnerImage = { ... }
|
|
|
2269
3159
|
| **Name** | **Type** | **Description** |
|
|
2270
3160
|
| --- | --- | --- |
|
|
2271
3161
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Architecture of the image. |
|
|
2272
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageDigest">imageDigest</a></code> | <code>string</code> | Image digest for providers that need to know the digest like Lambda. |
|
|
2273
3162
|
| <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. |
|
|
2274
3163
|
| <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. |
|
|
2275
3164
|
| <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. |
|
|
3165
|
+
| <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. |
|
|
2276
3166
|
|
|
2277
3167
|
---
|
|
2278
3168
|
|
|
@@ -2288,20 +3178,6 @@ Architecture of the image.
|
|
|
2288
3178
|
|
|
2289
3179
|
---
|
|
2290
3180
|
|
|
2291
|
-
##### `imageDigest`<sup>Required</sup> <a name="imageDigest" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageDigest"></a>
|
|
2292
|
-
|
|
2293
|
-
```typescript
|
|
2294
|
-
public readonly imageDigest: string;
|
|
2295
|
-
```
|
|
2296
|
-
|
|
2297
|
-
- *Type:* string
|
|
2298
|
-
|
|
2299
|
-
Image digest for providers that need to know the digest like Lambda.
|
|
2300
|
-
|
|
2301
|
-
WARNING: the digest might change when the builder automatically rebuilds the image on a schedule. Do not expect for this digest to stay the same between deploys.
|
|
2302
|
-
|
|
2303
|
-
---
|
|
2304
|
-
|
|
2305
3181
|
##### `imageRepository`<sup>Required</sup> <a name="imageRepository" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageRepository"></a>
|
|
2306
3182
|
|
|
2307
3183
|
```typescript
|
|
@@ -2338,6 +3214,18 @@ OS type of the image.
|
|
|
2338
3214
|
|
|
2339
3215
|
---
|
|
2340
3216
|
|
|
3217
|
+
##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.logGroup"></a>
|
|
3218
|
+
|
|
3219
|
+
```typescript
|
|
3220
|
+
public readonly logGroup: LogGroup;
|
|
3221
|
+
```
|
|
3222
|
+
|
|
3223
|
+
- *Type:* aws-cdk-lib.aws_logs.LogGroup
|
|
3224
|
+
|
|
3225
|
+
Log group where image builds are logged.
|
|
3226
|
+
|
|
3227
|
+
---
|
|
3228
|
+
|
|
2341
3229
|
### RunnerProviderProps <a name="RunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps"></a>
|
|
2342
3230
|
|
|
2343
3231
|
Common properties for all runner providers.
|
|
@@ -2841,7 +3729,7 @@ image OS.
|
|
|
2841
3729
|
|
|
2842
3730
|
### IImageBuilder <a name="IImageBuilder" id="@cloudsnorkel/cdk-github-runners.IImageBuilder"></a>
|
|
2843
3731
|
|
|
2844
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder">CodeBuildImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
3732
|
+
- *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>
|
|
2845
3733
|
|
|
2846
3734
|
Interface for constructs that build an image that can be used in {@link IRunnerProvider}.
|
|
2847
3735
|
|
|
@@ -2870,6 +3758,59 @@ ECR repository containing the image.
|
|
|
2870
3758
|
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.
|
|
2871
3759
|
|
|
2872
3760
|
|
|
3761
|
+
### IRunnerImageStatus <a name="IRunnerImageStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"></a>
|
|
3762
|
+
|
|
3763
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus">IRunnerImageStatus</a>
|
|
3764
|
+
|
|
3765
|
+
Interface for runner image status used by status.json.
|
|
3766
|
+
|
|
3767
|
+
|
|
3768
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
3769
|
+
|
|
3770
|
+
| **Name** | **Type** | **Description** |
|
|
3771
|
+
| --- | --- | --- |
|
|
3772
|
+
| <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. |
|
|
3773
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository">imageRepository</a></code> | <code>string</code> | Image repository where runner image is pushed. |
|
|
3774
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag">imageTag</a></code> | <code>string</code> | Tag of image that should be used. |
|
|
3775
|
+
|
|
3776
|
+
---
|
|
3777
|
+
|
|
3778
|
+
##### `imageBuilderLogGroup`<sup>Optional</sup> <a name="imageBuilderLogGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageBuilderLogGroup"></a>
|
|
3779
|
+
|
|
3780
|
+
```typescript
|
|
3781
|
+
public readonly imageBuilderLogGroup: string;
|
|
3782
|
+
```
|
|
3783
|
+
|
|
3784
|
+
- *Type:* string
|
|
3785
|
+
|
|
3786
|
+
Log group name for the image builder where history of image builds can be analyzed.
|
|
3787
|
+
|
|
3788
|
+
---
|
|
3789
|
+
|
|
3790
|
+
##### `imageRepository`<sup>Optional</sup> <a name="imageRepository" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository"></a>
|
|
3791
|
+
|
|
3792
|
+
```typescript
|
|
3793
|
+
public readonly imageRepository: string;
|
|
3794
|
+
```
|
|
3795
|
+
|
|
3796
|
+
- *Type:* string
|
|
3797
|
+
|
|
3798
|
+
Image repository where runner image is pushed.
|
|
3799
|
+
|
|
3800
|
+
---
|
|
3801
|
+
|
|
3802
|
+
##### `imageTag`<sup>Optional</sup> <a name="imageTag" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag"></a>
|
|
3803
|
+
|
|
3804
|
+
```typescript
|
|
3805
|
+
public readonly imageTag: string;
|
|
3806
|
+
```
|
|
3807
|
+
|
|
3808
|
+
- *Type:* string
|
|
3809
|
+
|
|
3810
|
+
Tag of image that should be used.
|
|
3811
|
+
|
|
3812
|
+
---
|
|
3813
|
+
|
|
2873
3814
|
### IRunnerProvider <a name="IRunnerProvider" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider"></a>
|
|
2874
3815
|
|
|
2875
3816
|
- *Extends:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable
|
|
@@ -2912,6 +3853,7 @@ specific build parameters.
|
|
|
2912
3853
|
| --- | --- | --- |
|
|
2913
3854
|
| <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. |
|
|
2914
3855
|
| <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. |
|
|
3856
|
+
| <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. |
|
|
2915
3857
|
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.label">label</a></code> | <code>string</code> | GitHub Actions label associated with this runner provider. |
|
|
2916
3858
|
| <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. |
|
|
2917
3859
|
| <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. |
|
|
@@ -2942,6 +3884,20 @@ The principal to grant permissions to.
|
|
|
2942
3884
|
|
|
2943
3885
|
---
|
|
2944
3886
|
|
|
3887
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.image"></a>
|
|
3888
|
+
|
|
3889
|
+
```typescript
|
|
3890
|
+
public readonly image: RunnerImage;
|
|
3891
|
+
```
|
|
3892
|
+
|
|
3893
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
3894
|
+
|
|
3895
|
+
Image used to create a new resource compute.
|
|
3896
|
+
|
|
3897
|
+
Can be Docker image, AMI, or something else.
|
|
3898
|
+
|
|
3899
|
+
---
|
|
3900
|
+
|
|
2945
3901
|
##### `label`<sup>Required</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.label"></a>
|
|
2946
3902
|
|
|
2947
3903
|
```typescript
|