maestro
Version:
Maestro is a framework for quickly bootstrapping serverless orchestration workflows with AWS Step Functions
28 lines (23 loc) • 1.22 kB
JavaScript
const getBasenamesAndZipBuffers = require("../util/getBasenamesAndZipBuffers");
// TODO: Separate the retrieving of file basenames and creating zip buffers
const generateMultipleFunctionParams = require("../aws/lambda/generateMultipleFunctionParams");
const createLambdaFunctions = require("../aws/lambda/createLambdaFunctions");
const generateStateMachineParams = require("../aws/step-function/generateStateMachineParams");
const createStepFunction = require("../aws/step-function/createStepFunction");
const establishIAMRole = require("../aws/iam/establishIAMRole");
const { lambdaRoleName, statesRoleName } = require("../config/roleNames");
const deploy = () => {
const basenamesAndZipBuffers = getBasenamesAndZipBuffers("lambdas");
establishIAMRole(lambdaRoleName)
.then(() =>
generateMultipleFunctionParams(basenamesAndZipBuffers, lambdaRoleName)
)
.then(createLambdaFunctions)
.then(() => console.log("Successfully created function(s)"));
establishIAMRole(statesRoleName)
.then(() => generateStateMachineParams(statesRoleName))
.then(createStepFunction)
.then(() => console.log("Successfully created state machine"))
.catch(() => {});
};
module.exports = deploy;