UNPKG

automation-deploy-template-iac

Version:

AWS CDK Infrastructure as Code templates for deploying full-stack applications with FastAPI backend, Vue.js frontend, and automated deployment

62 lines 6.84 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const cdk = __importStar(require("aws-cdk-lib")); const secrets_stack_1 = require("../lib/secrets-stack"); const env_1 = require("../lib/config/env"); const constants_1 = require("../lib/config/constants"); const app = new cdk.App(); const projectName = (0, env_1.getProjectName)(); const environment = (0, env_1.getEnvironment)(app, 'dev'); const stackName = secrets_stack_1.SecretsStack.getStackName(projectName, environment); console.log('========================='); console.log('Secrets Stack Deployment'); console.log('========================='); console.log(`Project Name: ${projectName}`); console.log(`Environment: ${environment}`); console.log(`Stack Name: ${stackName}`); console.log('========================='); try { new secrets_stack_1.SecretsStack(app, stackName, { projectName, environment, env: { account: (0, env_1.getCdkDefaultAccount)(), region: (0, env_1.getCdkDefaultRegion)() }, tags: (0, constants_1.createDefaultTags)(projectName, environment, constants_1.STACK_TYPES.SECRETS, 'secrets-management') }); console.log(`✅ Successfully created ${stackName}`); console.log('\nTo deploy this stack:'); console.log(` cdk deploy ${stackName}`); console.log('\nAfter deployment, use the secret in backend stack:'); console.log(` cdk deploy --context customSecretName=${projectName}-${environment}-custom-secrets`); } catch (error) { console.error('❌ Failed to create SecretsStack:', error instanceof Error ? error.message : String(error)); process.exit(1); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2Jpbi9zZWNyZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsaURBQW1DO0FBQ25DLHdEQUFvRDtBQUNwRCwyQ0FBOEc7QUFDOUcsdURBQXlFO0FBRXpFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWMsR0FBRSxDQUFDO0FBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWMsRUFBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFFL0MsTUFBTSxTQUFTLEdBQUcsNEJBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXRFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDeEMsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDNUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsU0FBUyxFQUFFLENBQUMsQ0FBQztBQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFekMsSUFBSSxDQUFDO0lBQ0gsSUFBSSw0QkFBWSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUU7UUFDL0IsV0FBVztRQUNYLFdBQVc7UUFDWCxHQUFHLEVBQUU7WUFDSCxPQUFPLEVBQUUsSUFBQSwwQkFBb0IsR0FBRTtZQUMvQixNQUFNLEVBQUUsSUFBQSx5QkFBbUIsR0FBRTtTQUM5QjtRQUNELElBQUksRUFBRSxJQUFBLDZCQUFpQixFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsdUJBQVcsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUM7S0FDN0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7SUFDcEUsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsV0FBVyxJQUFJLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztBQUN0RyxDQUFDO0FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztJQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLEVBQUUsS0FBSyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IFNlY3JldHNTdGFjayB9IGZyb20gJy4uL2xpYi9zZWNyZXRzLXN0YWNrJztcbmltcG9ydCB7IGdldFByb2plY3ROYW1lLCBnZXRFbnZpcm9ubWVudCwgZ2V0Q2RrRGVmYXVsdEFjY291bnQsIGdldENka0RlZmF1bHRSZWdpb24gfSBmcm9tICcuLi9saWIvY29uZmlnL2Vudic7XG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0VGFncywgU1RBQ0tfVFlQRVMgfSBmcm9tICcuLi9saWIvY29uZmlnL2NvbnN0YW50cyc7XG5cbmNvbnN0IGFwcCA9IG5ldyBjZGsuQXBwKCk7XG5jb25zdCBwcm9qZWN0TmFtZSA9IGdldFByb2plY3ROYW1lKCk7XG5jb25zdCBlbnZpcm9ubWVudCA9IGdldEVudmlyb25tZW50KGFwcCwgJ2RldicpO1xuXG5jb25zdCBzdGFja05hbWUgPSBTZWNyZXRzU3RhY2suZ2V0U3RhY2tOYW1lKHByb2plY3ROYW1lLCBlbnZpcm9ubWVudCk7XG5cbmNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT09PT09PT09Jyk7XG5jb25zb2xlLmxvZygnU2VjcmV0cyBTdGFjayBEZXBsb3ltZW50Jyk7XG5jb25zb2xlLmxvZygnPT09PT09PT09PT09PT09PT09PT09PT09PScpO1xuY29uc29sZS5sb2coYFByb2plY3QgTmFtZTogJHtwcm9qZWN0TmFtZX1gKTtcbmNvbnNvbGUubG9nKGBFbnZpcm9ubWVudDogJHtlbnZpcm9ubWVudH1gKTtcbmNvbnNvbGUubG9nKGBTdGFjayBOYW1lOiAke3N0YWNrTmFtZX1gKTtcbmNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT09PT09PT09Jyk7XG5cbnRyeSB7XG4gIG5ldyBTZWNyZXRzU3RhY2soYXBwLCBzdGFja05hbWUsIHtcbiAgICBwcm9qZWN0TmFtZSxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBlbnY6IHsgXG4gICAgICBhY2NvdW50OiBnZXRDZGtEZWZhdWx0QWNjb3VudCgpLCBcbiAgICAgIHJlZ2lvbjogZ2V0Q2RrRGVmYXVsdFJlZ2lvbigpIFxuICAgIH0sXG4gICAgdGFnczogY3JlYXRlRGVmYXVsdFRhZ3MocHJvamVjdE5hbWUsIGVudmlyb25tZW50LCBTVEFDS19UWVBFUy5TRUNSRVRTLCAnc2VjcmV0cy1tYW5hZ2VtZW50JylcbiAgfSk7XG5cbiAgY29uc29sZS5sb2coYOKchSBTdWNjZXNzZnVsbHkgY3JlYXRlZCAke3N0YWNrTmFtZX1gKTtcbiAgY29uc29sZS5sb2coJ1xcblRvIGRlcGxveSB0aGlzIHN0YWNrOicpO1xuICBjb25zb2xlLmxvZyhgICBjZGsgZGVwbG95ICR7c3RhY2tOYW1lfWApO1xuICBjb25zb2xlLmxvZygnXFxuQWZ0ZXIgZGVwbG95bWVudCwgdXNlIHRoZSBzZWNyZXQgaW4gYmFja2VuZCBzdGFjazonKTtcbiAgY29uc29sZS5sb2coYCAgY2RrIGRlcGxveSAtLWNvbnRleHQgY3VzdG9tU2VjcmV0TmFtZT0ke3Byb2plY3ROYW1lfS0ke2Vudmlyb25tZW50fS1jdXN0b20tc2VjcmV0c2ApO1xufSBjYXRjaCAoZXJyb3IpIHtcbiAgY29uc29sZS5lcnJvcign4p2MIEZhaWxlZCB0byBjcmVhdGUgU2VjcmV0c1N0YWNrOicsIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogU3RyaW5nKGVycm9yKSk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn1cblxuIl19