@@ -41,7 +41,9 @@ export class ContainerHookService {
4141 aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default || true
4242 aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default || true
4343 aws configure set region $AWS_DEFAULT_REGION --profile default || true
44- aws s3 cp /data/cache/$CACHE_KEY/build/build-${ CloudRunner . buildParameters . buildGuid } .tar${
44+ ENDPOINT_ARGS=""
45+ if [ -n "$AWS_S3_ENDPOINT" ]; then ENDPOINT_ARGS="--endpoint-url $AWS_S3_ENDPOINT"; fi
46+ aws $ENDPOINT_ARGS s3 cp /data/cache/$CACHE_KEY/build/build-${ CloudRunner . buildParameters . buildGuid } .tar${
4547 CloudRunner . buildParameters . useCompressionStrategy ? '.lz4' : ''
4648 } s3://${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID.tar${
4749 CloudRunner . buildParameters . useCompressionStrategy ? '.lz4' : ''
@@ -59,6 +61,8 @@ export class ContainerHookService {
5961 value: ${ process . env . AWS_SECRET_ACCESS_KEY || `` }
6062 - name: awsDefaultRegion
6163 value: ${ process . env . AWS_REGION || `` }
64+ - name: AWS_S3_ENDPOINT
65+ value: ${ CloudRunnerOptions . awsS3Endpoint || process . env . AWS_S3_ENDPOINT || `` }
6266- name: aws-s3-pull-build
6367 image: amazon/aws-cli
6468 commands: |
@@ -67,8 +71,10 @@ export class ContainerHookService {
6771 aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default || true
6872 aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default || true
6973 aws configure set region $AWS_DEFAULT_REGION --profile default || true
70- aws s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/ || true
71- aws s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/build || true
74+ ENDPOINT_ARGS=""
75+ if [ -n "$AWS_S3_ENDPOINT" ]; then ENDPOINT_ARGS="--endpoint-url $AWS_S3_ENDPOINT"; fi
76+ aws $ENDPOINT_ARGS s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/ || true
77+ aws $ENDPOINT_ARGS s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/build || true
7278 aws s3 cp s3://${
7379 CloudRunner . buildParameters . awsStackName
7480 } /cloud-runner-cache/$CACHE_KEY/build/build-$BUILD_GUID_TARGET.tar${
@@ -84,6 +90,7 @@ export class ContainerHookService {
8490 - name: AWS_SECRET_ACCESS_KEY
8591 - name: AWS_DEFAULT_REGION
8692 - name: BUILD_GUID_TARGET
93+ - name: AWS_S3_ENDPOINT
8794- name: steam-deploy-client
8895 image: steamcmd/steamcmd
8996 commands: |
@@ -128,11 +135,13 @@ export class ContainerHookService {
128135 aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default || true
129136 aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default || true
130137 aws configure set region $AWS_DEFAULT_REGION --profile default || true
131- aws s3 cp --recursive /data/cache/$CACHE_KEY/lfs s3://${
138+ ENDPOINT_ARGS=""
139+ if [ -n "$AWS_S3_ENDPOINT" ]; then ENDPOINT_ARGS="--endpoint-url $AWS_S3_ENDPOINT"; fi
140+ aws $ENDPOINT_ARGS s3 cp --recursive /data/cache/$CACHE_KEY/lfs s3://${
132141 CloudRunner . buildParameters . awsStackName
133142 } /cloud-runner-cache/$CACHE_KEY/lfs || true
134143 rm -r /data/cache/$CACHE_KEY/lfs || true
135- aws s3 cp --recursive /data/cache/$CACHE_KEY/Library s3://${
144+ aws $ENDPOINT_ARGS s3 cp --recursive /data/cache/$CACHE_KEY/Library s3://${
136145 CloudRunner . buildParameters . awsStackName
137146 } /cloud-runner-cache/$CACHE_KEY/Library || true
138147 rm -r /data/cache/$CACHE_KEY/Library || true
@@ -146,6 +155,8 @@ export class ContainerHookService {
146155 value: ${ process . env . AWS_SECRET_ACCESS_KEY || `` }
147156 - name: AWS_DEFAULT_REGION
148157 value: ${ process . env . AWS_REGION || `` }
158+ - name: AWS_S3_ENDPOINT
159+ value: ${ CloudRunnerOptions . awsS3Endpoint || process . env . AWS_S3_ENDPOINT || `` }
149160- name: aws-s3-pull-cache
150161 image: amazon/aws-cli
151162 hook: before
@@ -156,16 +167,18 @@ export class ContainerHookService {
156167 aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID --profile default || true
157168 aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY --profile default || true
158169 aws configure set region $AWS_DEFAULT_REGION --profile default || true
159- aws s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/ || true
160- aws s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/ || true
170+ ENDPOINT_ARGS=""
171+ if [ -n "$AWS_S3_ENDPOINT" ]; then ENDPOINT_ARGS="--endpoint-url $AWS_S3_ENDPOINT"; fi
172+ aws $ENDPOINT_ARGS s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/ || true
173+ aws $ENDPOINT_ARGS s3 ls ${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/ || true
161174 BUCKET1="${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/Library/"
162- aws s3 ls $BUCKET1 || true
163- OBJECT1="$(aws s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
164- aws s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
175+ aws $ENDPOINT_ARGS s3 ls $BUCKET1 || true
176+ OBJECT1="$(aws $ENDPOINT_ARGS s3 ls $BUCKET1 | sort | tail -n 1 | awk '{print $4}' || '')"
177+ aws $ENDPOINT_ARGS s3 cp s3://$BUCKET1$OBJECT1 /data/cache/$CACHE_KEY/Library/ || true
165178 BUCKET2="${ CloudRunner . buildParameters . awsStackName } /cloud-runner-cache/$CACHE_KEY/lfs/"
166- aws s3 ls $BUCKET2 || true
167- OBJECT2="$(aws s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
168- aws s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CACHE_KEY/lfs/ || true
179+ aws $ENDPOINT_ARGS s3 ls $BUCKET2 || true
180+ OBJECT2="$(aws $ENDPOINT_ARGS s3 ls $BUCKET2 | sort | tail -n 1 | awk '{print $4}' || '')"
181+ aws $ENDPOINT_ARGS s3 cp s3://$BUCKET2$OBJECT2 /data/cache/$CACHE_KEY/lfs/ || true
169182 else
170183 echo "AWS CLI not available, skipping aws-s3-pull-cache"
171184 fi
@@ -182,7 +195,9 @@ export class ContainerHookService {
182195 - name: awsSecretAccessKey
183196 value: ${ process . env . AWS_SECRET_ACCESS_KEY || `` }
184197 - name: awsDefaultRegion
185- value: ${ process . env . AWS_REGION || `` } ` ,
198+ value: ${ process . env . AWS_REGION || `` }
199+ - name: AWS_S3_ENDPOINT
200+ value: ${ CloudRunnerOptions . awsS3Endpoint || process . env . AWS_S3_ENDPOINT || `` } ` ,
186201 ) . filter ( ( x ) => CloudRunnerOptions . containerHookFiles . includes ( x . name ) && x . hook === hookLifecycle ) ;
187202
188203 // In local provider mode (non-container) or when AWS credentials are not present, skip AWS S3 hooks
0 commit comments