curved-pharmacist-41509
05/11/2022, 9:38 AMmillions-furniture-75402
05/11/2022, 12:43 PMaws s3 sync
curved-pharmacist-41509
05/11/2022, 12:44 PMmillions-furniture-75402
05/11/2022, 12:46 PMaws s3 sync
is a superior command to even what the AWS SDK provides for file uploading.little-cartoon-10569
05/11/2022, 9:40 PMFileAsset
and `BucketObject`/`BucketObjectv2` combine to do uploads in a more Pulumi-idiomatic way?millions-furniture-75402
05/12/2022, 12:42 AMcurved-pharmacist-41509
05/12/2022, 12:43 AMmillions-furniture-75402
05/12/2022, 12:47 AMaws s3 sync
with the --delete
flag would have the same behavior.
This might be something you could solve with CloudFront, which you should probably be using in front of a private S3 Bucket, instead of using a Public S3 Bucket.curved-pharmacist-41509
05/12/2022, 12:48 AMmillions-furniture-75402
05/12/2022, 12:50 AMcurved-pharmacist-41509
05/12/2022, 12:52 AMmillions-furniture-75402
05/12/2022, 12:55 AMstocky-restaurant-98004
05/12/2022, 6:41 PMaws s3 sync
pulumi-command
provider: https://github.com/pulumi/pulumi-commandcurved-pharmacist-41509
05/13/2022, 11:33 AMconst uploadAssetsCommand = pulumi.interpolate`aws s3 cp ${projectRoot}/dist/assets s3://${consoleWebBucket.bucket}/assets --recursive --cache-control public,max-age=31536000,immutable`
uploadAssetsCommand.apply(console.log)
const uploadAssetsCmd = new local.Command(`upload-assets`, {
create: uploadAssetsCommand,
// Always trigger
triggers: [new Date().toISOString()],
})
uploadAssetsCmd.stdout.apply(console.log)
uploadAssetsCmd.stderr.apply(console.log)
const uploadToplevelFiles = pulumi.interpolate`aws s3 cp ${projectRoot}/dist s3://${consoleWebBucket.bucket} --cache-control no-store --recursive --exclude "assets/*"`
uploadToplevelFiles.apply(console.log)
const topLevelCmd = new local.Command(`upload-top-level-files`, {
create: uploadToplevelFiles,
// Always trigger
triggers: [new Date().toISOString()],
})
topLevelCmd.stdout.apply(console.log)
topLevelCmd.stderr.apply(console.log)