@cloudsnorkel/cdk-github-runners 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -4915,6 +4915,443 @@
4915
4915
  ],
4916
4916
  "symbolId": "src/providers/image-builders/container:ContainerImageBuilderProps"
4917
4917
  },
4918
+ "@cloudsnorkel/cdk-github-runners.Ec2Runner": {
4919
+ "assembly": "@cloudsnorkel/cdk-github-runners",
4920
+ "base": "constructs.Construct",
4921
+ "docs": {
4922
+ "remarks": "This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
4923
+ "stability": "experimental",
4924
+ "summary": "GitHub Actions runner provider using EC2 to execute jobs."
4925
+ },
4926
+ "fqn": "@cloudsnorkel/cdk-github-runners.Ec2Runner",
4927
+ "initializer": {
4928
+ "docs": {
4929
+ "stability": "experimental"
4930
+ },
4931
+ "locationInModule": {
4932
+ "filename": "src/providers/ec2.ts",
4933
+ "line": 222
4934
+ },
4935
+ "parameters": [
4936
+ {
4937
+ "name": "scope",
4938
+ "type": {
4939
+ "fqn": "constructs.Construct"
4940
+ }
4941
+ },
4942
+ {
4943
+ "name": "id",
4944
+ "type": {
4945
+ "primitive": "string"
4946
+ }
4947
+ },
4948
+ {
4949
+ "name": "props",
4950
+ "type": {
4951
+ "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProps"
4952
+ }
4953
+ }
4954
+ ]
4955
+ },
4956
+ "interfaces": [
4957
+ "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
4958
+ ],
4959
+ "kind": "class",
4960
+ "locationInModule": {
4961
+ "filename": "src/providers/ec2.ts",
4962
+ "line": 193
4963
+ },
4964
+ "methods": [
4965
+ {
4966
+ "docs": {
4967
+ "remarks": "Called by GithubRunners and shouldn't be called manually.",
4968
+ "stability": "experimental",
4969
+ "summary": "Generate step function task(s) to start a new runner."
4970
+ },
4971
+ "locationInModule": {
4972
+ "filename": "src/providers/ec2.ts",
4973
+ "line": 269
4974
+ },
4975
+ "name": "getStepFunctionTask",
4976
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
4977
+ "parameters": [
4978
+ {
4979
+ "docs": {
4980
+ "summary": "workflow job details."
4981
+ },
4982
+ "name": "parameters",
4983
+ "type": {
4984
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
4985
+ }
4986
+ }
4987
+ ],
4988
+ "returns": {
4989
+ "type": {
4990
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
4991
+ }
4992
+ }
4993
+ },
4994
+ {
4995
+ "docs": {
4996
+ "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
4997
+ "stability": "experimental",
4998
+ "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
4999
+ },
5000
+ "locationInModule": {
5001
+ "filename": "src/providers/ec2.ts",
5002
+ "line": 345
5003
+ },
5004
+ "name": "grantStateMachine",
5005
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
5006
+ "parameters": [
5007
+ {
5008
+ "name": "stateMachineRole",
5009
+ "type": {
5010
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
5011
+ }
5012
+ }
5013
+ ]
5014
+ },
5015
+ {
5016
+ "docs": {
5017
+ "stability": "experimental"
5018
+ },
5019
+ "locationInModule": {
5020
+ "filename": "src/providers/common.ts",
5021
+ "line": 426
5022
+ },
5023
+ "name": "labelsFromProperties",
5024
+ "parameters": [
5025
+ {
5026
+ "name": "defaultLabel",
5027
+ "type": {
5028
+ "primitive": "string"
5029
+ }
5030
+ },
5031
+ {
5032
+ "name": "propsLabel",
5033
+ "optional": true,
5034
+ "type": {
5035
+ "primitive": "string"
5036
+ }
5037
+ },
5038
+ {
5039
+ "name": "propsLabels",
5040
+ "optional": true,
5041
+ "type": {
5042
+ "collection": {
5043
+ "elementtype": {
5044
+ "primitive": "string"
5045
+ },
5046
+ "kind": "array"
5047
+ }
5048
+ }
5049
+ }
5050
+ ],
5051
+ "protected": true,
5052
+ "returns": {
5053
+ "type": {
5054
+ "collection": {
5055
+ "elementtype": {
5056
+ "primitive": "string"
5057
+ },
5058
+ "kind": "array"
5059
+ }
5060
+ }
5061
+ }
5062
+ },
5063
+ {
5064
+ "docs": {
5065
+ "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
5066
+ "stability": "experimental",
5067
+ "summary": "Return status of the runner provider to be used in the main status function."
5068
+ },
5069
+ "locationInModule": {
5070
+ "filename": "src/providers/ec2.ts",
5071
+ "line": 365
5072
+ },
5073
+ "name": "status",
5074
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
5075
+ "parameters": [
5076
+ {
5077
+ "name": "statusFunctionRole",
5078
+ "type": {
5079
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
5080
+ }
5081
+ }
5082
+ ],
5083
+ "returns": {
5084
+ "type": {
5085
+ "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
5086
+ }
5087
+ }
5088
+ }
5089
+ ],
5090
+ "name": "Ec2Runner",
5091
+ "properties": [
5092
+ {
5093
+ "docs": {
5094
+ "stability": "experimental",
5095
+ "summary": "The network connections associated with this resource."
5096
+ },
5097
+ "immutable": true,
5098
+ "locationInModule": {
5099
+ "filename": "src/providers/ec2.ts",
5100
+ "line": 386
5101
+ },
5102
+ "name": "connections",
5103
+ "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
5104
+ "type": {
5105
+ "fqn": "aws-cdk-lib.aws_ec2.Connections"
5106
+ }
5107
+ },
5108
+ {
5109
+ "docs": {
5110
+ "stability": "experimental",
5111
+ "summary": "Grant principal used to add permissions to the runner role."
5112
+ },
5113
+ "immutable": true,
5114
+ "locationInModule": {
5115
+ "filename": "src/providers/ec2.ts",
5116
+ "line": 212
5117
+ },
5118
+ "name": "grantPrincipal",
5119
+ "overrides": "aws-cdk-lib.aws_iam.IGrantable",
5120
+ "type": {
5121
+ "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
5122
+ }
5123
+ },
5124
+ {
5125
+ "docs": {
5126
+ "stability": "experimental",
5127
+ "summary": "Labels associated with this provider."
5128
+ },
5129
+ "immutable": true,
5130
+ "locationInModule": {
5131
+ "filename": "src/providers/ec2.ts",
5132
+ "line": 197
5133
+ },
5134
+ "name": "labels",
5135
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
5136
+ "type": {
5137
+ "collection": {
5138
+ "elementtype": {
5139
+ "primitive": "string"
5140
+ },
5141
+ "kind": "array"
5142
+ }
5143
+ }
5144
+ },
5145
+ {
5146
+ "docs": {
5147
+ "stability": "experimental",
5148
+ "summary": "Security group attached to launched instances."
5149
+ },
5150
+ "immutable": true,
5151
+ "locationInModule": {
5152
+ "filename": "src/providers/ec2.ts",
5153
+ "line": 207
5154
+ },
5155
+ "name": "securityGroup",
5156
+ "optional": true,
5157
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
5158
+ "type": {
5159
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
5160
+ }
5161
+ },
5162
+ {
5163
+ "docs": {
5164
+ "stability": "experimental",
5165
+ "summary": "VPC subnet used for hosting launched instances."
5166
+ },
5167
+ "immutable": true,
5168
+ "locationInModule": {
5169
+ "filename": "src/providers/ec2.ts",
5170
+ "line": 202
5171
+ },
5172
+ "name": "subnet",
5173
+ "optional": true,
5174
+ "type": {
5175
+ "fqn": "aws-cdk-lib.aws_ec2.ISubnet"
5176
+ }
5177
+ }
5178
+ ],
5179
+ "symbolId": "src/providers/ec2:Ec2Runner"
5180
+ },
5181
+ "@cloudsnorkel/cdk-github-runners.Ec2RunnerProps": {
5182
+ "assembly": "@cloudsnorkel/cdk-github-runners",
5183
+ "datatype": true,
5184
+ "docs": {
5185
+ "stability": "experimental",
5186
+ "summary": "Properties for {@link Ec2Runner} construct."
5187
+ },
5188
+ "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProps",
5189
+ "interfaces": [
5190
+ "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
5191
+ ],
5192
+ "kind": "interface",
5193
+ "locationInModule": {
5194
+ "filename": "src/providers/ec2.ts",
5195
+ "line": 126
5196
+ },
5197
+ "name": "Ec2RunnerProps",
5198
+ "properties": [
5199
+ {
5200
+ "abstract": true,
5201
+ "docs": {
5202
+ "default": "AMI builder for Ubuntu Linux",
5203
+ "remarks": "On Linux, a user named `runner` is expected to exist with access to Docker.",
5204
+ "stability": "experimental",
5205
+ "summary": "AMI builder that creates AMIs with GitHub runner pre-configured."
5206
+ },
5207
+ "immutable": true,
5208
+ "locationInModule": {
5209
+ "filename": "src/providers/ec2.ts",
5210
+ "line": 132
5211
+ },
5212
+ "name": "amiBuilder",
5213
+ "optional": true,
5214
+ "type": {
5215
+ "fqn": "@cloudsnorkel/cdk-github-runners.IAmiBuilder"
5216
+ }
5217
+ },
5218
+ {
5219
+ "abstract": true,
5220
+ "docs": {
5221
+ "default": "m5.large",
5222
+ "stability": "experimental",
5223
+ "summary": "Instance type for launched runner instances."
5224
+ },
5225
+ "immutable": true,
5226
+ "locationInModule": {
5227
+ "filename": "src/providers/ec2.ts",
5228
+ "line": 150
5229
+ },
5230
+ "name": "instanceType",
5231
+ "optional": true,
5232
+ "type": {
5233
+ "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
5234
+ }
5235
+ },
5236
+ {
5237
+ "abstract": true,
5238
+ "docs": {
5239
+ "default": "['ec2']",
5240
+ "remarks": "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\nbased 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\njob's labels, this provider will be chosen and spawn a new runner.",
5241
+ "stability": "experimental",
5242
+ "summary": "GitHub Actions labels used for this provider."
5243
+ },
5244
+ "immutable": true,
5245
+ "locationInModule": {
5246
+ "filename": "src/providers/ec2.ts",
5247
+ "line": 143
5248
+ },
5249
+ "name": "labels",
5250
+ "optional": true,
5251
+ "type": {
5252
+ "collection": {
5253
+ "elementtype": {
5254
+ "primitive": "string"
5255
+ },
5256
+ "kind": "array"
5257
+ }
5258
+ }
5259
+ },
5260
+ {
5261
+ "abstract": true,
5262
+ "docs": {
5263
+ "default": "account's default security group",
5264
+ "stability": "experimental",
5265
+ "summary": "Security Group to assign to launched runner instances."
5266
+ },
5267
+ "immutable": true,
5268
+ "locationInModule": {
5269
+ "filename": "src/providers/ec2.ts",
5270
+ "line": 164
5271
+ },
5272
+ "name": "securityGroup",
5273
+ "optional": true,
5274
+ "type": {
5275
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
5276
+ }
5277
+ },
5278
+ {
5279
+ "abstract": true,
5280
+ "docs": {
5281
+ "default": "false",
5282
+ "remarks": "Spot instances are cheaper but not always available and can be stopped prematurely.",
5283
+ "stability": "experimental",
5284
+ "summary": "Use spot instances to save money."
5285
+ },
5286
+ "immutable": true,
5287
+ "locationInModule": {
5288
+ "filename": "src/providers/ec2.ts",
5289
+ "line": 178
5290
+ },
5291
+ "name": "spot",
5292
+ "optional": true,
5293
+ "type": {
5294
+ "primitive": "boolean"
5295
+ }
5296
+ },
5297
+ {
5298
+ "abstract": true,
5299
+ "docs": {
5300
+ "default": "no max price (you will pay current spot price)",
5301
+ "stability": "experimental",
5302
+ "summary": "Set a maximum price for spot instances."
5303
+ },
5304
+ "immutable": true,
5305
+ "locationInModule": {
5306
+ "filename": "src/providers/ec2.ts",
5307
+ "line": 185
5308
+ },
5309
+ "name": "spotMaxPrice",
5310
+ "optional": true,
5311
+ "type": {
5312
+ "primitive": "string"
5313
+ }
5314
+ },
5315
+ {
5316
+ "abstract": true,
5317
+ "docs": {
5318
+ "default": "30GB",
5319
+ "remarks": "This modifies the boot volume size and doesn't add any additional volumes.",
5320
+ "stability": "experimental",
5321
+ "summary": "Size of volume available for launched runner instances."
5322
+ },
5323
+ "immutable": true,
5324
+ "locationInModule": {
5325
+ "filename": "src/providers/ec2.ts",
5326
+ "line": 157
5327
+ },
5328
+ "name": "storageSize",
5329
+ "optional": true,
5330
+ "type": {
5331
+ "fqn": "aws-cdk-lib.Size"
5332
+ }
5333
+ },
5334
+ {
5335
+ "abstract": true,
5336
+ "docs": {
5337
+ "default": "default subnet of account's default VPC",
5338
+ "stability": "experimental",
5339
+ "summary": "Subnet where the runner instances will be launched."
5340
+ },
5341
+ "immutable": true,
5342
+ "locationInModule": {
5343
+ "filename": "src/providers/ec2.ts",
5344
+ "line": 171
5345
+ },
5346
+ "name": "subnet",
5347
+ "optional": true,
5348
+ "type": {
5349
+ "fqn": "aws-cdk-lib.aws_ec2.ISubnet"
5350
+ }
5351
+ }
5352
+ ],
5353
+ "symbolId": "src/providers/ec2:Ec2RunnerProps"
5354
+ },
4918
5355
  "@cloudsnorkel/cdk-github-runners.FargateRunner": {
4919
5356
  "assembly": "@cloudsnorkel/cdk-github-runners",
4920
5357
  "base": "constructs.Construct",
@@ -5808,6 +6245,43 @@
5808
6245
  ],
5809
6246
  "symbolId": "src/runner:GitHubRunnersProps"
5810
6247
  },
6248
+ "@cloudsnorkel/cdk-github-runners.IAmiBuilder": {
6249
+ "assembly": "@cloudsnorkel/cdk-github-runners",
6250
+ "docs": {
6251
+ "remarks": "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.\n\nThe AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.",
6252
+ "stability": "experimental",
6253
+ "summary": "Interface for constructs that build an AMI that can be used in {@link IRunnerProvider}."
6254
+ },
6255
+ "fqn": "@cloudsnorkel/cdk-github-runners.IAmiBuilder",
6256
+ "kind": "interface",
6257
+ "locationInModule": {
6258
+ "filename": "src/providers/common.ts",
6259
+ "line": 236
6260
+ },
6261
+ "methods": [
6262
+ {
6263
+ "abstract": true,
6264
+ "docs": {
6265
+ "remarks": "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.",
6266
+ "returns": "ami",
6267
+ "stability": "experimental",
6268
+ "summary": "Finalize and return all required information about the AMI built by this builder."
6269
+ },
6270
+ "locationInModule": {
6271
+ "filename": "src/providers/common.ts",
6272
+ "line": 244
6273
+ },
6274
+ "name": "bind",
6275
+ "returns": {
6276
+ "type": {
6277
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
6278
+ }
6279
+ }
6280
+ }
6281
+ ],
6282
+ "name": "IAmiBuilder",
6283
+ "symbolId": "src/providers/common:IAmiBuilder"
6284
+ },
5811
6285
  "@cloudsnorkel/cdk-github-runners.IImageBuilder": {
5812
6286
  "assembly": "@cloudsnorkel/cdk-github-runners",
5813
6287
  "docs": {
@@ -7489,6 +7963,105 @@
7489
7963
  ],
7490
7964
  "symbolId": "src/providers/common:Os"
7491
7965
  },
7966
+ "@cloudsnorkel/cdk-github-runners.RunnerAmi": {
7967
+ "assembly": "@cloudsnorkel/cdk-github-runners",
7968
+ "datatype": true,
7969
+ "docs": {
7970
+ "stability": "experimental",
7971
+ "summary": "Description of a AMI built by {@link IAmiBuilder}."
7972
+ },
7973
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi",
7974
+ "kind": "interface",
7975
+ "locationInModule": {
7976
+ "filename": "src/providers/common.ts",
7977
+ "line": 202
7978
+ },
7979
+ "name": "RunnerAmi",
7980
+ "properties": [
7981
+ {
7982
+ "abstract": true,
7983
+ "docs": {
7984
+ "stability": "experimental",
7985
+ "summary": "Architecture of the image."
7986
+ },
7987
+ "immutable": true,
7988
+ "locationInModule": {
7989
+ "filename": "src/providers/common.ts",
7990
+ "line": 211
7991
+ },
7992
+ "name": "architecture",
7993
+ "type": {
7994
+ "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
7995
+ }
7996
+ },
7997
+ {
7998
+ "abstract": true,
7999
+ "docs": {
8000
+ "stability": "experimental",
8001
+ "summary": "Launch template pointing to the latest AMI."
8002
+ },
8003
+ "immutable": true,
8004
+ "locationInModule": {
8005
+ "filename": "src/providers/common.ts",
8006
+ "line": 206
8007
+ },
8008
+ "name": "launchTemplate",
8009
+ "type": {
8010
+ "fqn": "aws-cdk-lib.aws_ec2.ILaunchTemplate"
8011
+ }
8012
+ },
8013
+ {
8014
+ "abstract": true,
8015
+ "docs": {
8016
+ "stability": "experimental",
8017
+ "summary": "OS type of the image."
8018
+ },
8019
+ "immutable": true,
8020
+ "locationInModule": {
8021
+ "filename": "src/providers/common.ts",
8022
+ "line": 216
8023
+ },
8024
+ "name": "os",
8025
+ "type": {
8026
+ "fqn": "@cloudsnorkel/cdk-github-runners.Os"
8027
+ }
8028
+ },
8029
+ {
8030
+ "abstract": true,
8031
+ "docs": {
8032
+ "stability": "experimental",
8033
+ "summary": "Installed runner version."
8034
+ },
8035
+ "immutable": true,
8036
+ "locationInModule": {
8037
+ "filename": "src/providers/common.ts",
8038
+ "line": 226
8039
+ },
8040
+ "name": "runnerVersion",
8041
+ "type": {
8042
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
8043
+ }
8044
+ },
8045
+ {
8046
+ "abstract": true,
8047
+ "docs": {
8048
+ "stability": "experimental",
8049
+ "summary": "Log group where image builds are logged."
8050
+ },
8051
+ "immutable": true,
8052
+ "locationInModule": {
8053
+ "filename": "src/providers/common.ts",
8054
+ "line": 221
8055
+ },
8056
+ "name": "logGroup",
8057
+ "optional": true,
8058
+ "type": {
8059
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup"
8060
+ }
8061
+ }
8062
+ ],
8063
+ "symbolId": "src/providers/common:RunnerAmi"
8064
+ },
7492
8065
  "@cloudsnorkel/cdk-github-runners.RunnerImage": {
7493
8066
  "assembly": "@cloudsnorkel/cdk-github-runners",
7494
8067
  "datatype": true,
@@ -8322,6 +8895,6 @@
8322
8895
  "symbolId": "src/providers/image-builders/windows-components:WindowsComponents"
8323
8896
  }
8324
8897
  },
8325
- "version": "0.6.0",
8326
- "fingerprint": "hscwjQdZoW1Xlx10opRG51XHwCVQr0oA3/mq4GIIRJU="
8898
+ "version": "0.6.1",
8899
+ "fingerprint": "06rx1yqOjlpbO4/j7k8pveUDpwq2iKNbGv006geBzxs="
8327
8900
  }