@cloudsnorkel/cdk-github-runners 0.7.1 → 0.7.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 CHANGED
@@ -3169,6 +3169,629 @@
3169
3169
  }
3170
3170
  },
3171
3171
  "types": {
3172
+ "@cloudsnorkel/cdk-github-runners.AmiBuilder": {
3173
+ "assembly": "@cloudsnorkel/cdk-github-runners",
3174
+ "base": "constructs.Construct",
3175
+ "docs": {
3176
+ "remarks": "Builders can be used with {@link Ec2Runner}.\n\nEach builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.\n\nYou can create an instance of this construct to customize the AMI used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation.\n\nFor example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the EC2 provider, use:\n\n```\nconst builder = new AmiBuilder(this, 'Builder', {\n runnerVersion: RunnerVersion.specific('2.293.0'),\n rebuildInterval: Duration.days(14),\n});\nbuilder.addComponent(new ImageBuilderComponent(scope, id, {\n platform: 'Linux',\n displayName: 'p7zip',\n description: 'Install some more packages',\n commands: [\n 'set -ex',\n 'apt-get install p7zip',\n ],\n}));\nnew Ec2Runner(this, 'EC2 provider', {\n label: 'custom-ec2',\n amiBuilder: builder,\n});\n```",
3177
+ "stability": "experimental",
3178
+ "summary": "An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements."
3179
+ },
3180
+ "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilder",
3181
+ "initializer": {
3182
+ "docs": {
3183
+ "stability": "experimental"
3184
+ },
3185
+ "locationInModule": {
3186
+ "filename": "src/providers/image-builders/ami.ts",
3187
+ "line": 223
3188
+ },
3189
+ "parameters": [
3190
+ {
3191
+ "name": "scope",
3192
+ "type": {
3193
+ "fqn": "constructs.Construct"
3194
+ }
3195
+ },
3196
+ {
3197
+ "name": "id",
3198
+ "type": {
3199
+ "primitive": "string"
3200
+ }
3201
+ },
3202
+ {
3203
+ "name": "props",
3204
+ "optional": true,
3205
+ "type": {
3206
+ "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilderProps"
3207
+ }
3208
+ }
3209
+ ]
3210
+ },
3211
+ "interfaces": [
3212
+ "@cloudsnorkel/cdk-github-runners.IAmiBuilder",
3213
+ "aws-cdk-lib.aws_ec2.IConnectable"
3214
+ ],
3215
+ "kind": "class",
3216
+ "locationInModule": {
3217
+ "filename": "src/providers/image-builders/ami.ts",
3218
+ "line": 220
3219
+ },
3220
+ "methods": [
3221
+ {
3222
+ "docs": {
3223
+ "stability": "experimental",
3224
+ "summary": "Add a component to be installed."
3225
+ },
3226
+ "locationInModule": {
3227
+ "filename": "src/providers/image-builders/ami.ts",
3228
+ "line": 285
3229
+ },
3230
+ "name": "addComponent",
3231
+ "parameters": [
3232
+ {
3233
+ "name": "component",
3234
+ "type": {
3235
+ "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
3236
+ }
3237
+ }
3238
+ ]
3239
+ },
3240
+ {
3241
+ "docs": {
3242
+ "remarks": "This helps deal with self-signed certificates for GitHub Enterprise Server.",
3243
+ "stability": "experimental",
3244
+ "summary": "Add extra trusted certificates."
3245
+ },
3246
+ "locationInModule": {
3247
+ "filename": "src/providers/image-builders/ami.ts",
3248
+ "line": 300
3249
+ },
3250
+ "name": "addExtraCertificates",
3251
+ "parameters": [
3252
+ {
3253
+ "docs": {
3254
+ "summary": "path to directory containing a file called certs.pem containing all the required certificates."
3255
+ },
3256
+ "name": "path",
3257
+ "type": {
3258
+ "primitive": "string"
3259
+ }
3260
+ }
3261
+ ]
3262
+ },
3263
+ {
3264
+ "docs": {
3265
+ "stability": "experimental",
3266
+ "summary": "Called by IRunnerProvider to finalize settings and create the AMI builder."
3267
+ },
3268
+ "locationInModule": {
3269
+ "filename": "src/providers/image-builders/ami.ts",
3270
+ "line": 313
3271
+ },
3272
+ "name": "bind",
3273
+ "overrides": "@cloudsnorkel/cdk-github-runners.IAmiBuilder",
3274
+ "returns": {
3275
+ "type": {
3276
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
3277
+ }
3278
+ }
3279
+ },
3280
+ {
3281
+ "docs": {
3282
+ "stability": "experimental"
3283
+ },
3284
+ "locationInModule": {
3285
+ "filename": "src/providers/image-builders/common.ts",
3286
+ "line": 452
3287
+ },
3288
+ "name": "createImage",
3289
+ "parameters": [
3290
+ {
3291
+ "name": "infra",
3292
+ "type": {
3293
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
3294
+ }
3295
+ },
3296
+ {
3297
+ "name": "dist",
3298
+ "type": {
3299
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
3300
+ }
3301
+ },
3302
+ {
3303
+ "name": "log",
3304
+ "type": {
3305
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup"
3306
+ }
3307
+ },
3308
+ {
3309
+ "name": "imageRecipeArn",
3310
+ "optional": true,
3311
+ "type": {
3312
+ "primitive": "string"
3313
+ }
3314
+ },
3315
+ {
3316
+ "name": "containerRecipeArn",
3317
+ "optional": true,
3318
+ "type": {
3319
+ "primitive": "string"
3320
+ }
3321
+ }
3322
+ ],
3323
+ "protected": true,
3324
+ "returns": {
3325
+ "type": {
3326
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImage"
3327
+ }
3328
+ }
3329
+ },
3330
+ {
3331
+ "docs": {
3332
+ "stability": "experimental"
3333
+ },
3334
+ "locationInModule": {
3335
+ "filename": "src/providers/image-builders/common.ts",
3336
+ "line": 428
3337
+ },
3338
+ "name": "createInfrastructure",
3339
+ "parameters": [
3340
+ {
3341
+ "name": "managedPolicies",
3342
+ "type": {
3343
+ "collection": {
3344
+ "elementtype": {
3345
+ "fqn": "aws-cdk-lib.aws_iam.IManagedPolicy"
3346
+ },
3347
+ "kind": "array"
3348
+ }
3349
+ }
3350
+ }
3351
+ ],
3352
+ "protected": true,
3353
+ "returns": {
3354
+ "type": {
3355
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
3356
+ }
3357
+ }
3358
+ },
3359
+ {
3360
+ "docs": {
3361
+ "stability": "experimental"
3362
+ },
3363
+ "locationInModule": {
3364
+ "filename": "src/providers/image-builders/common.ts",
3365
+ "line": 420
3366
+ },
3367
+ "name": "createLog",
3368
+ "parameters": [
3369
+ {
3370
+ "name": "recipeName",
3371
+ "type": {
3372
+ "primitive": "string"
3373
+ }
3374
+ }
3375
+ ],
3376
+ "protected": true,
3377
+ "returns": {
3378
+ "type": {
3379
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup"
3380
+ }
3381
+ }
3382
+ },
3383
+ {
3384
+ "docs": {
3385
+ "stability": "experimental"
3386
+ },
3387
+ "locationInModule": {
3388
+ "filename": "src/providers/image-builders/common.ts",
3389
+ "line": 469
3390
+ },
3391
+ "name": "createPipeline",
3392
+ "parameters": [
3393
+ {
3394
+ "name": "infra",
3395
+ "type": {
3396
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
3397
+ }
3398
+ },
3399
+ {
3400
+ "name": "dist",
3401
+ "type": {
3402
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
3403
+ }
3404
+ },
3405
+ {
3406
+ "name": "log",
3407
+ "type": {
3408
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup"
3409
+ }
3410
+ },
3411
+ {
3412
+ "name": "imageRecipeArn",
3413
+ "optional": true,
3414
+ "type": {
3415
+ "primitive": "string"
3416
+ }
3417
+ },
3418
+ {
3419
+ "name": "containerRecipeArn",
3420
+ "optional": true,
3421
+ "type": {
3422
+ "primitive": "string"
3423
+ }
3424
+ }
3425
+ ],
3426
+ "protected": true,
3427
+ "returns": {
3428
+ "type": {
3429
+ "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImagePipeline"
3430
+ }
3431
+ }
3432
+ },
3433
+ {
3434
+ "docs": {
3435
+ "remarks": "Useful for required system settings like certificates or proxy settings.",
3436
+ "stability": "experimental",
3437
+ "summary": "Add a component to be installed before any other components."
3438
+ },
3439
+ "locationInModule": {
3440
+ "filename": "src/providers/image-builders/ami.ts",
3441
+ "line": 271
3442
+ },
3443
+ "name": "prependComponent",
3444
+ "parameters": [
3445
+ {
3446
+ "name": "component",
3447
+ "type": {
3448
+ "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
3449
+ }
3450
+ }
3451
+ ]
3452
+ }
3453
+ ],
3454
+ "name": "AmiBuilder",
3455
+ "properties": [
3456
+ {
3457
+ "docs": {
3458
+ "stability": "experimental"
3459
+ },
3460
+ "immutable": true,
3461
+ "locationInModule": {
3462
+ "filename": "src/providers/image-builders/common.ts",
3463
+ "line": 343
3464
+ },
3465
+ "name": "architecture",
3466
+ "protected": true,
3467
+ "type": {
3468
+ "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
3469
+ }
3470
+ },
3471
+ {
3472
+ "docs": {
3473
+ "stability": "experimental",
3474
+ "summary": "The network connections associated with this resource."
3475
+ },
3476
+ "immutable": true,
3477
+ "locationInModule": {
3478
+ "filename": "src/providers/image-builders/common.ts",
3479
+ "line": 499
3480
+ },
3481
+ "name": "connections",
3482
+ "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
3483
+ "type": {
3484
+ "fqn": "aws-cdk-lib.aws_ec2.Connections"
3485
+ }
3486
+ },
3487
+ {
3488
+ "docs": {
3489
+ "stability": "experimental"
3490
+ },
3491
+ "immutable": true,
3492
+ "locationInModule": {
3493
+ "filename": "src/providers/image-builders/common.ts",
3494
+ "line": 347
3495
+ },
3496
+ "name": "description",
3497
+ "protected": true,
3498
+ "type": {
3499
+ "primitive": "string"
3500
+ }
3501
+ },
3502
+ {
3503
+ "docs": {
3504
+ "stability": "experimental"
3505
+ },
3506
+ "immutable": true,
3507
+ "locationInModule": {
3508
+ "filename": "src/providers/image-builders/common.ts",
3509
+ "line": 344
3510
+ },
3511
+ "name": "os",
3512
+ "protected": true,
3513
+ "type": {
3514
+ "fqn": "@cloudsnorkel/cdk-github-runners.Os"
3515
+ }
3516
+ },
3517
+ {
3518
+ "docs": {
3519
+ "stability": "experimental"
3520
+ },
3521
+ "immutable": true,
3522
+ "locationInModule": {
3523
+ "filename": "src/providers/image-builders/common.ts",
3524
+ "line": 345
3525
+ },
3526
+ "name": "platform",
3527
+ "protected": true,
3528
+ "type": {
3529
+ "primitive": "string"
3530
+ }
3531
+ },
3532
+ {
3533
+ "docs": {
3534
+ "stability": "experimental"
3535
+ },
3536
+ "immutable": true,
3537
+ "locationInModule": {
3538
+ "filename": "src/providers/image-builders/common.ts",
3539
+ "line": 349
3540
+ },
3541
+ "name": "runnerVersion",
3542
+ "protected": true,
3543
+ "type": {
3544
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
3545
+ }
3546
+ },
3547
+ {
3548
+ "docs": {
3549
+ "stability": "experimental"
3550
+ },
3551
+ "locationInModule": {
3552
+ "filename": "src/providers/image-builders/common.ts",
3553
+ "line": 351
3554
+ },
3555
+ "name": "components",
3556
+ "protected": true,
3557
+ "type": {
3558
+ "collection": {
3559
+ "elementtype": {
3560
+ "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
3561
+ },
3562
+ "kind": "array"
3563
+ }
3564
+ }
3565
+ }
3566
+ ],
3567
+ "symbolId": "src/providers/image-builders/ami:AmiBuilder"
3568
+ },
3569
+ "@cloudsnorkel/cdk-github-runners.AmiBuilderProps": {
3570
+ "assembly": "@cloudsnorkel/cdk-github-runners",
3571
+ "datatype": true,
3572
+ "docs": {
3573
+ "stability": "experimental",
3574
+ "summary": "Properties for {@link AmiBuilder} construct."
3575
+ },
3576
+ "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilderProps",
3577
+ "kind": "interface",
3578
+ "locationInModule": {
3579
+ "filename": "src/providers/image-builders/ami.ts",
3580
+ "line": 24
3581
+ },
3582
+ "name": "AmiBuilderProps",
3583
+ "properties": [
3584
+ {
3585
+ "abstract": true,
3586
+ "docs": {
3587
+ "default": "Architecture.X86_64",
3588
+ "stability": "experimental",
3589
+ "summary": "Image architecture."
3590
+ },
3591
+ "immutable": true,
3592
+ "locationInModule": {
3593
+ "filename": "src/providers/image-builders/ami.ts",
3594
+ "line": 30
3595
+ },
3596
+ "name": "architecture",
3597
+ "optional": true,
3598
+ "type": {
3599
+ "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
3600
+ }
3601
+ },
3602
+ {
3603
+ "abstract": true,
3604
+ "docs": {
3605
+ "default": "m5.large",
3606
+ "stability": "experimental",
3607
+ "summary": "The instance type used to build the image."
3608
+ },
3609
+ "immutable": true,
3610
+ "locationInModule": {
3611
+ "filename": "src/providers/image-builders/ami.ts",
3612
+ "line": 90
3613
+ },
3614
+ "name": "instanceType",
3615
+ "optional": true,
3616
+ "type": {
3617
+ "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
3618
+ }
3619
+ },
3620
+ {
3621
+ "abstract": true,
3622
+ "docs": {
3623
+ "default": "RemovalPolicy.DESTROY",
3624
+ "remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
3625
+ "stability": "experimental",
3626
+ "summary": "Removal policy for logs of image builds."
3627
+ },
3628
+ "immutable": true,
3629
+ "locationInModule": {
3630
+ "filename": "src/providers/image-builders/ami.ts",
3631
+ "line": 108
3632
+ },
3633
+ "name": "logRemovalPolicy",
3634
+ "optional": true,
3635
+ "type": {
3636
+ "fqn": "aws-cdk-lib.RemovalPolicy"
3637
+ }
3638
+ },
3639
+ {
3640
+ "abstract": true,
3641
+ "docs": {
3642
+ "default": "logs.RetentionDays.ONE_MONTH",
3643
+ "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
3644
+ "stability": "experimental",
3645
+ "summary": "The number of days log events are kept in CloudWatch Logs."
3646
+ },
3647
+ "immutable": true,
3648
+ "locationInModule": {
3649
+ "filename": "src/providers/image-builders/ami.ts",
3650
+ "line": 99
3651
+ },
3652
+ "name": "logRetention",
3653
+ "optional": true,
3654
+ "type": {
3655
+ "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
3656
+ }
3657
+ },
3658
+ {
3659
+ "abstract": true,
3660
+ "docs": {
3661
+ "default": "OS.LINUX",
3662
+ "stability": "experimental",
3663
+ "summary": "Image OS."
3664
+ },
3665
+ "immutable": true,
3666
+ "locationInModule": {
3667
+ "filename": "src/providers/image-builders/ami.ts",
3668
+ "line": 37
3669
+ },
3670
+ "name": "os",
3671
+ "optional": true,
3672
+ "type": {
3673
+ "fqn": "@cloudsnorkel/cdk-github-runners.Os"
3674
+ }
3675
+ },
3676
+ {
3677
+ "abstract": true,
3678
+ "docs": {
3679
+ "default": "Duration.days(7)",
3680
+ "remarks": "Useful for keeping the AMI up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
3681
+ "stability": "experimental",
3682
+ "summary": "Schedule the AMI to be rebuilt every given interval."
3683
+ },
3684
+ "immutable": true,
3685
+ "locationInModule": {
3686
+ "filename": "src/providers/image-builders/ami.ts",
3687
+ "line": 53
3688
+ },
3689
+ "name": "rebuildInterval",
3690
+ "optional": true,
3691
+ "type": {
3692
+ "fqn": "aws-cdk-lib.Duration"
3693
+ }
3694
+ },
3695
+ {
3696
+ "abstract": true,
3697
+ "docs": {
3698
+ "default": "latest version available",
3699
+ "stability": "experimental",
3700
+ "summary": "Version of GitHub Runners to install."
3701
+ },
3702
+ "immutable": true,
3703
+ "locationInModule": {
3704
+ "filename": "src/providers/image-builders/ami.ts",
3705
+ "line": 44
3706
+ },
3707
+ "name": "runnerVersion",
3708
+ "optional": true,
3709
+ "type": {
3710
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
3711
+ }
3712
+ },
3713
+ {
3714
+ "abstract": true,
3715
+ "docs": {
3716
+ "default": "new security group",
3717
+ "deprecated": "use {@link securityGroups}",
3718
+ "stability": "deprecated",
3719
+ "summary": "Security group to assign to launched builder instances."
3720
+ },
3721
+ "immutable": true,
3722
+ "locationInModule": {
3723
+ "filename": "src/providers/image-builders/ami.ts",
3724
+ "line": 69
3725
+ },
3726
+ "name": "securityGroup",
3727
+ "optional": true,
3728
+ "type": {
3729
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
3730
+ }
3731
+ },
3732
+ {
3733
+ "abstract": true,
3734
+ "docs": {
3735
+ "default": "new security group",
3736
+ "stability": "experimental",
3737
+ "summary": "Security groups to assign to launched builder instances."
3738
+ },
3739
+ "immutable": true,
3740
+ "locationInModule": {
3741
+ "filename": "src/providers/image-builders/ami.ts",
3742
+ "line": 76
3743
+ },
3744
+ "name": "securityGroups",
3745
+ "optional": true,
3746
+ "type": {
3747
+ "collection": {
3748
+ "elementtype": {
3749
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
3750
+ },
3751
+ "kind": "array"
3752
+ }
3753
+ }
3754
+ },
3755
+ {
3756
+ "abstract": true,
3757
+ "docs": {
3758
+ "default": "default VPC subnet",
3759
+ "remarks": "Only the first matched subnet will be used.",
3760
+ "stability": "experimental",
3761
+ "summary": "Where to place the network interfaces within the VPC."
3762
+ },
3763
+ "immutable": true,
3764
+ "locationInModule": {
3765
+ "filename": "src/providers/image-builders/ami.ts",
3766
+ "line": 83
3767
+ },
3768
+ "name": "subnetSelection",
3769
+ "optional": true,
3770
+ "type": {
3771
+ "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
3772
+ }
3773
+ },
3774
+ {
3775
+ "abstract": true,
3776
+ "docs": {
3777
+ "default": "default account VPC",
3778
+ "stability": "experimental",
3779
+ "summary": "VPC where builder instances will be launched."
3780
+ },
3781
+ "immutable": true,
3782
+ "locationInModule": {
3783
+ "filename": "src/providers/image-builders/ami.ts",
3784
+ "line": 60
3785
+ },
3786
+ "name": "vpc",
3787
+ "optional": true,
3788
+ "type": {
3789
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
3790
+ }
3791
+ }
3792
+ ],
3793
+ "symbolId": "src/providers/image-builders/ami:AmiBuilderProps"
3794
+ },
3172
3795
  "@cloudsnorkel/cdk-github-runners.Architecture": {
3173
3796
  "assembly": "@cloudsnorkel/cdk-github-runners",
3174
3797
  "docs": {
@@ -9013,6 +9636,6 @@
9013
9636
  "symbolId": "src/providers/image-builders/windows-components:WindowsComponents"
9014
9637
  }
9015
9638
  },
9016
- "version": "0.7.1",
9017
- "fingerprint": "nV06UyftJlEK3eahLrUS/kkWduUHm+k6O9W1v2jTDX4="
9639
+ "version": "0.7.2",
9640
+ "fingerprint": "4HxP5z3vyA+XMrHiQPYYCxZms8CLpqg1YeSfxwpEKtk="
9018
9641
  }