@cloudsnorkel/cdk-github-runners 0.3.2 → 0.4.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 +1418 -418
- package/API.md +1074 -101
- 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 +70 -42
- package/lib/lambdas/setup/index.html +9 -9
- package/lib/lambdas/setup/index.js +27 -12
- package/lib/lambdas/status/index.js +103 -45
- package/lib/lambdas/token-retriever/index.js +70 -42
- 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 +28 -1
- package/lib/providers/common.js +4 -4
- package/lib/providers/fargate.d.ts +5 -1
- package/lib/providers/fargate.js +3 -3
- package/lib/providers/image-builders/codebuild.d.ts +2 -2
- package/lib/providers/image-builders/codebuild.js +5 -4
- package/lib/providers/image-builders/container.d.ts +220 -0
- package/lib/providers/image-builders/container.js +508 -0
- package/lib/providers/image-builders/static.js +2 -3
- package/lib/providers/lambda.d.ts +5 -1
- package/lib/providers/lambda.js +19 -8
- package/lib/runner.js +29 -13
- package/lib/secrets.js +1 -1
- package/package.json +14 -12
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.
|
|
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, 'Fargate 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
|
|
@@ -877,27 +1219,170 @@ new GitHubRunners(scope: Construct, id: string, props?: GitHubRunnersProps)
|
|
|
877
1219
|
|
|
878
1220
|
| **Name** | **Type** | **Description** |
|
|
879
1221
|
| --- | --- | --- |
|
|
880
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
881
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
882
|
-
| <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.* |
|
|
1222
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
1223
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.GitHubRunners.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
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.* |
|
|
1225
|
+
|
|
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.* |
|
|
883
1368
|
|
|
884
1369
|
---
|
|
885
1370
|
|
|
886
|
-
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.
|
|
1371
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.scope"></a>
|
|
887
1372
|
|
|
888
1373
|
- *Type:* constructs.Construct
|
|
889
1374
|
|
|
890
1375
|
---
|
|
891
1376
|
|
|
892
|
-
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.
|
|
1377
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.id"></a>
|
|
893
1378
|
|
|
894
1379
|
- *Type:* string
|
|
895
1380
|
|
|
896
1381
|
---
|
|
897
1382
|
|
|
898
|
-
##### `props`<sup>
|
|
1383
|
+
##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.Initializer.parameter.props"></a>
|
|
899
1384
|
|
|
900
|
-
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.
|
|
1385
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties">ImageBuilderComponentProperties</a>
|
|
901
1386
|
|
|
902
1387
|
---
|
|
903
1388
|
|
|
@@ -905,11 +1390,13 @@ new GitHubRunners(scope: Construct, id: string, props?: GitHubRunnersProps)
|
|
|
905
1390
|
|
|
906
1391
|
| **Name** | **Description** |
|
|
907
1392
|
| --- | --- |
|
|
908
|
-
| <code><a href="#@cloudsnorkel/cdk-github-runners.
|
|
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. |
|
|
909
1396
|
|
|
910
1397
|
---
|
|
911
1398
|
|
|
912
|
-
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.
|
|
1399
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.toString"></a>
|
|
913
1400
|
|
|
914
1401
|
```typescript
|
|
915
1402
|
public toString(): string
|
|
@@ -917,25 +1404,62 @@ public toString(): string
|
|
|
917
1404
|
|
|
918
1405
|
Returns a string representation of this construct.
|
|
919
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.
|
|
1414
|
+
|
|
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.
|
|
1419
|
+
|
|
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
|
|
1426
|
+
|
|
1427
|
+
---
|
|
1428
|
+
|
|
1429
|
+
##### `grantAssetsRead` <a name="grantAssetsRead" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead"></a>
|
|
1430
|
+
|
|
1431
|
+
```typescript
|
|
1432
|
+
public grantAssetsRead(grantee: IGrantable): void
|
|
1433
|
+
```
|
|
1434
|
+
|
|
1435
|
+
Grants read permissions to the principal on the assets buckets.
|
|
1436
|
+
|
|
1437
|
+
###### `grantee`<sup>Required</sup> <a name="grantee" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.grantAssetsRead.parameter.grantee"></a>
|
|
1438
|
+
|
|
1439
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
1440
|
+
|
|
1441
|
+
---
|
|
1442
|
+
|
|
920
1443
|
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
921
1444
|
|
|
922
1445
|
| **Name** | **Description** |
|
|
923
1446
|
| --- | --- |
|
|
924
|
-
| <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. |
|
|
925
1449
|
|
|
926
1450
|
---
|
|
927
1451
|
|
|
928
|
-
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.
|
|
1452
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct"></a>
|
|
929
1453
|
|
|
930
1454
|
```typescript
|
|
931
|
-
import {
|
|
1455
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
932
1456
|
|
|
933
|
-
|
|
1457
|
+
ImageBuilderComponent.isConstruct(x: any)
|
|
934
1458
|
```
|
|
935
1459
|
|
|
936
1460
|
Checks if `x` is a construct.
|
|
937
1461
|
|
|
938
|
-
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.
|
|
1462
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isConstruct.parameter.x"></a>
|
|
939
1463
|
|
|
940
1464
|
- *Type:* any
|
|
941
1465
|
|
|
@@ -943,17 +1467,35 @@ Any object.
|
|
|
943
1467
|
|
|
944
1468
|
---
|
|
945
1469
|
|
|
1470
|
+
##### `isResource` <a name="isResource" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource"></a>
|
|
1471
|
+
|
|
1472
|
+
```typescript
|
|
1473
|
+
import { ImageBuilderComponent } from '@cloudsnorkel/cdk-github-runners'
|
|
1474
|
+
|
|
1475
|
+
ImageBuilderComponent.isResource(construct: IConstruct)
|
|
1476
|
+
```
|
|
1477
|
+
|
|
1478
|
+
Check whether the given construct is a Resource.
|
|
1479
|
+
|
|
1480
|
+
###### `construct`<sup>Required</sup> <a name="construct" id="@cloudsnorkel/cdk-github-runners.ImageBuilderComponent.isResource.parameter.construct"></a>
|
|
1481
|
+
|
|
1482
|
+
- *Type:* constructs.IConstruct
|
|
1483
|
+
|
|
1484
|
+
---
|
|
1485
|
+
|
|
946
1486
|
#### Properties <a name="Properties" id="Properties"></a>
|
|
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
|
|
|
@@ -1596,36 +2182,223 @@ public readonly vpc: IVpc;
|
|
|
1596
2182
|
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
1597
2183
|
- *Default:* no VPC
|
|
1598
2184
|
|
|
1599
|
-
VPC to
|
|
2185
|
+
VPC to build the image in.
|
|
1600
2186
|
|
|
1601
2187
|
---
|
|
1602
2188
|
|
|
1603
2189
|
### CodeBuildRunnerProps <a name="CodeBuildRunnerProps" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps"></a>
|
|
1604
2190
|
|
|
1605
|
-
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProps.Initializer"></a>
|
|
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>
|
|
2359
|
+
|
|
2360
|
+
```typescript
|
|
2361
|
+
public readonly architecture: Architecture;
|
|
2362
|
+
```
|
|
2363
|
+
|
|
2364
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
2365
|
+
- *Default:* Architecture.X86_64
|
|
2366
|
+
|
|
2367
|
+
Image architecture.
|
|
2368
|
+
|
|
2369
|
+
---
|
|
2370
|
+
|
|
2371
|
+
##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps.property.instanceType"></a>
|
|
2372
|
+
|
|
2373
|
+
```typescript
|
|
2374
|
+
public readonly instanceType: InstanceType;
|
|
2375
|
+
```
|
|
2376
|
+
|
|
2377
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
2378
|
+
- *Default:* m5.large
|
|
2379
|
+
|
|
2380
|
+
The instance type used to build the image.
|
|
2381
|
+
|
|
2382
|
+
---
|
|
2383
|
+
|
|
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,11 @@ 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.imageDigest">imageDigest</a></code> | <code>string</code> | Image digest for providers that need to know the digest like Lambda. |
|
|
3166
|
+
| <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
3167
|
|
|
2277
3168
|
---
|
|
2278
3169
|
|
|
@@ -2288,20 +3179,6 @@ Architecture of the image.
|
|
|
2288
3179
|
|
|
2289
3180
|
---
|
|
2290
3181
|
|
|
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
3182
|
##### `imageRepository`<sup>Required</sup> <a name="imageRepository" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageRepository"></a>
|
|
2306
3183
|
|
|
2307
3184
|
```typescript
|
|
@@ -2338,6 +3215,34 @@ OS type of the image.
|
|
|
2338
3215
|
|
|
2339
3216
|
---
|
|
2340
3217
|
|
|
3218
|
+
##### `imageDigest`<sup>Optional</sup> <a name="imageDigest" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.imageDigest"></a>
|
|
3219
|
+
|
|
3220
|
+
```typescript
|
|
3221
|
+
public readonly imageDigest: string;
|
|
3222
|
+
```
|
|
3223
|
+
|
|
3224
|
+
- *Type:* string
|
|
3225
|
+
|
|
3226
|
+
Image digest for providers that need to know the digest like Lambda.
|
|
3227
|
+
|
|
3228
|
+
If the digest is not specified, imageTag must always point to a new tag on update. If not, the build may try to use the old image.
|
|
3229
|
+
|
|
3230
|
+
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.
|
|
3231
|
+
|
|
3232
|
+
---
|
|
3233
|
+
|
|
3234
|
+
##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.RunnerImage.property.logGroup"></a>
|
|
3235
|
+
|
|
3236
|
+
```typescript
|
|
3237
|
+
public readonly logGroup: LogGroup;
|
|
3238
|
+
```
|
|
3239
|
+
|
|
3240
|
+
- *Type:* aws-cdk-lib.aws_logs.LogGroup
|
|
3241
|
+
|
|
3242
|
+
Log group where image builds are logged.
|
|
3243
|
+
|
|
3244
|
+
---
|
|
3245
|
+
|
|
2341
3246
|
### RunnerProviderProps <a name="RunnerProviderProps" id="@cloudsnorkel/cdk-github-runners.RunnerProviderProps"></a>
|
|
2342
3247
|
|
|
2343
3248
|
Common properties for all runner providers.
|
|
@@ -2841,7 +3746,7 @@ image OS.
|
|
|
2841
3746
|
|
|
2842
3747
|
### IImageBuilder <a name="IImageBuilder" id="@cloudsnorkel/cdk-github-runners.IImageBuilder"></a>
|
|
2843
3748
|
|
|
2844
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder">CodeBuildImageBuilder</a>, <a href="#@cloudsnorkel/cdk-github-runners.IImageBuilder">IImageBuilder</a>
|
|
3749
|
+
- *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
3750
|
|
|
2846
3751
|
Interface for constructs that build an image that can be used in {@link IRunnerProvider}.
|
|
2847
3752
|
|
|
@@ -2870,6 +3775,59 @@ ECR repository containing the image.
|
|
|
2870
3775
|
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
3776
|
|
|
2872
3777
|
|
|
3778
|
+
### IRunnerImageStatus <a name="IRunnerImageStatus" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"></a>
|
|
3779
|
+
|
|
3780
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus">IRunnerImageStatus</a>
|
|
3781
|
+
|
|
3782
|
+
Interface for runner image status used by status.json.
|
|
3783
|
+
|
|
3784
|
+
|
|
3785
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
3786
|
+
|
|
3787
|
+
| **Name** | **Type** | **Description** |
|
|
3788
|
+
| --- | --- | --- |
|
|
3789
|
+
| <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. |
|
|
3790
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository">imageRepository</a></code> | <code>string</code> | Image repository where runner image is pushed. |
|
|
3791
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag">imageTag</a></code> | <code>string</code> | Tag of image that should be used. |
|
|
3792
|
+
|
|
3793
|
+
---
|
|
3794
|
+
|
|
3795
|
+
##### `imageBuilderLogGroup`<sup>Optional</sup> <a name="imageBuilderLogGroup" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageBuilderLogGroup"></a>
|
|
3796
|
+
|
|
3797
|
+
```typescript
|
|
3798
|
+
public readonly imageBuilderLogGroup: string;
|
|
3799
|
+
```
|
|
3800
|
+
|
|
3801
|
+
- *Type:* string
|
|
3802
|
+
|
|
3803
|
+
Log group name for the image builder where history of image builds can be analyzed.
|
|
3804
|
+
|
|
3805
|
+
---
|
|
3806
|
+
|
|
3807
|
+
##### `imageRepository`<sup>Optional</sup> <a name="imageRepository" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageRepository"></a>
|
|
3808
|
+
|
|
3809
|
+
```typescript
|
|
3810
|
+
public readonly imageRepository: string;
|
|
3811
|
+
```
|
|
3812
|
+
|
|
3813
|
+
- *Type:* string
|
|
3814
|
+
|
|
3815
|
+
Image repository where runner image is pushed.
|
|
3816
|
+
|
|
3817
|
+
---
|
|
3818
|
+
|
|
3819
|
+
##### `imageTag`<sup>Optional</sup> <a name="imageTag" id="@cloudsnorkel/cdk-github-runners.IRunnerImageStatus.property.imageTag"></a>
|
|
3820
|
+
|
|
3821
|
+
```typescript
|
|
3822
|
+
public readonly imageTag: string;
|
|
3823
|
+
```
|
|
3824
|
+
|
|
3825
|
+
- *Type:* string
|
|
3826
|
+
|
|
3827
|
+
Tag of image that should be used.
|
|
3828
|
+
|
|
3829
|
+
---
|
|
3830
|
+
|
|
2873
3831
|
### IRunnerProvider <a name="IRunnerProvider" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider"></a>
|
|
2874
3832
|
|
|
2875
3833
|
- *Extends:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable
|
|
@@ -2912,6 +3870,7 @@ specific build parameters.
|
|
|
2912
3870
|
| --- | --- | --- |
|
|
2913
3871
|
| <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
3872
|
| <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. |
|
|
3873
|
+
| <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
3874
|
| <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
3875
|
| <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
3876
|
| <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 +3901,20 @@ The principal to grant permissions to.
|
|
|
2942
3901
|
|
|
2943
3902
|
---
|
|
2944
3903
|
|
|
3904
|
+
##### `image`<sup>Required</sup> <a name="image" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.image"></a>
|
|
3905
|
+
|
|
3906
|
+
```typescript
|
|
3907
|
+
public readonly image: RunnerImage;
|
|
3908
|
+
```
|
|
3909
|
+
|
|
3910
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerImage">RunnerImage</a>
|
|
3911
|
+
|
|
3912
|
+
Image used to create a new resource compute.
|
|
3913
|
+
|
|
3914
|
+
Can be Docker image, AMI, or something else.
|
|
3915
|
+
|
|
3916
|
+
---
|
|
3917
|
+
|
|
2945
3918
|
##### `label`<sup>Required</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.IRunnerProvider.property.label"></a>
|
|
2946
3919
|
|
|
2947
3920
|
```typescript
|