Skip to content

Commit dcca5d2

Browse files
authored
Merge pull request #1554 from buildkite/SUP-4519/Adding-artifcats-bucket-env-var
Add support for ArtifactsBucket region, with bucket ACL and Region configs
2 parents 68b755d + 9737689 commit dcca5d2

File tree

3 files changed

+57
-9
lines changed

3 files changed

+57
-9
lines changed

packer/linux/conf/bin/bk-install-elastic-stack.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,9 @@ set_always "BUILDKITE_DOCKER_EXPERIMENTAL" "$DOCKER_EXPERIMENTAL"
145145
set_always "DOCKER_USERNS_REMAP" "$DOCKER_USERNS_REMAP"
146146
set_always "DOCKER_VERSION" "$DOCKER_VERSION"
147147
set_always "PLUGINS_ENABLED" "${PLUGINS_ENABLED[*]-}"
148+
set_always "BUILDKITE_ARTIFACTS_BUCKET" "$BUILDKITE_ARTIFACTS_BUCKET"
149+
set_always "BUILDKITE_S3_DEFAULT_REGION" "$BUILDKITE_S3_DEFAULT_REGION"
150+
set_always "BUILDKITE_S3_ACL" "$BUILDKITE_S3_ACL"
148151
set_unless_present "AWS_DEFAULT_REGION" "$AWS_REGION"
149152
set_unless_present "AWS_REGION" "$AWS_REGION"
150153
EOF

packer/windows/conf/bin/bk-install-elastic-stack.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ set_always "BUILDKITE_STACK_VERSION" "$Env:BUILDKITE_STACK_VERSION"
8484
set_always "BUILDKITE_DOCKER_EXPERIMENTAL" "$DOCKER_EXPERIMENTAL"
8585
set_always "DOCKER_VERSION" "$DOCKER_VERSION"
8686
set_always "PLUGINS_ENABLED" "$PLUGINS_ENABLED"
87+
set_always "BUILDKITE_ARTIFACTS_BUCKET" "$Env:BUILDKITE_ARTIFACTS_BUCKET"
88+
set_always "BUILDKITE_S3_DEFAULT_REGION" "$Env:BUILDKITE_S3_DEFAULT_REGION"
89+
set_always "BUILDKITE_S3_ACL" "$Env:BUILDKITE_S3_ACL"
8790
set_unless_present "AWS_DEFAULT_REGION" "$Env:AWS_REGION"
8891
set_unless_present "AWS_REGION" "$Env:AWS_REGION"
8992
set_unless_present "BUILDKITE_AGENT_ENDPOINT" "https://agent.buildkite.com/v3"

templates/aws-stack.yml

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ Metadata:
8686
- SecretsBucketRegion
8787
- SecretsBucketEncryption
8888
- ArtifactsBucket
89+
- ArtifactsBucketRegion
90+
- ArtifactsS3ACL
8991
- AuthorizedUsersUrl
9092
- BootstrapScriptUrl
9193
- AgentEnvFileUrl
@@ -409,6 +411,24 @@ Parameters:
409411
Type: String
410412
Default: ""
411413

414+
ArtifactsBucketRegion:
415+
Description: Optional - Region for the ArtifactsBucket. If blank the bucket's region is dynamically discovered.
416+
Type: String
417+
Default: ""
418+
419+
ArtifactsS3ACL:
420+
Description: Optional - ACL to use for S3 artifact uploads
421+
Type: String
422+
AllowedValues:
423+
- "private"
424+
- "public-read"
425+
- "public-read-write"
426+
- "authenticated-read"
427+
- "aws-exec-read"
428+
- "bucket-owner-read"
429+
- "bucket-owner-full-control"
430+
Default: "private"
431+
412432
BootstrapScriptUrl:
413433
Description: Optional - HTTPS or S3 URL for a script to run on each instance during boot
414434
Type: String
@@ -866,6 +886,8 @@ Conditions:
866886

867887
UseArtifactsBucket:
868888
!Not [ !Equals [ !Ref ArtifactsBucket, "" ] ]
889+
IsArtifactsBucketRegionEmpty:
890+
!Equals [ !Ref ArtifactsBucketRegion, "" ]
869891

870892
HasImageId:
871893
!Not [ !Equals [ !Ref ImageId, "" ] ]
@@ -895,13 +917,13 @@ Conditions:
895917

896918
UseInstanceType7:
897919
!Not [ !Equals [ !Select [ "6", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
898-
920+
899921
UseInstanceType8:
900922
!Not [ !Equals [ !Select [ "7", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
901-
923+
902924
UseInstanceType9:
903925
!Not [ !Equals [ !Select [ "8", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
904-
926+
905927
UseInstanceType10:
906928
!Not [ !Equals [ !Select [ "9", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
907929

@@ -910,13 +932,13 @@ Conditions:
910932

911933
UseInstanceType12:
912934
!Not [ !Equals [ !Select [ "11", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
913-
935+
914936
UseInstanceType13:
915937
!Not [ !Equals [ !Select [ "12", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
916938

917939
UseInstanceType14:
918940
!Not [ !Equals [ !Select [ "13", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
919-
941+
920942
UseInstanceType15:
921943
!Not [ !Equals [ !Select [ "14", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
922944

@@ -925,13 +947,13 @@ Conditions:
925947

926948
UseInstanceType17:
927949
!Not [ !Equals [ !Select [ "16", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
928-
950+
929951
UseInstanceType18:
930952
!Not [ !Equals [ !Select [ "17", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
931-
953+
932954
UseInstanceType19:
933955
!Not [ !Equals [ !Select [ "18", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
934-
956+
935957
UseInstanceType20:
936958
!Not [ !Equals [ !Select [ "19", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
937959

@@ -943,7 +965,7 @@ Conditions:
943965

944966
UseInstanceType23:
945967
!Not [ !Equals [ !Select [ "22", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
946-
968+
947969
UseInstanceType24:
948970
!Not [ !Equals [ !Select [ "23", !Split [ ",", !Join [ ",", [ !Ref InstanceTypes, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""] ] ] ], ""] ]
949971

@@ -1572,6 +1594,9 @@ Resources:
15721594
$Env:BUILDKITE_SCALE_IN_IDLE_PERIOD="${ScaleInIdlePeriod}"
15731595
$Env:BUILDKITE_SECRETS_BUCKET="${LocalSecretsBucket}"
15741596
$Env:BUILDKITE_SECRETS_BUCKET_REGION="${LocalSecretsBucketRegion}"
1597+
$Env:BUILDKITE_ARTIFACTS_BUCKET="${ArtifactsBucket}"
1598+
$Env:BUILDKITE_S3_DEFAULT_REGION="${LocalArtifactsBucketRegion}"
1599+
$Env:BUILDKITE_S3_ACL="${ArtifactsS3ACL}"
15751600
$Env:BUILDKITE_AGENT_TOKEN_PATH="${AgentTokenPath}"
15761601
$Env:BUILDKITE_AGENTS_PER_INSTANCE="${AgentsPerInstance}"
15771602
$Env:BUILDKITE_AGENT_ENDPOINT="${AgentEndpoint}"
@@ -1607,6 +1632,13 @@ Resources:
16071632
- CreateSecretsBucket
16081633
- !Ref "AWS::Region"
16091634
- !Ref SecretsBucketRegion
1635+
LocalArtifactsBucketRegion: !If
1636+
- UseArtifactsBucket
1637+
- !If
1638+
- IsArtifactsBucketRegionEmpty
1639+
- !Ref "AWS::Region"
1640+
- !Ref ArtifactsBucketRegion
1641+
- !Ref "AWS::Region"
16101642
AgentTokenPath: !If
16111643
- UseCustomerManagedParameterPath
16121644
- !Ref BuildkiteAgentTokenParameterStorePath
@@ -1649,6 +1681,9 @@ Resources:
16491681
BUILDKITE_SCALE_IN_IDLE_PERIOD="${ScaleInIdlePeriod}" \
16501682
BUILDKITE_SECRETS_BUCKET="${LocalSecretsBucket}" \
16511683
BUILDKITE_SECRETS_BUCKET_REGION="${LocalSecretsBucketRegion}" \
1684+
BUILDKITE_ARTIFACTS_BUCKET="${ArtifactsBucket}" \
1685+
BUILDKITE_S3_DEFAULT_REGION="${LocalArtifactsBucketRegion}" \
1686+
BUILDKITE_S3_ACL="${ArtifactsS3ACL}" \
16521687
BUILDKITE_AGENT_TOKEN_PATH="${AgentTokenPath}" \
16531688
BUILDKITE_AGENTS_PER_INSTANCE="${AgentsPerInstance}" \
16541689
BUILDKITE_AGENT_ENDPOINT="${AgentEndpoint}" \
@@ -1696,6 +1731,13 @@ Resources:
16961731
- CreateSecretsBucket
16971732
- !Ref "AWS::Region"
16981733
- !Ref SecretsBucketRegion
1734+
LocalArtifactsBucketRegion: !If
1735+
- UseArtifactsBucket
1736+
- !If
1737+
- IsArtifactsBucketRegionEmpty
1738+
- !Ref "AWS::Region"
1739+
- !Ref ArtifactsBucketRegion
1740+
- !Ref "AWS::Region"
16991741
AgentTokenPath: !If
17001742
- UseCustomerManagedParameterPath
17011743
- !Ref BuildkiteAgentTokenParameterStorePath

0 commit comments

Comments
 (0)