@cloudsnorkel/cdk-github-runners 0.9.2 → 0.9.3

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
@@ -6651,6 +6651,660 @@
6651
6651
  ],
6652
6652
  "symbolId": "src/providers/ec2:Ec2RunnerProviderProps"
6653
6653
  },
6654
+ "@cloudsnorkel/cdk-github-runners.EcsRunnerProvider": {
6655
+ "assembly": "@cloudsnorkel/cdk-github-runners",
6656
+ "base": "constructs.Construct",
6657
+ "docs": {
6658
+ "remarks": "ECS can be useful when you want more control of the infrastructure running the GitHub Actions Docker containers. You can control the autoscaling\ngroup to scale down to zero during the night and scale up during work hours. This way you can still save money, but have to wait less for\ninfrastructure to spin up.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
6659
+ "stability": "experimental",
6660
+ "summary": "GitHub Actions runner provider using ECS on EC2 to execute jobs."
6661
+ },
6662
+ "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProvider",
6663
+ "initializer": {
6664
+ "docs": {
6665
+ "stability": "experimental"
6666
+ },
6667
+ "locationInModule": {
6668
+ "filename": "src/providers/ecs.ts",
6669
+ "line": 296
6670
+ },
6671
+ "parameters": [
6672
+ {
6673
+ "name": "scope",
6674
+ "type": {
6675
+ "fqn": "constructs.Construct"
6676
+ }
6677
+ },
6678
+ {
6679
+ "name": "id",
6680
+ "type": {
6681
+ "primitive": "string"
6682
+ }
6683
+ },
6684
+ {
6685
+ "name": "props",
6686
+ "optional": true,
6687
+ "type": {
6688
+ "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps"
6689
+ }
6690
+ }
6691
+ ]
6692
+ },
6693
+ "interfaces": [
6694
+ "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
6695
+ ],
6696
+ "kind": "class",
6697
+ "locationInModule": {
6698
+ "filename": "src/providers/ecs.ts",
6699
+ "line": 194
6700
+ },
6701
+ "methods": [
6702
+ {
6703
+ "docs": {
6704
+ "remarks": "Included components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.dockerInDocker()`\n * `RunnerImageComponent.githubRunner()`",
6705
+ "stability": "experimental",
6706
+ "summary": "Create new image builder that builds ECS specific runner images using Ubuntu."
6707
+ },
6708
+ "locationInModule": {
6709
+ "filename": "src/providers/ecs.ts",
6710
+ "line": 207
6711
+ },
6712
+ "name": "imageBuilder",
6713
+ "parameters": [
6714
+ {
6715
+ "name": "scope",
6716
+ "type": {
6717
+ "fqn": "constructs.Construct"
6718
+ }
6719
+ },
6720
+ {
6721
+ "name": "id",
6722
+ "type": {
6723
+ "primitive": "string"
6724
+ }
6725
+ },
6726
+ {
6727
+ "name": "props",
6728
+ "optional": true,
6729
+ "type": {
6730
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
6731
+ }
6732
+ }
6733
+ ],
6734
+ "returns": {
6735
+ "type": {
6736
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder"
6737
+ }
6738
+ },
6739
+ "static": true
6740
+ },
6741
+ {
6742
+ "docs": {
6743
+ "stability": "experimental"
6744
+ },
6745
+ "locationInModule": {
6746
+ "filename": "src/providers/common.ts",
6747
+ "line": 467
6748
+ },
6749
+ "name": "addRetry",
6750
+ "parameters": [
6751
+ {
6752
+ "name": "task",
6753
+ "type": {
6754
+ "union": {
6755
+ "types": [
6756
+ {
6757
+ "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
6758
+ },
6759
+ {
6760
+ "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
6761
+ }
6762
+ ]
6763
+ }
6764
+ }
6765
+ },
6766
+ {
6767
+ "name": "errors",
6768
+ "type": {
6769
+ "collection": {
6770
+ "elementtype": {
6771
+ "primitive": "string"
6772
+ },
6773
+ "kind": "array"
6774
+ }
6775
+ }
6776
+ }
6777
+ ],
6778
+ "protected": true
6779
+ },
6780
+ {
6781
+ "docs": {
6782
+ "remarks": "Called by GithubRunners and shouldn't be called manually.",
6783
+ "stability": "experimental",
6784
+ "summary": "Generate step function task(s) to start a new runner."
6785
+ },
6786
+ "locationInModule": {
6787
+ "filename": "src/providers/ecs.ts",
6788
+ "line": 449
6789
+ },
6790
+ "name": "getStepFunctionTask",
6791
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6792
+ "parameters": [
6793
+ {
6794
+ "docs": {
6795
+ "summary": "workflow job details."
6796
+ },
6797
+ "name": "parameters",
6798
+ "type": {
6799
+ "fqn": "@cloudsnorkel/cdk-github-runners.RunnerRuntimeParameters"
6800
+ }
6801
+ }
6802
+ ],
6803
+ "returns": {
6804
+ "type": {
6805
+ "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
6806
+ }
6807
+ }
6808
+ },
6809
+ {
6810
+ "docs": {
6811
+ "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}.",
6812
+ "stability": "experimental",
6813
+ "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
6814
+ },
6815
+ "locationInModule": {
6816
+ "filename": "src/providers/ecs.ts",
6817
+ "line": 498
6818
+ },
6819
+ "name": "grantStateMachine",
6820
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6821
+ "parameters": [
6822
+ {
6823
+ "name": "_",
6824
+ "type": {
6825
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
6826
+ }
6827
+ }
6828
+ ]
6829
+ },
6830
+ {
6831
+ "docs": {
6832
+ "stability": "experimental"
6833
+ },
6834
+ "locationInModule": {
6835
+ "filename": "src/providers/common.ts",
6836
+ "line": 453
6837
+ },
6838
+ "name": "labelsFromProperties",
6839
+ "parameters": [
6840
+ {
6841
+ "name": "defaultLabel",
6842
+ "type": {
6843
+ "primitive": "string"
6844
+ }
6845
+ },
6846
+ {
6847
+ "name": "propsLabel",
6848
+ "optional": true,
6849
+ "type": {
6850
+ "primitive": "string"
6851
+ }
6852
+ },
6853
+ {
6854
+ "name": "propsLabels",
6855
+ "optional": true,
6856
+ "type": {
6857
+ "collection": {
6858
+ "elementtype": {
6859
+ "primitive": "string"
6860
+ },
6861
+ "kind": "array"
6862
+ }
6863
+ }
6864
+ }
6865
+ ],
6866
+ "protected": true,
6867
+ "returns": {
6868
+ "type": {
6869
+ "collection": {
6870
+ "elementtype": {
6871
+ "primitive": "string"
6872
+ },
6873
+ "kind": "array"
6874
+ }
6875
+ }
6876
+ }
6877
+ },
6878
+ {
6879
+ "docs": {
6880
+ "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
6881
+ "stability": "experimental",
6882
+ "summary": "Return status of the runner provider to be used in the main status function."
6883
+ },
6884
+ "locationInModule": {
6885
+ "filename": "src/providers/ecs.ts",
6886
+ "line": 501
6887
+ },
6888
+ "name": "status",
6889
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6890
+ "parameters": [
6891
+ {
6892
+ "name": "statusFunctionRole",
6893
+ "type": {
6894
+ "fqn": "aws-cdk-lib.aws_iam.IGrantable"
6895
+ }
6896
+ }
6897
+ ],
6898
+ "returns": {
6899
+ "type": {
6900
+ "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
6901
+ }
6902
+ }
6903
+ }
6904
+ ],
6905
+ "name": "EcsRunnerProvider",
6906
+ "properties": [
6907
+ {
6908
+ "docs": {
6909
+ "stability": "experimental",
6910
+ "summary": "The network connections associated with this resource."
6911
+ },
6912
+ "immutable": true,
6913
+ "locationInModule": {
6914
+ "filename": "src/providers/ecs.ts",
6915
+ "line": 272
6916
+ },
6917
+ "name": "connections",
6918
+ "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
6919
+ "type": {
6920
+ "fqn": "aws-cdk-lib.aws_ec2.Connections"
6921
+ }
6922
+ },
6923
+ {
6924
+ "docs": {
6925
+ "stability": "experimental",
6926
+ "summary": "Grant principal used to add permissions to the runner role."
6927
+ },
6928
+ "immutable": true,
6929
+ "locationInModule": {
6930
+ "filename": "src/providers/ecs.ts",
6931
+ "line": 267
6932
+ },
6933
+ "name": "grantPrincipal",
6934
+ "overrides": "aws-cdk-lib.aws_iam.IGrantable",
6935
+ "type": {
6936
+ "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
6937
+ }
6938
+ },
6939
+ {
6940
+ "docs": {
6941
+ "stability": "experimental",
6942
+ "summary": "Labels associated with this provider."
6943
+ },
6944
+ "immutable": true,
6945
+ "locationInModule": {
6946
+ "filename": "src/providers/ecs.ts",
6947
+ "line": 247
6948
+ },
6949
+ "name": "labels",
6950
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6951
+ "type": {
6952
+ "collection": {
6953
+ "elementtype": {
6954
+ "primitive": "string"
6955
+ },
6956
+ "kind": "array"
6957
+ }
6958
+ }
6959
+ },
6960
+ {
6961
+ "docs": {
6962
+ "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
6963
+ "stability": "experimental",
6964
+ "summary": "Log group where provided runners will save their logs."
6965
+ },
6966
+ "immutable": true,
6967
+ "locationInModule": {
6968
+ "filename": "src/providers/ecs.ts",
6969
+ "line": 284
6970
+ },
6971
+ "name": "logGroup",
6972
+ "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
6973
+ "type": {
6974
+ "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
6975
+ }
6976
+ }
6977
+ ],
6978
+ "symbolId": "src/providers/ecs:EcsRunnerProvider"
6979
+ },
6980
+ "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps": {
6981
+ "assembly": "@cloudsnorkel/cdk-github-runners",
6982
+ "datatype": true,
6983
+ "docs": {
6984
+ "stability": "experimental",
6985
+ "summary": "Properties for EcsRunnerProvider."
6986
+ },
6987
+ "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps",
6988
+ "interfaces": [
6989
+ "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
6990
+ ],
6991
+ "kind": "interface",
6992
+ "locationInModule": {
6993
+ "filename": "src/providers/ecs.ts",
6994
+ "line": 34
6995
+ },
6996
+ "name": "EcsRunnerProviderProps",
6997
+ "properties": [
6998
+ {
6999
+ "abstract": true,
7000
+ "docs": {
7001
+ "default": "true",
7002
+ "remarks": "Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway.",
7003
+ "stability": "experimental",
7004
+ "summary": "Assign public IP to the runner task."
7005
+ },
7006
+ "immutable": true,
7007
+ "locationInModule": {
7008
+ "filename": "src/providers/ecs.ts",
7009
+ "line": 97
7010
+ },
7011
+ "name": "assignPublicIp",
7012
+ "optional": true,
7013
+ "type": {
7014
+ "primitive": "boolean"
7015
+ }
7016
+ },
7017
+ {
7018
+ "abstract": true,
7019
+ "docs": {
7020
+ "default": "new capacity provider",
7021
+ "stability": "experimental",
7022
+ "summary": "Existing capacity provider to use."
7023
+ },
7024
+ "immutable": true,
7025
+ "locationInModule": {
7026
+ "filename": "src/providers/ecs.ts",
7027
+ "line": 88
7028
+ },
7029
+ "name": "capacityProvider",
7030
+ "optional": true,
7031
+ "type": {
7032
+ "fqn": "aws-cdk-lib.aws_ecs.AsgCapacityProvider"
7033
+ }
7034
+ },
7035
+ {
7036
+ "abstract": true,
7037
+ "docs": {
7038
+ "default": "a new cluster",
7039
+ "stability": "experimental",
7040
+ "summary": "Existing ECS cluster to use."
7041
+ },
7042
+ "immutable": true,
7043
+ "locationInModule": {
7044
+ "filename": "src/providers/ecs.ts",
7045
+ "line": 81
7046
+ },
7047
+ "name": "cluster",
7048
+ "optional": true,
7049
+ "type": {
7050
+ "fqn": "aws-cdk-lib.aws_ecs.Cluster"
7051
+ }
7052
+ },
7053
+ {
7054
+ "abstract": true,
7055
+ "docs": {
7056
+ "default": "1024",
7057
+ "remarks": "1024 units is 1 vCPU. Fractions of a vCPU are supported.",
7058
+ "stability": "experimental",
7059
+ "summary": "The number of cpu units used by the task."
7060
+ },
7061
+ "immutable": true,
7062
+ "locationInModule": {
7063
+ "filename": "src/providers/ecs.ts",
7064
+ "line": 104
7065
+ },
7066
+ "name": "cpu",
7067
+ "optional": true,
7068
+ "type": {
7069
+ "primitive": "number"
7070
+ }
7071
+ },
7072
+ {
7073
+ "abstract": true,
7074
+ "docs": {
7075
+ "default": "true",
7076
+ "remarks": "Disabling this can\nspeed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times.",
7077
+ "stability": "experimental",
7078
+ "summary": "Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode."
7079
+ },
7080
+ "immutable": true,
7081
+ "locationInModule": {
7082
+ "filename": "src/providers/ecs.ts",
7083
+ "line": 149
7084
+ },
7085
+ "name": "dockerInDocker",
7086
+ "optional": true,
7087
+ "type": {
7088
+ "primitive": "boolean"
7089
+ }
7090
+ },
7091
+ {
7092
+ "abstract": true,
7093
+ "docs": {
7094
+ "default": "EcsRunnerProvider.imageBuilder()",
7095
+ "remarks": "The image builder determines the OS and architecture of the runner.",
7096
+ "stability": "experimental",
7097
+ "summary": "Runner image builder used to build Docker images containing GitHub Runner and all requirements."
7098
+ },
7099
+ "immutable": true,
7100
+ "locationInModule": {
7101
+ "filename": "src/providers/ecs.ts",
7102
+ "line": 42
7103
+ },
7104
+ "name": "imageBuilder",
7105
+ "optional": true,
7106
+ "type": {
7107
+ "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
7108
+ }
7109
+ },
7110
+ {
7111
+ "abstract": true,
7112
+ "docs": {
7113
+ "default": "m5.large or m6g.large",
7114
+ "remarks": "Only used when creating a new cluster.",
7115
+ "stability": "experimental",
7116
+ "summary": "Instance type of ECS cluster instances."
7117
+ },
7118
+ "immutable": true,
7119
+ "locationInModule": {
7120
+ "filename": "src/providers/ecs.ts",
7121
+ "line": 118
7122
+ },
7123
+ "name": "instanceType",
7124
+ "optional": true,
7125
+ "type": {
7126
+ "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
7127
+ }
7128
+ },
7129
+ {
7130
+ "abstract": true,
7131
+ "docs": {
7132
+ "default": "['ecs']",
7133
+ "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.",
7134
+ "stability": "experimental",
7135
+ "summary": "GitHub Actions labels used for this provider."
7136
+ },
7137
+ "immutable": true,
7138
+ "locationInModule": {
7139
+ "filename": "src/providers/ecs.ts",
7140
+ "line": 53
7141
+ },
7142
+ "name": "labels",
7143
+ "optional": true,
7144
+ "type": {
7145
+ "collection": {
7146
+ "elementtype": {
7147
+ "primitive": "string"
7148
+ },
7149
+ "kind": "array"
7150
+ }
7151
+ }
7152
+ },
7153
+ {
7154
+ "abstract": true,
7155
+ "docs": {
7156
+ "default": "5",
7157
+ "remarks": "Only used when creating a new cluster.",
7158
+ "stability": "experimental",
7159
+ "summary": "The maximum number of instances to run in the cluster."
7160
+ },
7161
+ "immutable": true,
7162
+ "locationInModule": {
7163
+ "filename": "src/providers/ecs.ts",
7164
+ "line": 132
7165
+ },
7166
+ "name": "maxInstances",
7167
+ "optional": true,
7168
+ "type": {
7169
+ "primitive": "number"
7170
+ }
7171
+ },
7172
+ {
7173
+ "abstract": true,
7174
+ "docs": {
7175
+ "default": "3500",
7176
+ "stability": "experimental",
7177
+ "summary": "The amount (in MiB) of memory used by the task."
7178
+ },
7179
+ "immutable": true,
7180
+ "locationInModule": {
7181
+ "filename": "src/providers/ecs.ts",
7182
+ "line": 111
7183
+ },
7184
+ "name": "memoryLimitMiB",
7185
+ "optional": true,
7186
+ "type": {
7187
+ "primitive": "number"
7188
+ }
7189
+ },
7190
+ {
7191
+ "abstract": true,
7192
+ "docs": {
7193
+ "default": "0",
7194
+ "remarks": "Only used when creating a new cluster.",
7195
+ "stability": "experimental",
7196
+ "summary": "The minimum number of instances to run in the cluster."
7197
+ },
7198
+ "immutable": true,
7199
+ "locationInModule": {
7200
+ "filename": "src/providers/ecs.ts",
7201
+ "line": 125
7202
+ },
7203
+ "name": "minInstances",
7204
+ "optional": true,
7205
+ "type": {
7206
+ "primitive": "number"
7207
+ }
7208
+ },
7209
+ {
7210
+ "abstract": true,
7211
+ "docs": {
7212
+ "default": "a new security group",
7213
+ "stability": "experimental",
7214
+ "summary": "Security groups to assign to the task."
7215
+ },
7216
+ "immutable": true,
7217
+ "locationInModule": {
7218
+ "filename": "src/providers/ecs.ts",
7219
+ "line": 74
7220
+ },
7221
+ "name": "securityGroups",
7222
+ "optional": true,
7223
+ "type": {
7224
+ "collection": {
7225
+ "elementtype": {
7226
+ "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
7227
+ },
7228
+ "kind": "array"
7229
+ }
7230
+ }
7231
+ },
7232
+ {
7233
+ "abstract": true,
7234
+ "docs": {
7235
+ "default": "no spot capacity",
7236
+ "stability": "experimental",
7237
+ "summary": "Use spot capacity and set a maximum price for spot instances."
7238
+ },
7239
+ "immutable": true,
7240
+ "locationInModule": {
7241
+ "filename": "src/providers/ecs.ts",
7242
+ "line": 156
7243
+ },
7244
+ "name": "spotMaxPrice",
7245
+ "optional": true,
7246
+ "type": {
7247
+ "primitive": "string"
7248
+ }
7249
+ },
7250
+ {
7251
+ "abstract": true,
7252
+ "docs": {
7253
+ "default": "default size for AMI (usually 30GB for Linux and 50GB for Windows)",
7254
+ "remarks": "This modifies the boot volume size and doesn't add any additional volumes.\n\nEach instance can be used by multiple runners, so make sure there is enough space for all of them.",
7255
+ "stability": "experimental",
7256
+ "summary": "Size of volume available for launched cluster instances."
7257
+ },
7258
+ "immutable": true,
7259
+ "locationInModule": {
7260
+ "filename": "src/providers/ecs.ts",
7261
+ "line": 141
7262
+ },
7263
+ "name": "storageSize",
7264
+ "optional": true,
7265
+ "type": {
7266
+ "fqn": "aws-cdk-lib.Size"
7267
+ }
7268
+ },
7269
+ {
7270
+ "abstract": true,
7271
+ "docs": {
7272
+ "default": "ECS default",
7273
+ "stability": "experimental",
7274
+ "summary": "Subnets to run the runners in."
7275
+ },
7276
+ "immutable": true,
7277
+ "locationInModule": {
7278
+ "filename": "src/providers/ecs.ts",
7279
+ "line": 67
7280
+ },
7281
+ "name": "subnetSelection",
7282
+ "optional": true,
7283
+ "type": {
7284
+ "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
7285
+ }
7286
+ },
7287
+ {
7288
+ "abstract": true,
7289
+ "docs": {
7290
+ "default": "default account VPC",
7291
+ "stability": "experimental",
7292
+ "summary": "VPC to launch the runners in."
7293
+ },
7294
+ "immutable": true,
7295
+ "locationInModule": {
7296
+ "filename": "src/providers/ecs.ts",
7297
+ "line": 60
7298
+ },
7299
+ "name": "vpc",
7300
+ "optional": true,
7301
+ "type": {
7302
+ "fqn": "aws-cdk-lib.aws_ec2.IVpc"
7303
+ }
7304
+ }
7305
+ ],
7306
+ "symbolId": "src/providers/ecs:EcsRunnerProviderProps"
7307
+ },
6654
7308
  "@cloudsnorkel/cdk-github-runners.FargateRunner": {
6655
7309
  "assembly": "@cloudsnorkel/cdk-github-runners",
6656
7310
  "base": "@cloudsnorkel/cdk-github-runners.FargateRunnerProvider",
@@ -12221,6 +12875,6 @@
12221
12875
  "symbolId": "src/providers/image-builders/aws-image-builder/deprecated/windows-components:WindowsComponents"
12222
12876
  }
12223
12877
  },
12224
- "version": "0.9.2",
12225
- "fingerprint": "zmHG8ogvxM4UnuobG3q57zcoNzxuIu+sExYrdG2uOo8="
12878
+ "version": "0.9.3",
12879
+ "fingerprint": "wm90SjuWDjOEdZ2XvCRnYQeU6aZ0JZPKovmkSiB3B2I="
12226
12880
  }