37 lines
808 B
JavaScript
37 lines
808 B
JavaScript
const { fromIni } = require("@aws-sdk/credential-providers");
|
|
|
|
/**
|
|
* Get AWS configuration based on environment
|
|
* - Development: Uses AWS credential profiles from ~/.aws/credentials
|
|
* - Production: Uses IAM roles (EC2/Lambda/ECS instance roles)
|
|
*/
|
|
function getAWSCredentials() {
|
|
if (process.env.NODE_ENV === "dev") {
|
|
// Local development: use profile from ~/.aws/credentials
|
|
const profile = process.env.AWS_PROFILE;
|
|
return fromIni({ profile });
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Get complete AWS client configuration
|
|
*/
|
|
function getAWSConfig() {
|
|
const config = {
|
|
region: process.env.AWS_REGION || "us-east-1",
|
|
};
|
|
|
|
const credentials = getAWSCredentials();
|
|
|
|
if (credentials) {
|
|
config.credentials = credentials;
|
|
}
|
|
|
|
return config;
|
|
}
|
|
|
|
module.exports = {
|
|
getAWSConfig,
|
|
getAWSCredentials,
|
|
};
|