Manage secrets in AWS Lambda functions using XtraSecurity.
# Create layer directory
mkdir -p layer/nodejs
cd layer/nodejs
# Install SDK
npm install @xtrasecurity/sdk
# Package layer
cd ..
zip -r xtrasecurity-layer.zip nodejs/
aws lambda publish-layer-version \
--layer-name xtrasecurity-sdk \
--zip-file fileb://xtrasecurity-layer.zip \
--compatible-runtimes nodejs18.x
Environment:
Variables:
XTRA_API_KEY: sk_live_xxx
XTRA_PROJECT_ID: proj_xxx
const { XtraClient } = require('@xtrasecurity/sdk');
const xtra = new XtraClient({
apiKey: process.env.XTRA_API_KEY,
projectId: process.env.XTRA_PROJECT_ID,
cache: { enabled: true, ttl: 3600 }
});
exports.handler = async (event) => {
try {
const dbPassword = await xtra.getSecret('db_password');
const apiKey = await xtra.getSecret('stripe_key');
// Use secrets
const db = await connectDatabase(dbPassword.value);
return {
statusCode: 200,
body: JSON.stringify({ message: 'Success' })
};
} catch (error) {
console.error('Error:', error);
return {
statusCode: 500,
body: JSON.stringify({ error: error.message })
};
}
};
// For RDS/database access in VPC
const { XtraClient } = require('@xtrasecurity/sdk');
const xtra = new XtraClient({
apiKey: process.env.XTRA_API_KEY,
projectId: process.env.XTRA_PROJECT_ID
});
exports.handler = async (event) => {
// Get RDS password
const rdsPassword = await xtra.getSecret('rds_password');
const connection = await mysql.createConnection({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: rdsPassword.value,
database: process.env.DB_NAME
});
// Query database
const results = await connection.query('SELECT * FROM users');
return {
statusCode: 200,
body: JSON.stringify(results)
};
};
Complete guide to integrating XtraSecurity with GitHub Actions. Secure your CI/CD pipeline by fetching secrets from XtraSecurity in GitHub workflows.
Integrate XtraSecurity with Docker and Docker Compose. Securely manage container secrets without hardcoding in Dockerfile.
Use XtraSecurity as a secrets provider in Kubernetes. External Secrets Operator integration for automatic secret syncing.