spomeni/scripts/set-bucket-policy.js
dimitar 9c8fcd35df
Some checks are pending
CI / build (push) Waiting to run
fix
2026-08-03 18:33:14 +02:00

35 lines
987 B
JavaScript

/* eslint-disable @typescript-eslint/no-require-imports */
const { S3Client, PutBucketPolicyCommand } = require("@aws-sdk/client-s3");
const client = new S3Client({
endpoint: process.env.S3_ENDPOINT,
region: process.env.S3_REGION || "eu-2",
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
},
forcePathStyle: true,
});
const bucket = process.env.S3_BUCKET_NAME || "monuments-images";
const policy = {
Version: "2012-10-17",
Statement: [
{
Sid: "PublicReadGetObject",
Effect: "Allow",
Principal: { AWS: ["*"] },
Action: ["s3:GetObject"],
Resource: [`arn:aws:s3:::${bucket}/*`],
},
],
};
client
.send(new PutBucketPolicyCommand({ Bucket: bucket, Policy: JSON.stringify(policy) }))
.then(() => console.log("Bucket policy set successfully:", bucket))
.catch((err) => {
console.error("Failed to set bucket policy:", err.message);
process.exit(1);
});