@@ -575,7 +575,7 @@ Parameters:
575
575
Default : " "
576
576
577
577
RootVolumeType :
578
- Description : Type of root volume to use
578
+ Description : Type of root volume to use. If you are specifying `io1` or `io2`, you will most likely want to specify `RootVolumeIOPS` as well.
579
579
Type : String
580
580
Default : " gp3"
581
581
@@ -651,11 +651,13 @@ Parameters:
651
651
652
652
ECRAccessPolicy :
653
653
Type : String
654
- Description : ECR access policy to give container instances
654
+ Description : ECR access policy to give instances. The `-pullthrough` variants add ECR pull-through cache permissions (including `ecr:CreateRepository`, `ecr:BatchImportUpstreamImage`, `ecr:GetImageCopyStatus`, and upload permissions) to enable transparent upstream registry caching.
655
655
AllowedValues :
656
656
- none
657
657
- readonly
658
+ - readonly-pullthrough
658
659
- poweruser
660
+ - poweruser-pullthrough
659
661
- full
660
662
Default : " none"
661
663
@@ -1015,6 +1017,11 @@ Conditions:
1015
1017
UseECR :
1016
1018
!Not [ !Equals [ !Ref ECRAccessPolicy, "none" ] ]
1017
1019
1020
+ AddECRPullThrough :
1021
+ !Or
1022
+ - !Equals [ !Ref ECRAccessPolicy, "readonly-pullthrough" ]
1023
+ - !Equals [ !Ref ECRAccessPolicy, "poweruser-pullthrough" ]
1024
+
1018
1025
UseCustomerManagedParameterPath :
1019
1026
!Not [ !Equals [ !Ref BuildkiteAgentTokenParameterStorePath, "" ] ]
1020
1027
UseCustomerManagedKeyForParameterStore :
@@ -1116,10 +1123,12 @@ Conditions:
1116
1123
1117
1124
Mappings :
1118
1125
ECRManagedPolicy :
1119
- none : { Policy: '' }
1120
- readonly : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly' }
1121
- poweruser : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPowerUser' }
1122
- full : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess' }
1126
+ none : { Policy: '' }
1127
+ readonly : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly' }
1128
+ readonly-pullthrough : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly' }
1129
+ poweruser : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPowerUser' }
1130
+ poweruser-pullthrough : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPowerUser' }
1131
+ full : { Policy: 'arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryFullAccess' }
1123
1132
1124
1133
# Generated from Makefile via build/mappings.yml
1125
1134
AWSRegion2AMI : { linuxamd64: !Ref ImageId, linuxarm64: !Ref ImageId, windows: !Ref ImageId }
@@ -1283,6 +1292,23 @@ Resources:
1283
1292
- !Ref ' AWS::NoValue'
1284
1293
- !Ref ' AWS::NoValue'
1285
1294
Policies :
1295
+ - !If
1296
+ - AddECRPullThrough
1297
+ - PolicyName : ECRPullThrough
1298
+ PolicyDocument :
1299
+ Version : ' 2012-10-17'
1300
+ Statement :
1301
+ - Effect : Allow
1302
+ Action :
1303
+ - ecr:CreateRepository
1304
+ - ecr:BatchImportUpstreamImage
1305
+ - ecr:GetImageCopyStatus
1306
+ - ecr:InitiateLayerUpload
1307
+ - ecr:UploadLayerPart
1308
+ - ecr:CompleteLayerUpload
1309
+ - ecr:PutImage
1310
+ Resource : " *"
1311
+ - !Ref ' AWS::NoValue'
1286
1312
- !If
1287
1313
- HasPipelineSigningKMSKey
1288
1314
- PolicyName : PipelineSigningKMSKeyAccess
0 commit comments