@cloudsnorkel/cdk-github-runners 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +597 -2
- package/API.md +516 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +3 -1
- package/lib/providers/codebuild.js +1 -1
- package/lib/providers/common.js +3 -3
- package/lib/providers/ec2.d.ts +16 -5
- package/lib/providers/ec2.js +10 -3
- package/lib/providers/fargate.js +1 -1
- package/lib/providers/image-builders/ami.d.ts +1 -1
- package/lib/providers/image-builders/ami.js +1 -1
- package/lib/providers/image-builders/codebuild.js +1 -1
- package/lib/providers/image-builders/common.js +3 -3
- package/lib/providers/image-builders/container.js +1 -1
- package/lib/providers/image-builders/linux-components.js +1 -1
- package/lib/providers/image-builders/static.js +1 -1
- package/lib/providers/image-builders/windows-components.js +1 -1
- package/lib/providers/lambda.js +1 -1
- package/lib/runner.js +1 -1
- package/lib/secrets.js +1 -1
- package/package.json +1 -1
package/API.md
CHANGED
|
@@ -769,6 +769,217 @@ public readonly repository: IRepository;
|
|
|
769
769
|
---
|
|
770
770
|
|
|
771
771
|
|
|
772
|
+
### Ec2Runner <a name="Ec2Runner" id="@cloudsnorkel/cdk-github-runners.Ec2Runner"></a>
|
|
773
|
+
|
|
774
|
+
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
775
|
+
|
|
776
|
+
GitHub Actions runner provider using EC2 to execute jobs.
|
|
777
|
+
|
|
778
|
+
This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.
|
|
779
|
+
|
|
780
|
+
#### Initializers <a name="Initializers" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer"></a>
|
|
781
|
+
|
|
782
|
+
```typescript
|
|
783
|
+
import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
|
|
784
|
+
|
|
785
|
+
new Ec2Runner(scope: Construct, id: string, props: Ec2RunnerProps)
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
| **Name** | **Type** | **Description** |
|
|
789
|
+
| --- | --- | --- |
|
|
790
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope">scope</a></code> | <code>constructs.Construct</code> | *No description.* |
|
|
791
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id">id</a></code> | <code>string</code> | *No description.* |
|
|
792
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props">props</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a></code> | *No description.* |
|
|
793
|
+
|
|
794
|
+
---
|
|
795
|
+
|
|
796
|
+
##### `scope`<sup>Required</sup> <a name="scope" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.scope"></a>
|
|
797
|
+
|
|
798
|
+
- *Type:* constructs.Construct
|
|
799
|
+
|
|
800
|
+
---
|
|
801
|
+
|
|
802
|
+
##### `id`<sup>Required</sup> <a name="id" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.id"></a>
|
|
803
|
+
|
|
804
|
+
- *Type:* string
|
|
805
|
+
|
|
806
|
+
---
|
|
807
|
+
|
|
808
|
+
##### `props`<sup>Required</sup> <a name="props" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.Initializer.parameter.props"></a>
|
|
809
|
+
|
|
810
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps">Ec2RunnerProps</a>
|
|
811
|
+
|
|
812
|
+
---
|
|
813
|
+
|
|
814
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
815
|
+
|
|
816
|
+
| **Name** | **Description** |
|
|
817
|
+
| --- | --- |
|
|
818
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.toString">toString</a></code> | Returns a string representation of this construct. |
|
|
819
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask">getStepFunctionTask</a></code> | Generate step function task(s) to start a new runner. |
|
|
820
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine">grantStateMachine</a></code> | An optional method that modifies the role of the state machine after all the tasks have been generated. |
|
|
821
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.status">status</a></code> | Return status of the runner provider to be used in the main status function. |
|
|
822
|
+
|
|
823
|
+
---
|
|
824
|
+
|
|
825
|
+
##### `toString` <a name="toString" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.toString"></a>
|
|
826
|
+
|
|
827
|
+
```typescript
|
|
828
|
+
public toString(): string
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
Returns a string representation of this construct.
|
|
832
|
+
|
|
833
|
+
##### `getStepFunctionTask` <a name="getStepFunctionTask" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask"></a>
|
|
834
|
+
|
|
835
|
+
```typescript
|
|
836
|
+
public getStepFunctionTask(parameters: RunnerRuntimeParameters): IChainable
|
|
837
|
+
```
|
|
838
|
+
|
|
839
|
+
Generate step function task(s) to start a new runner.
|
|
840
|
+
|
|
841
|
+
Called by GithubRunners and shouldn't be called manually.
|
|
842
|
+
|
|
843
|
+
###### `parameters`<sup>Required</sup> <a name="parameters" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.getStepFunctionTask.parameter.parameters"></a>
|
|
844
|
+
|
|
845
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters">RunnerRuntimeParameters</a>
|
|
846
|
+
|
|
847
|
+
workflow job details.
|
|
848
|
+
|
|
849
|
+
---
|
|
850
|
+
|
|
851
|
+
##### `grantStateMachine` <a name="grantStateMachine" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine"></a>
|
|
852
|
+
|
|
853
|
+
```typescript
|
|
854
|
+
public grantStateMachine(stateMachineRole: IGrantable): void
|
|
855
|
+
```
|
|
856
|
+
|
|
857
|
+
An optional method that modifies the role of the state machine after all the tasks have been generated.
|
|
858
|
+
|
|
859
|
+
This can be used to add additional policy
|
|
860
|
+
statements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.
|
|
861
|
+
|
|
862
|
+
###### `stateMachineRole`<sup>Required</sup> <a name="stateMachineRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.grantStateMachine.parameter.stateMachineRole"></a>
|
|
863
|
+
|
|
864
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
865
|
+
|
|
866
|
+
---
|
|
867
|
+
|
|
868
|
+
##### `status` <a name="status" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status"></a>
|
|
869
|
+
|
|
870
|
+
```typescript
|
|
871
|
+
public status(statusFunctionRole: IGrantable): IRunnerProviderStatus
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
Return status of the runner provider to be used in the main status function.
|
|
875
|
+
|
|
876
|
+
Also gives the status function any needed permissions to query the Docker image or AMI.
|
|
877
|
+
|
|
878
|
+
###### `statusFunctionRole`<sup>Required</sup> <a name="statusFunctionRole" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.status.parameter.statusFunctionRole"></a>
|
|
879
|
+
|
|
880
|
+
- *Type:* aws-cdk-lib.aws_iam.IGrantable
|
|
881
|
+
|
|
882
|
+
---
|
|
883
|
+
|
|
884
|
+
#### Static Functions <a name="Static Functions" id="Static Functions"></a>
|
|
885
|
+
|
|
886
|
+
| **Name** | **Description** |
|
|
887
|
+
| --- | --- |
|
|
888
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct">isConstruct</a></code> | Checks if `x` is a construct. |
|
|
889
|
+
|
|
890
|
+
---
|
|
891
|
+
|
|
892
|
+
##### ~~`isConstruct`~~ <a name="isConstruct" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct"></a>
|
|
893
|
+
|
|
894
|
+
```typescript
|
|
895
|
+
import { Ec2Runner } from '@cloudsnorkel/cdk-github-runners'
|
|
896
|
+
|
|
897
|
+
Ec2Runner.isConstruct(x: any)
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
Checks if `x` is a construct.
|
|
901
|
+
|
|
902
|
+
###### `x`<sup>Required</sup> <a name="x" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.isConstruct.parameter.x"></a>
|
|
903
|
+
|
|
904
|
+
- *Type:* any
|
|
905
|
+
|
|
906
|
+
Any object.
|
|
907
|
+
|
|
908
|
+
---
|
|
909
|
+
|
|
910
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
911
|
+
|
|
912
|
+
| **Name** | **Type** | **Description** |
|
|
913
|
+
| --- | --- | --- |
|
|
914
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node">node</a></code> | <code>constructs.Node</code> | The tree node. |
|
|
915
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections">connections</a></code> | <code>aws-cdk-lib.aws_ec2.Connections</code> | The network connections associated with this resource. |
|
|
916
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal">grantPrincipal</a></code> | <code>aws-cdk-lib.aws_iam.IPrincipal</code> | Grant principal used to add permissions to the runner role. |
|
|
917
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels">labels</a></code> | <code>string[]</code> | Labels associated with this provider. |
|
|
918
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security group attached to launched instances. |
|
|
919
|
+
|
|
920
|
+
---
|
|
921
|
+
|
|
922
|
+
##### `node`<sup>Required</sup> <a name="node" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.node"></a>
|
|
923
|
+
|
|
924
|
+
```typescript
|
|
925
|
+
public readonly node: Node;
|
|
926
|
+
```
|
|
927
|
+
|
|
928
|
+
- *Type:* constructs.Node
|
|
929
|
+
|
|
930
|
+
The tree node.
|
|
931
|
+
|
|
932
|
+
---
|
|
933
|
+
|
|
934
|
+
##### `connections`<sup>Required</sup> <a name="connections" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.connections"></a>
|
|
935
|
+
|
|
936
|
+
```typescript
|
|
937
|
+
public readonly connections: Connections;
|
|
938
|
+
```
|
|
939
|
+
|
|
940
|
+
- *Type:* aws-cdk-lib.aws_ec2.Connections
|
|
941
|
+
|
|
942
|
+
The network connections associated with this resource.
|
|
943
|
+
|
|
944
|
+
---
|
|
945
|
+
|
|
946
|
+
##### `grantPrincipal`<sup>Required</sup> <a name="grantPrincipal" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.grantPrincipal"></a>
|
|
947
|
+
|
|
948
|
+
```typescript
|
|
949
|
+
public readonly grantPrincipal: IPrincipal;
|
|
950
|
+
```
|
|
951
|
+
|
|
952
|
+
- *Type:* aws-cdk-lib.aws_iam.IPrincipal
|
|
953
|
+
|
|
954
|
+
Grant principal used to add permissions to the runner role.
|
|
955
|
+
|
|
956
|
+
---
|
|
957
|
+
|
|
958
|
+
##### `labels`<sup>Required</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.labels"></a>
|
|
959
|
+
|
|
960
|
+
```typescript
|
|
961
|
+
public readonly labels: string[];
|
|
962
|
+
```
|
|
963
|
+
|
|
964
|
+
- *Type:* string[]
|
|
965
|
+
|
|
966
|
+
Labels associated with this provider.
|
|
967
|
+
|
|
968
|
+
---
|
|
969
|
+
|
|
970
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2Runner.property.securityGroup"></a>
|
|
971
|
+
|
|
972
|
+
```typescript
|
|
973
|
+
public readonly securityGroup: ISecurityGroup;
|
|
974
|
+
```
|
|
975
|
+
|
|
976
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
977
|
+
|
|
978
|
+
Security group attached to launched instances.
|
|
979
|
+
|
|
980
|
+
---
|
|
981
|
+
|
|
982
|
+
|
|
772
983
|
### FargateRunner <a name="FargateRunner" id="@cloudsnorkel/cdk-github-runners.FargateRunner"></a>
|
|
773
984
|
|
|
774
985
|
- *Implements:* <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
@@ -2553,6 +2764,197 @@ VPC to launch the runners in.
|
|
|
2553
2764
|
|
|
2554
2765
|
---
|
|
2555
2766
|
|
|
2767
|
+
### Ec2RunnerProps <a name="Ec2RunnerProps" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps"></a>
|
|
2768
|
+
|
|
2769
|
+
Properties for {@link Ec2Runner} construct.
|
|
2770
|
+
|
|
2771
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.Initializer"></a>
|
|
2772
|
+
|
|
2773
|
+
```typescript
|
|
2774
|
+
import { Ec2RunnerProps } from '@cloudsnorkel/cdk-github-runners'
|
|
2775
|
+
|
|
2776
|
+
const ec2RunnerProps: Ec2RunnerProps = { ... }
|
|
2777
|
+
```
|
|
2778
|
+
|
|
2779
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
2780
|
+
|
|
2781
|
+
| **Name** | **Type** | **Description** |
|
|
2782
|
+
| --- | --- | --- |
|
|
2783
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention">logRetention</a></code> | <code>aws-cdk-lib.aws_logs.RetentionDays</code> | The number of days log events are kept in CloudWatch Logs. |
|
|
2784
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder">amiBuilder</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a></code> | AMI builder that creates AMIs with GitHub runner pre-configured. |
|
|
2785
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType">instanceType</a></code> | <code>aws-cdk-lib.aws_ec2.InstanceType</code> | Instance type for launched runner instances. |
|
|
2786
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels">labels</a></code> | <code>string[]</code> | GitHub Actions labels used for this provider. |
|
|
2787
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup">securityGroup</a></code> | <code>aws-cdk-lib.aws_ec2.ISecurityGroup</code> | Security Group to assign to launched runner instances. |
|
|
2788
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot">spot</a></code> | <code>boolean</code> | Use spot instances to save money. |
|
|
2789
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice">spotMaxPrice</a></code> | <code>string</code> | Set a maximum price for spot instances. |
|
|
2790
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize">storageSize</a></code> | <code>aws-cdk-lib.Size</code> | Size of volume available for launched runner instances. |
|
|
2791
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet">subnet</a></code> | <code>aws-cdk-lib.aws_ec2.ISubnet</code> | Subnet where the runner instances will be launched. |
|
|
2792
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnetSelection">subnetSelection</a></code> | <code>aws-cdk-lib.aws_ec2.SubnetSelection</code> | Where to place the network interfaces within the VPC. |
|
|
2793
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.vpc">vpc</a></code> | <code>aws-cdk-lib.aws_ec2.IVpc</code> | VPC where runner instances will be launched. |
|
|
2794
|
+
|
|
2795
|
+
---
|
|
2796
|
+
|
|
2797
|
+
##### `logRetention`<sup>Optional</sup> <a name="logRetention" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.logRetention"></a>
|
|
2798
|
+
|
|
2799
|
+
```typescript
|
|
2800
|
+
public readonly logRetention: RetentionDays;
|
|
2801
|
+
```
|
|
2802
|
+
|
|
2803
|
+
- *Type:* aws-cdk-lib.aws_logs.RetentionDays
|
|
2804
|
+
- *Default:* logs.RetentionDays.ONE_MONTH
|
|
2805
|
+
|
|
2806
|
+
The number of days log events are kept in CloudWatch Logs.
|
|
2807
|
+
|
|
2808
|
+
When updating
|
|
2809
|
+
this property, unsetting it doesn't remove the log retention policy. To
|
|
2810
|
+
remove the retention policy, set the value to `INFINITE`.
|
|
2811
|
+
|
|
2812
|
+
---
|
|
2813
|
+
|
|
2814
|
+
##### `amiBuilder`<sup>Optional</sup> <a name="amiBuilder" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.amiBuilder"></a>
|
|
2815
|
+
|
|
2816
|
+
```typescript
|
|
2817
|
+
public readonly amiBuilder: IAmiBuilder;
|
|
2818
|
+
```
|
|
2819
|
+
|
|
2820
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a>
|
|
2821
|
+
- *Default:* AMI builder for Ubuntu Linux on the same subnet as configured by {@link vpc} and {@link subnetSelection}
|
|
2822
|
+
|
|
2823
|
+
AMI builder that creates AMIs with GitHub runner pre-configured.
|
|
2824
|
+
|
|
2825
|
+
On Linux, a user named `runner` is expected to exist with access to Docker.
|
|
2826
|
+
|
|
2827
|
+
---
|
|
2828
|
+
|
|
2829
|
+
##### `instanceType`<sup>Optional</sup> <a name="instanceType" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.instanceType"></a>
|
|
2830
|
+
|
|
2831
|
+
```typescript
|
|
2832
|
+
public readonly instanceType: InstanceType;
|
|
2833
|
+
```
|
|
2834
|
+
|
|
2835
|
+
- *Type:* aws-cdk-lib.aws_ec2.InstanceType
|
|
2836
|
+
- *Default:* m5.large
|
|
2837
|
+
|
|
2838
|
+
Instance type for launched runner instances.
|
|
2839
|
+
|
|
2840
|
+
---
|
|
2841
|
+
|
|
2842
|
+
##### `labels`<sup>Optional</sup> <a name="labels" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.labels"></a>
|
|
2843
|
+
|
|
2844
|
+
```typescript
|
|
2845
|
+
public readonly labels: string[];
|
|
2846
|
+
```
|
|
2847
|
+
|
|
2848
|
+
- *Type:* string[]
|
|
2849
|
+
- *Default:* ['ec2']
|
|
2850
|
+
|
|
2851
|
+
GitHub Actions labels used for this provider.
|
|
2852
|
+
|
|
2853
|
+
These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for
|
|
2854
|
+
based on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the
|
|
2855
|
+
job's labels, this provider will be chosen and spawn a new runner.
|
|
2856
|
+
|
|
2857
|
+
---
|
|
2858
|
+
|
|
2859
|
+
##### `securityGroup`<sup>Optional</sup> <a name="securityGroup" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.securityGroup"></a>
|
|
2860
|
+
|
|
2861
|
+
```typescript
|
|
2862
|
+
public readonly securityGroup: ISecurityGroup;
|
|
2863
|
+
```
|
|
2864
|
+
|
|
2865
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISecurityGroup
|
|
2866
|
+
- *Default:* account's default security group
|
|
2867
|
+
|
|
2868
|
+
Security Group to assign to launched runner instances.
|
|
2869
|
+
|
|
2870
|
+
---
|
|
2871
|
+
|
|
2872
|
+
##### `spot`<sup>Optional</sup> <a name="spot" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spot"></a>
|
|
2873
|
+
|
|
2874
|
+
```typescript
|
|
2875
|
+
public readonly spot: boolean;
|
|
2876
|
+
```
|
|
2877
|
+
|
|
2878
|
+
- *Type:* boolean
|
|
2879
|
+
- *Default:* false
|
|
2880
|
+
|
|
2881
|
+
Use spot instances to save money.
|
|
2882
|
+
|
|
2883
|
+
Spot instances are cheaper but not always available and can be stopped prematurely.
|
|
2884
|
+
|
|
2885
|
+
---
|
|
2886
|
+
|
|
2887
|
+
##### `spotMaxPrice`<sup>Optional</sup> <a name="spotMaxPrice" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.spotMaxPrice"></a>
|
|
2888
|
+
|
|
2889
|
+
```typescript
|
|
2890
|
+
public readonly spotMaxPrice: string;
|
|
2891
|
+
```
|
|
2892
|
+
|
|
2893
|
+
- *Type:* string
|
|
2894
|
+
- *Default:* no max price (you will pay current spot price)
|
|
2895
|
+
|
|
2896
|
+
Set a maximum price for spot instances.
|
|
2897
|
+
|
|
2898
|
+
---
|
|
2899
|
+
|
|
2900
|
+
##### `storageSize`<sup>Optional</sup> <a name="storageSize" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.storageSize"></a>
|
|
2901
|
+
|
|
2902
|
+
```typescript
|
|
2903
|
+
public readonly storageSize: Size;
|
|
2904
|
+
```
|
|
2905
|
+
|
|
2906
|
+
- *Type:* aws-cdk-lib.Size
|
|
2907
|
+
- *Default:* 30GB
|
|
2908
|
+
|
|
2909
|
+
Size of volume available for launched runner instances.
|
|
2910
|
+
|
|
2911
|
+
This modifies the boot volume size and doesn't add any additional volumes.
|
|
2912
|
+
|
|
2913
|
+
---
|
|
2914
|
+
|
|
2915
|
+
##### ~~`subnet`~~<sup>Optional</sup> <a name="subnet" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnet"></a>
|
|
2916
|
+
|
|
2917
|
+
- *Deprecated:* use {@link vpc} and {@link subnetSelection}
|
|
2918
|
+
|
|
2919
|
+
```typescript
|
|
2920
|
+
public readonly subnet: ISubnet;
|
|
2921
|
+
```
|
|
2922
|
+
|
|
2923
|
+
- *Type:* aws-cdk-lib.aws_ec2.ISubnet
|
|
2924
|
+
- *Default:* default subnet of account's default VPC
|
|
2925
|
+
|
|
2926
|
+
Subnet where the runner instances will be launched.
|
|
2927
|
+
|
|
2928
|
+
---
|
|
2929
|
+
|
|
2930
|
+
##### `subnetSelection`<sup>Optional</sup> <a name="subnetSelection" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.subnetSelection"></a>
|
|
2931
|
+
|
|
2932
|
+
```typescript
|
|
2933
|
+
public readonly subnetSelection: SubnetSelection;
|
|
2934
|
+
```
|
|
2935
|
+
|
|
2936
|
+
- *Type:* aws-cdk-lib.aws_ec2.SubnetSelection
|
|
2937
|
+
- *Default:* default VPC subnet
|
|
2938
|
+
|
|
2939
|
+
Where to place the network interfaces within the VPC.
|
|
2940
|
+
|
|
2941
|
+
Only the first matched subnet will be used.
|
|
2942
|
+
|
|
2943
|
+
---
|
|
2944
|
+
|
|
2945
|
+
##### `vpc`<sup>Optional</sup> <a name="vpc" id="@cloudsnorkel/cdk-github-runners.Ec2RunnerProps.property.vpc"></a>
|
|
2946
|
+
|
|
2947
|
+
```typescript
|
|
2948
|
+
public readonly vpc: IVpc;
|
|
2949
|
+
```
|
|
2950
|
+
|
|
2951
|
+
- *Type:* aws-cdk-lib.aws_ec2.IVpc
|
|
2952
|
+
- *Default:* default account VPC
|
|
2953
|
+
|
|
2954
|
+
VPC where runner instances will be launched.
|
|
2955
|
+
|
|
2956
|
+
---
|
|
2957
|
+
|
|
2556
2958
|
### FargateRunnerProps <a name="FargateRunnerProps" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps"></a>
|
|
2557
2959
|
|
|
2558
2960
|
Properties for FargateRunner.
|
|
@@ -3260,6 +3662,90 @@ VPC to launch the runners in.
|
|
|
3260
3662
|
|
|
3261
3663
|
---
|
|
3262
3664
|
|
|
3665
|
+
### RunnerAmi <a name="RunnerAmi" id="@cloudsnorkel/cdk-github-runners.RunnerAmi"></a>
|
|
3666
|
+
|
|
3667
|
+
Description of a AMI built by {@link IAmiBuilder}.
|
|
3668
|
+
|
|
3669
|
+
#### Initializer <a name="Initializer" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.Initializer"></a>
|
|
3670
|
+
|
|
3671
|
+
```typescript
|
|
3672
|
+
import { RunnerAmi } from '@cloudsnorkel/cdk-github-runners'
|
|
3673
|
+
|
|
3674
|
+
const runnerAmi: RunnerAmi = { ... }
|
|
3675
|
+
```
|
|
3676
|
+
|
|
3677
|
+
#### Properties <a name="Properties" id="Properties"></a>
|
|
3678
|
+
|
|
3679
|
+
| **Name** | **Type** | **Description** |
|
|
3680
|
+
| --- | --- | --- |
|
|
3681
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.architecture">architecture</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a></code> | Architecture of the image. |
|
|
3682
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.launchTemplate">launchTemplate</a></code> | <code>aws-cdk-lib.aws_ec2.ILaunchTemplate</code> | Launch template pointing to the latest AMI. |
|
|
3683
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.os">os</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a></code> | OS type of the image. |
|
|
3684
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.runnerVersion">runnerVersion</a></code> | <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a></code> | Installed runner version. |
|
|
3685
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.RunnerAmi.property.logGroup">logGroup</a></code> | <code>aws-cdk-lib.aws_logs.LogGroup</code> | Log group where image builds are logged. |
|
|
3686
|
+
|
|
3687
|
+
---
|
|
3688
|
+
|
|
3689
|
+
##### `architecture`<sup>Required</sup> <a name="architecture" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.architecture"></a>
|
|
3690
|
+
|
|
3691
|
+
```typescript
|
|
3692
|
+
public readonly architecture: Architecture;
|
|
3693
|
+
```
|
|
3694
|
+
|
|
3695
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Architecture">Architecture</a>
|
|
3696
|
+
|
|
3697
|
+
Architecture of the image.
|
|
3698
|
+
|
|
3699
|
+
---
|
|
3700
|
+
|
|
3701
|
+
##### `launchTemplate`<sup>Required</sup> <a name="launchTemplate" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.launchTemplate"></a>
|
|
3702
|
+
|
|
3703
|
+
```typescript
|
|
3704
|
+
public readonly launchTemplate: ILaunchTemplate;
|
|
3705
|
+
```
|
|
3706
|
+
|
|
3707
|
+
- *Type:* aws-cdk-lib.aws_ec2.ILaunchTemplate
|
|
3708
|
+
|
|
3709
|
+
Launch template pointing to the latest AMI.
|
|
3710
|
+
|
|
3711
|
+
---
|
|
3712
|
+
|
|
3713
|
+
##### `os`<sup>Required</sup> <a name="os" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.os"></a>
|
|
3714
|
+
|
|
3715
|
+
```typescript
|
|
3716
|
+
public readonly os: Os;
|
|
3717
|
+
```
|
|
3718
|
+
|
|
3719
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.Os">Os</a>
|
|
3720
|
+
|
|
3721
|
+
OS type of the image.
|
|
3722
|
+
|
|
3723
|
+
---
|
|
3724
|
+
|
|
3725
|
+
##### `runnerVersion`<sup>Required</sup> <a name="runnerVersion" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.runnerVersion"></a>
|
|
3726
|
+
|
|
3727
|
+
```typescript
|
|
3728
|
+
public readonly runnerVersion: RunnerVersion;
|
|
3729
|
+
```
|
|
3730
|
+
|
|
3731
|
+
- *Type:* <a href="#@cloudsnorkel/cdk-github-runners.RunnerVersion">RunnerVersion</a>
|
|
3732
|
+
|
|
3733
|
+
Installed runner version.
|
|
3734
|
+
|
|
3735
|
+
---
|
|
3736
|
+
|
|
3737
|
+
##### `logGroup`<sup>Optional</sup> <a name="logGroup" id="@cloudsnorkel/cdk-github-runners.RunnerAmi.property.logGroup"></a>
|
|
3738
|
+
|
|
3739
|
+
```typescript
|
|
3740
|
+
public readonly logGroup: LogGroup;
|
|
3741
|
+
```
|
|
3742
|
+
|
|
3743
|
+
- *Type:* aws-cdk-lib.aws_logs.LogGroup
|
|
3744
|
+
|
|
3745
|
+
Log group where image builds are logged.
|
|
3746
|
+
|
|
3747
|
+
---
|
|
3748
|
+
|
|
3263
3749
|
### RunnerImage <a name="RunnerImage" id="@cloudsnorkel/cdk-github-runners.RunnerImage"></a>
|
|
3264
3750
|
|
|
3265
3751
|
Description of a Docker image built by {@link IImageBuilder}.
|
|
@@ -4317,6 +4803,35 @@ WindowsComponents.githubRunner(scope: Construct, id: string, runnerVersion: Runn
|
|
|
4317
4803
|
|
|
4318
4804
|
## Protocols <a name="Protocols" id="Protocols"></a>
|
|
4319
4805
|
|
|
4806
|
+
### IAmiBuilder <a name="IAmiBuilder" id="@cloudsnorkel/cdk-github-runners.IAmiBuilder"></a>
|
|
4807
|
+
|
|
4808
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder">IAmiBuilder</a>
|
|
4809
|
+
|
|
4810
|
+
Interface for constructs that build an AMI that can be used in {@link IRunnerProvider}.
|
|
4811
|
+
|
|
4812
|
+
Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.
|
|
4813
|
+
|
|
4814
|
+
The AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.
|
|
4815
|
+
|
|
4816
|
+
#### Methods <a name="Methods" id="Methods"></a>
|
|
4817
|
+
|
|
4818
|
+
| **Name** | **Description** |
|
|
4819
|
+
| --- | --- |
|
|
4820
|
+
| <code><a href="#@cloudsnorkel/cdk-github-runners.IAmiBuilder.bind">bind</a></code> | Finalize and return all required information about the AMI built by this builder. |
|
|
4821
|
+
|
|
4822
|
+
---
|
|
4823
|
+
|
|
4824
|
+
##### `bind` <a name="bind" id="@cloudsnorkel/cdk-github-runners.IAmiBuilder.bind"></a>
|
|
4825
|
+
|
|
4826
|
+
```typescript
|
|
4827
|
+
public bind(): RunnerAmi
|
|
4828
|
+
```
|
|
4829
|
+
|
|
4830
|
+
Finalize and return all required information about the AMI built by this builder.
|
|
4831
|
+
|
|
4832
|
+
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.
|
|
4833
|
+
|
|
4834
|
+
|
|
4320
4835
|
### IImageBuilder <a name="IImageBuilder" id="@cloudsnorkel/cdk-github-runners.IImageBuilder"></a>
|
|
4321
4836
|
|
|
4322
4837
|
- *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>
|
|
@@ -4445,7 +4960,7 @@ Log group name for the image builder where history of image builds can be analyz
|
|
|
4445
4960
|
|
|
4446
4961
|
- *Extends:* aws-cdk-lib.aws_ec2.IConnectable, aws-cdk-lib.aws_iam.IGrantable
|
|
4447
4962
|
|
|
4448
|
-
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
4963
|
+
- *Implemented By:* <a href="#@cloudsnorkel/cdk-github-runners.CodeBuildRunner">CodeBuildRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.Ec2Runner">Ec2Runner</a>, <a href="#@cloudsnorkel/cdk-github-runners.FargateRunner">FargateRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.LambdaRunner">LambdaRunner</a>, <a href="#@cloudsnorkel/cdk-github-runners.IRunnerProvider">IRunnerProvider</a>
|
|
4449
4964
|
|
|
4450
4965
|
Interface for all runner providers.
|
|
4451
4966
|
|
package/lib/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export { Secrets } from './secrets';
|
|
2
2
|
export { GitHubRunners, GitHubRunnersProps } from './runner';
|
|
3
3
|
export { CodeBuildRunner, CodeBuildRunnerProps } from './providers/codebuild';
|
|
4
|
+
export { Ec2Runner, Ec2RunnerProps } from './providers/ec2';
|
|
4
5
|
export { LambdaRunner, LambdaRunnerProps } from './providers/lambda';
|
|
5
6
|
export { FargateRunner, FargateRunnerProps } from './providers/fargate';
|
|
6
|
-
export { IRunnerProvider, RunnerProviderProps, RunnerVersion, RunnerRuntimeParameters, RunnerImage, IImageBuilder, IRunnerProviderStatus, IRunnerImageStatus, IRunnerAmiStatus, Architecture, Os } from './providers/common';
|
|
7
|
+
export { IRunnerProvider, RunnerProviderProps, RunnerVersion, RunnerRuntimeParameters, RunnerAmi, RunnerImage, IAmiBuilder, IImageBuilder, IRunnerProviderStatus, IRunnerImageStatus, IRunnerAmiStatus, Architecture, Os } from './providers/common';
|
|
7
8
|
export { CodeBuildImageBuilder, CodeBuildImageBuilderProps } from './providers/image-builders/codebuild';
|
|
8
9
|
export { ImageBuilderComponent, ImageBuilderComponentProperties, ImageBuilderAsset } from './providers/image-builders/common';
|
|
9
10
|
export { ContainerImageBuilder, ContainerImageBuilderProps } from './providers/image-builders/container';
|
package/lib/index.js
CHANGED
|
@@ -6,6 +6,8 @@ var runner_1 = require("./runner");
|
|
|
6
6
|
Object.defineProperty(exports, "GitHubRunners", { enumerable: true, get: function () { return runner_1.GitHubRunners; } });
|
|
7
7
|
var codebuild_1 = require("./providers/codebuild");
|
|
8
8
|
Object.defineProperty(exports, "CodeBuildRunner", { enumerable: true, get: function () { return codebuild_1.CodeBuildRunner; } });
|
|
9
|
+
var ec2_1 = require("./providers/ec2");
|
|
10
|
+
Object.defineProperty(exports, "Ec2Runner", { enumerable: true, get: function () { return ec2_1.Ec2Runner; } });
|
|
9
11
|
var lambda_1 = require("./providers/lambda");
|
|
10
12
|
Object.defineProperty(exports, "LambdaRunner", { enumerable: true, get: function () { return lambda_1.LambdaRunner; } });
|
|
11
13
|
var fargate_1 = require("./providers/fargate");
|
|
@@ -26,4 +28,4 @@ var linux_components_1 = require("./providers/image-builders/linux-components");
|
|
|
26
28
|
Object.defineProperty(exports, "LinuxUbuntuComponents", { enumerable: true, get: function () { return linux_components_1.LinuxUbuntuComponents; } });
|
|
27
29
|
var static_1 = require("./providers/image-builders/static");
|
|
28
30
|
Object.defineProperty(exports, "StaticRunnerImage", { enumerable: true, get: function () { return static_1.StaticRunnerImage; } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG1DQUE2RDtBQUFwRCx1R0FBQSxhQUFhLE9BQUE7QUFDdEIsbURBQThFO0FBQXJFLDRHQUFBLGVBQWUsT0FBQTtBQUN4Qix1Q0FBNEQ7QUFBbkQsZ0dBQUEsU0FBUyxPQUFBO0FBQ2xCLDZDQUFxRTtBQUE1RCxzR0FBQSxZQUFZLE9BQUE7QUFDckIsK0NBQXdFO0FBQS9ELHdHQUFBLGFBQWEsT0FBQTtBQUN0Qiw2Q0FBcVA7QUFBdE0sdUdBQUEsYUFBYSxPQUFBO0FBQTRJLHNHQUFBLFlBQVksT0FBQTtBQUFFLDRGQUFBLEVBQUUsT0FBQTtBQUN4TixrRUFBeUc7QUFBaEcsa0hBQUEscUJBQXFCLE9BQUE7QUFDOUIsNERBQThIO0FBQXJILCtHQUFBLHFCQUFxQixPQUFBO0FBQzlCLGtFQUF5RztBQUFoRyxrSEFBQSxxQkFBcUIsT0FBQTtBQUM5QixvRkFBa0Y7QUFBekUsdUhBQUEsaUJBQWlCLE9BQUE7QUFDMUIsZ0ZBQW9GO0FBQTNFLHlIQUFBLHFCQUFxQixPQUFBO0FBQzlCLDREQUFzRTtBQUE3RCwyR0FBQSxpQkFBaUIsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNlY3JldHMgfSBmcm9tICcuL3NlY3JldHMnO1xuZXhwb3J0IHsgR2l0SHViUnVubmVycywgR2l0SHViUnVubmVyc1Byb3BzIH0gZnJvbSAnLi9ydW5uZXInO1xuZXhwb3J0IHsgQ29kZUJ1aWxkUnVubmVyLCBDb2RlQnVpbGRSdW5uZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2NvZGVidWlsZCc7XG5leHBvcnQgeyBFYzJSdW5uZXIsIEVjMlJ1bm5lclByb3BzIH0gZnJvbSAnLi9wcm92aWRlcnMvZWMyJztcbmV4cG9ydCB7IExhbWJkYVJ1bm5lciwgTGFtYmRhUnVubmVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9sYW1iZGEnO1xuZXhwb3J0IHsgRmFyZ2F0ZVJ1bm5lciwgRmFyZ2F0ZVJ1bm5lclByb3BzIH0gZnJvbSAnLi9wcm92aWRlcnMvZmFyZ2F0ZSc7XG5leHBvcnQgeyBJUnVubmVyUHJvdmlkZXIsIFJ1bm5lclByb3ZpZGVyUHJvcHMsIFJ1bm5lclZlcnNpb24sIFJ1bm5lclJ1bnRpbWVQYXJhbWV0ZXJzLCBSdW5uZXJBbWksIFJ1bm5lckltYWdlLCBJQW1pQnVpbGRlciwgSUltYWdlQnVpbGRlciwgSVJ1bm5lclByb3ZpZGVyU3RhdHVzLCBJUnVubmVySW1hZ2VTdGF0dXMsIElSdW5uZXJBbWlTdGF0dXMsIEFyY2hpdGVjdHVyZSwgT3MgfSBmcm9tICcuL3Byb3ZpZGVycy9jb21tb24nO1xuZXhwb3J0IHsgQ29kZUJ1aWxkSW1hZ2VCdWlsZGVyLCBDb2RlQnVpbGRJbWFnZUJ1aWxkZXJQcm9wcyB9IGZyb20gJy4vcHJvdmlkZXJzL2ltYWdlLWJ1aWxkZXJzL2NvZGVidWlsZCc7XG5leHBvcnQgeyBJbWFnZUJ1aWxkZXJDb21wb25lbnQsIEltYWdlQnVpbGRlckNvbXBvbmVudFByb3BlcnRpZXMsIEltYWdlQnVpbGRlckFzc2V0IH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvY29tbW9uJztcbmV4cG9ydCB7IENvbnRhaW5lckltYWdlQnVpbGRlciwgQ29udGFpbmVySW1hZ2VCdWlsZGVyUHJvcHMgfSBmcm9tICcuL3Byb3ZpZGVycy9pbWFnZS1idWlsZGVycy9jb250YWluZXInO1xuZXhwb3J0IHsgV2luZG93c0NvbXBvbmVudHMgfSBmcm9tICcuL3Byb3ZpZGVycy9pbWFnZS1idWlsZGVycy93aW5kb3dzLWNvbXBvbmVudHMnO1xuZXhwb3J0IHsgTGludXhVYnVudHVDb21wb25lbnRzIH0gZnJvbSAnLi9wcm92aWRlcnMvaW1hZ2UtYnVpbGRlcnMvbGludXgtY29tcG9uZW50cyc7XG5leHBvcnQgeyBTdGF0aWNSdW5uZXJJbWFnZSB9IGZyb20gJy4vcHJvdmlkZXJzL2ltYWdlLWJ1aWxkZXJzL3N0YXRpYyc7XG4iXX0=
|
|
@@ -173,7 +173,7 @@ class CodeBuildRunner extends common_1.BaseProvider {
|
|
|
173
173
|
}
|
|
174
174
|
exports.CodeBuildRunner = CodeBuildRunner;
|
|
175
175
|
_a = JSII_RTTI_SYMBOL_1;
|
|
176
|
-
CodeBuildRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.CodeBuildRunner", version: "0.6.
|
|
176
|
+
CodeBuildRunner[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.CodeBuildRunner", version: "0.6.2" };
|
|
177
177
|
/**
|
|
178
178
|
* Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner. Use this Dockerfile unless you need to customize it further than allowed by hooks.
|
|
179
179
|
*
|
package/lib/providers/common.js
CHANGED
|
@@ -39,7 +39,7 @@ class RunnerVersion {
|
|
|
39
39
|
}
|
|
40
40
|
exports.RunnerVersion = RunnerVersion;
|
|
41
41
|
_a = JSII_RTTI_SYMBOL_1;
|
|
42
|
-
RunnerVersion[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerVersion", version: "0.6.
|
|
42
|
+
RunnerVersion[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerVersion", version: "0.6.2" };
|
|
43
43
|
/**
|
|
44
44
|
* CPU architecture enum for an image.
|
|
45
45
|
*/
|
|
@@ -88,7 +88,7 @@ class Architecture {
|
|
|
88
88
|
}
|
|
89
89
|
exports.Architecture = Architecture;
|
|
90
90
|
_b = JSII_RTTI_SYMBOL_1;
|
|
91
|
-
Architecture[_b] = { fqn: "@cloudsnorkel/cdk-github-runners.Architecture", version: "0.6.
|
|
91
|
+
Architecture[_b] = { fqn: "@cloudsnorkel/cdk-github-runners.Architecture", version: "0.6.2" };
|
|
92
92
|
/**
|
|
93
93
|
* ARM64
|
|
94
94
|
*/
|
|
@@ -131,7 +131,7 @@ class Os {
|
|
|
131
131
|
}
|
|
132
132
|
exports.Os = Os;
|
|
133
133
|
_c = JSII_RTTI_SYMBOL_1;
|
|
134
|
-
Os[_c] = { fqn: "@cloudsnorkel/cdk-github-runners.Os", version: "0.6.
|
|
134
|
+
Os[_c] = { fqn: "@cloudsnorkel/cdk-github-runners.Os", version: "0.6.2" };
|
|
135
135
|
/**
|
|
136
136
|
* Linux
|
|
137
137
|
*/
|
package/lib/providers/ec2.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export interface Ec2RunnerProps extends RunnerProviderProps {
|
|
|
9
9
|
/**
|
|
10
10
|
* AMI builder that creates AMIs with GitHub runner pre-configured. On Linux, a user named `runner` is expected to exist with access to Docker.
|
|
11
11
|
*
|
|
12
|
-
* @default AMI builder for Ubuntu Linux
|
|
12
|
+
* @default AMI builder for Ubuntu Linux on the same subnet as configured by {@link vpc} and {@link subnetSelection}
|
|
13
13
|
*/
|
|
14
14
|
readonly amiBuilder?: IAmiBuilder;
|
|
15
15
|
/**
|
|
@@ -44,8 +44,22 @@ export interface Ec2RunnerProps extends RunnerProviderProps {
|
|
|
44
44
|
* Subnet where the runner instances will be launched.
|
|
45
45
|
*
|
|
46
46
|
* @default default subnet of account's default VPC
|
|
47
|
+
*
|
|
48
|
+
* @deprecated use {@link vpc} and {@link subnetSelection}
|
|
47
49
|
*/
|
|
48
50
|
readonly subnet?: ec2.ISubnet;
|
|
51
|
+
/**
|
|
52
|
+
* VPC where runner instances will be launched.
|
|
53
|
+
*
|
|
54
|
+
* @default default account VPC
|
|
55
|
+
*/
|
|
56
|
+
readonly vpc?: ec2.IVpc;
|
|
57
|
+
/**
|
|
58
|
+
* Where to place the network interfaces within the VPC. Only the first matched subnet will be used.
|
|
59
|
+
*
|
|
60
|
+
* @default default VPC subnet
|
|
61
|
+
*/
|
|
62
|
+
readonly subnetSelection?: ec2.SubnetSelection;
|
|
49
63
|
/**
|
|
50
64
|
* Use spot instances to save money. Spot instances are cheaper but not always available and can be stopped prematurely.
|
|
51
65
|
*
|
|
@@ -69,10 +83,6 @@ export declare class Ec2Runner extends BaseProvider implements IRunnerProvider {
|
|
|
69
83
|
* Labels associated with this provider.
|
|
70
84
|
*/
|
|
71
85
|
readonly labels: string[];
|
|
72
|
-
/**
|
|
73
|
-
* VPC subnet used for hosting launched instances.
|
|
74
|
-
*/
|
|
75
|
-
readonly subnet?: ec2.ISubnet;
|
|
76
86
|
/**
|
|
77
87
|
* Security group attached to launched instances.
|
|
78
88
|
*/
|
|
@@ -88,6 +98,7 @@ export declare class Ec2Runner extends BaseProvider implements IRunnerProvider {
|
|
|
88
98
|
private readonly storageSize;
|
|
89
99
|
private readonly spot;
|
|
90
100
|
private readonly spotMaxPrice;
|
|
101
|
+
private readonly subnet?;
|
|
91
102
|
constructor(scope: Construct, id: string, props: Ec2RunnerProps);
|
|
92
103
|
/**
|
|
93
104
|
* Generate step function task(s) to start a new runner.
|