@brunwig/mup-aws-beanstalk 0.8.7 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.babelrc +15 -4
  2. package/.eslintrc.yml +2 -2
  3. package/.yarn/install-state.gz +0 -0
  4. package/docs/getting-started.md +1 -1
  5. package/docs/index.md +22 -6
  6. package/index.js +1 -1
  7. package/lib/assets/Procfile +1 -0
  8. package/lib/assets/health-check.js +9 -1
  9. package/lib/assets/health-check.js.map +1 -1
  10. package/lib/assets/nginx-server.conf +14 -0
  11. package/lib/assets/node.sh +37 -7
  12. package/lib/assets/npm.sh +14 -0
  13. package/lib/assets/prevent-npm.sh +4 -0
  14. package/lib/assets/role-start.sh +61 -0
  15. package/lib/assets/start.sh +1 -1
  16. package/lib/assets/yarn.sh +17 -0
  17. package/lib/aws.js +43 -77
  18. package/lib/aws.js.map +1 -1
  19. package/lib/certificates.js +56 -59
  20. package/lib/certificates.js.map +1 -1
  21. package/lib/command-handlers.js +613 -637
  22. package/lib/command-handlers.js.map +1 -1
  23. package/lib/commands.js +144 -111
  24. package/lib/commands.js.map +1 -1
  25. package/lib/deployment-logs.js +127 -0
  26. package/lib/deployment-logs.js.map +1 -0
  27. package/lib/download.js +11 -18
  28. package/lib/download.js.map +1 -1
  29. package/lib/eb-config.js +246 -242
  30. package/lib/eb-config.js.map +1 -1
  31. package/lib/env-ready.js +87 -88
  32. package/lib/env-ready.js.map +1 -1
  33. package/lib/env-settings.js +13 -14
  34. package/lib/env-settings.js.map +1 -1
  35. package/lib/index.js +111 -81
  36. package/lib/index.js.map +1 -1
  37. package/lib/policies.js +130 -115
  38. package/lib/policies.js.map +1 -1
  39. package/lib/prepare-bundle.js +187 -194
  40. package/lib/prepare-bundle.js.map +1 -1
  41. package/lib/recheck.js +16 -13
  42. package/lib/recheck.js.map +1 -1
  43. package/lib/tsconfig.tsbuildinfo +1 -0
  44. package/lib/types.js +3 -0
  45. package/lib/types.js.map +1 -0
  46. package/lib/upload.js +35 -49
  47. package/lib/upload.js.map +1 -1
  48. package/lib/utils.js +556 -577
  49. package/lib/utils.js.map +1 -1
  50. package/lib/validate.js +61 -59
  51. package/lib/validate.js.map +1 -1
  52. package/lib/versions.js +74 -81
  53. package/lib/versions.js.map +1 -1
  54. package/package.json +60 -26
  55. package/readme.md +2 -1
  56. package/tsconfig.json +41 -0
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_axios","_interopRequireDefault","require","_chalk","_fs","_path","_lodash","_os","_randomSeed","_uuid","_child_process","_aws","_recheck","_envReady","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","pkg","logStep","message","console","log","version","chalk","blue","shouldRebuild","bundlePath","useCachedBuild","fs","existsSync","tmpBuildPath","appPath","api","rand","random","create","uuidNumbers","resolvePath","os","tmpdir","uuid","v4","names","config","name","app","toLowerCase","bucket","environment","envName","bundlePrefix","instanceProfile","serviceRole","trailBucketPrefix","trailName","deregisterRuleName","eventTargetRole","eventTargetPolicyName","eventTargetPassRoleName","automationDocument","createUniqueName","prefix","randomNumbers","Math","floor","Date","now","retrieveEnvironmentInfo","count","requestTime","infoType","getConfig","EnvironmentInfo","beanstalk","EnvironmentName","InfoType","promise","newestEntries","sampeDate","SampleTimestamp","Error","Promise","resolve","reject","setTimeout","then","catch","getRecheckInterval","getLogs","logNames","waitForEnvReady","requestEnvironmentInfo","logsForServer","reduce","result","info","Ec2InstanceId","Message","all","map","key","axios","get","data","parts","split","find","part","trim","startsWith","instance","downloadFullServerLogs","logsFolder","mkdirSync","latestData","filePaths","allSettled","bundleInfo","response","responseType","timestamp","toISOString","toTimeString","filename","filePath","path","join","writeFileSync","getNodeVersion","star","readFileSync","toString","nodeVersionTxt","JSON","parse","npmVersion","nodeVersion","substr","selectPlatformArn","awsPlatformBranchName","PlatformBranchSummaryList","listPlatformBranches","Filters","Attribute","Operator","Values","branchName","BranchName","PlatformSummaryList","listPlatformVersions","Type","arn","PlatformArn","attachPolicies","roleName","policies","promises","policy","iam","attachRolePolicy","RoleName","PolicyArn","getAccountId","sts","getCallerIdentity","Account","ensureRoleExists","assumeRolePolicyDocument","ensureAssumeRolePolicy","exists","updateAssumeRolePolicy","Role","getRole","currentAssumeRolePolicy","decodeURIComponent","AssumeRolePolicyDocument","stringify","createRole","PolicyDocument","ensureInstanceProfileExists","getInstanceProfile","InstanceProfileName","createInstanceProfile","ensureRoleAdded","role","added","InstanceProfile","Roles","addRoleToInstanceProfile","ensurePoliciesAttached","AttachedPolicies","listAttachedRolePolicies","unattachedPolicies","indexOf","ensureInlinePolicyAttached","policyName","policyDocument","needsUpdating","getRolePolicy","PolicyName","currentPolicyDocument","putRolePolicy","ensureBucketExists","buckets","bucketName","region","Name","s3","createBucket","Bucket","CreateBucketConfiguration","LocationConstraint","findBucketWithPrefix","ensureBucketPolicyAttached","error","currentPolicy","Policy","getBucketPolicy","params","putBucketPolicy","ensureCloudWatchRule","description","eventPattern","cloudWatchEvents","describeRule","putRule","Description","EventPattern","ensureRuleTargetExists","ruleName","target","Targets","listTargetsByRule","Rule","_target","isEqual","putTargets","coloredStatusText","envColor","text","green","yellow","red","createVersionDescription","appConfig","getBasePath","execSync","cwd","stdio","toUTCString","slice","ensureSsmDocument","content","ssm","getDocument","DocumentVersion","currentContent","Content","replace","createDocument","DocumentType","updateDocument","code","updateDocumentDefaultVersion","pickInstance","EnvironmentResources","describeEnvironmentResources","instanceIds","Instances","Id","id","selected","includes","connectToInstance","instanceId","commandLabel","sshKey","solution","Reservations","ec2","describeInstances","InstanceIds","availabilityZone","Placement","AvailabilityZone","securityGroups","SecurityGroups","g","GroupId","ipAddress","warn","ruleIds","SecurityGroupRules","authorizeSecurityGroupIngress","IpPermissions","FromPort","IpProtocol","IpRanges","CidrIp","ToPort","rule","SecurityGroupRuleId","ec2InstanceConnect","sendSSHPublicKey","InstanceId","InstanceOSUser","SSHPublicKey","publicKey","sshOptions","host","PublicDnsName","port","username","privateKey","removeSSHAccess","revokeSecurityGroupIngress","SecurityGroupRuleIds","executeSSHCommand","conn","command","exec","err","outputStream","end","output","on","stderr","once"],"sources":["../src/utils.js"],"sourcesContent":["import axios from 'axios';\nimport chalk from 'chalk';\nimport fs from 'fs';\nimport path from 'path';\nimport { isEqual } from 'lodash';\nimport os from 'os';\nimport random from 'random-seed';\nimport uuid from 'uuid';\nimport { execSync } from 'child_process';\nimport { beanstalk, cloudWatchEvents, iam, s3, sts, ssm, ec2, ec2InstanceConnect } from './aws';\nimport { getRecheckInterval } from './recheck';\nimport { waitForEnvReady } from './env-ready';\n\n\n\nconst pkg = require('../package.json'); // Adjust the path as needed\n\nexport function logStep(message) {\n console.log(`v${pkg?.version} ${chalk.blue(message)}`);\n}\n\nexport function shouldRebuild(bundlePath, useCachedBuild) {\n if (fs.existsSync(bundlePath) && useCachedBuild) {\n return false;\n }\n\n return true;\n}\n\nexport function tmpBuildPath(appPath, api) {\n const rand = random.create(appPath);\n const uuidNumbers = [];\n\n for (let i = 0; i < 16; i++) {\n uuidNumbers.push(rand(255));\n }\n\n return api.resolvePath(\n os.tmpdir(),\n `mup-meteor-${uuid.v4({ random: uuidNumbers })}`\n );\n}\n\nexport function names(config) {\n const name = config.app.name.toLowerCase();\n\n return {\n bucket: `mup-${name}`,\n environment: config.app.envName || `mup-env-${name}`,\n app: `mup-${name}`,\n bundlePrefix: `mup/bundles/${name}/`,\n instanceProfile: 'aws-elasticbeanstalk-ec2-role',\n serviceRole: 'aws-elasticbeanstalk-service-role',\n trailBucketPrefix: 'mup-graceful-shutdown-trail',\n trailName: 'mup-graceful-shutdown-trail',\n deregisterRuleName: 'mup-target-deregister',\n eventTargetRole: `mup-envoke-run-command-${name}`,\n eventTargetPolicyName: 'Invoke_Run_Command',\n eventTargetPassRoleName: 'Pass_Role',\n automationDocument: 'mup-graceful-shutdown'\n };\n}\n\nexport function createUniqueName(prefix = '') {\n const randomNumbers = Math.floor(Math.random() * 10000);\n\n return `${prefix}-${Date.now()}-${randomNumbers}`;\n}\n\nasync function retrieveEnvironmentInfo(api, count, requestTime = new Date(Date.now() - 60 * 60 * 1000), infoType = 'tail') {\n const config = api.getConfig();\n const {\n environment\n } = names(config);\n\n const {\n EnvironmentInfo\n } = await beanstalk.retrieveEnvironmentInfo({\n EnvironmentName: environment,\n InfoType: infoType\n }).promise();\n\n // Filter logs by the initial request timestamp\n const newestEntries = EnvironmentInfo.filter((log) => {\n const sampeDate = new Date(log.SampleTimestamp);\n // console.log(' - ', count, sampeDate >= requestTime, sampeDate\" - \", requestTime);\n return sampeDate >= requestTime;\n });\n\n if (newestEntries.length > 0) {\n return newestEntries;\n } else if (count > 5) {\n throw new Error('No logs');\n }\n\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n logStep(` - retrieveEnvironmentInfo retry [${count}]`);\n\n // The logs aren't always available, so retry until they are\n // Another option is to look for the event that says it is ready\n retrieveEnvironmentInfo(api, count + 1, requestTime, infoType)\n .then(resolve)\n .catch(reject);\n }, getRecheckInterval());\n });\n}\n\nexport async function getLogs(api, logNames) {\n const config = api.getConfig();\n const {\n environment\n } = names(config);\n\n await waitForEnvReady(config, false);\n\n logStep('=> Requesting Logs');\n\n await beanstalk.requestEnvironmentInfo({\n EnvironmentName: environment,\n InfoType: 'tail'\n }).promise();\n\n const EnvironmentInfo = await retrieveEnvironmentInfo(api, 0);\n\n logStep('=> Downloading Logs');\n\n const logsForServer = EnvironmentInfo.reduce((result, info) => {\n result[info.Ec2InstanceId] = info.Message;\n\n return result;\n }, {});\n\n return Promise.all(Object.keys(logsForServer).map(key =>\n new Promise((resolve, reject) => {\n axios.get(logsForServer[key]).then(({ data }) => {\n // The separator changed with Amazon Linux 2\n let parts = data.split('----------------------------------------\\n/var/log/');\n if (parts.length === 1) {\n parts = data.split('-------------------------------------\\n/var/log/');\n }\n\n data = logNames.map(name =>\n parts.find(part => part.trim().startsWith(name)));\n\n resolve({\n data,\n instance: key\n });\n }).catch(reject);\n })));\n}\n\nexport async function downloadFullServerLogs(api) {\n const config = api.getConfig();\n const { environment } = names(config);\n\n // Ensure the logs folder exists\n const logsFolder = './fullLogs/';\n if (!fs.existsSync(logsFolder)) {\n fs.mkdirSync(logsFolder);\n }\n\n await waitForEnvReady(config, false);\n\n // Record the time of the request\n const requestTime = new Date();\n logStep('=> Requesting FullServerLogs');\n\n\n await beanstalk.requestEnvironmentInfo({\n EnvironmentName: environment,\n InfoType: 'bundle' // Request full logs instead of just the tail\n }).promise();\n\n const latestData = await retrieveEnvironmentInfo(api, 0, requestTime, 'bundle');\n\n logStep('=> Downloading Logs Bundle');\n if (!latestData) {\n throw new Error('No logs bundle found.');\n }\n\n const filePaths = Promise.allSettled(latestData.map(async (bundleInfo) => {\n // Download the zip file\n const response = await axios.get(bundleInfo.Message, {\n responseType: 'arraybuffer'\n });\n const timestamp = `${bundleInfo.SampleTimestamp.toISOString()\n .split('T')[0]}_${bundleInfo.SampleTimestamp.toTimeString().split(' ')[0]}`;\n\n const filename = `${timestamp}__${bundleInfo.Ec2InstanceId}.zip`;\n const filePath = path.join(logsFolder, filename);\n fs.writeFileSync(filePath, response.data);\n\n // logStep(`Logs bundle saved to ${filePath}`);\n return filePath;\n }));\n // console.log('filePaths', filePaths);\n\n return filePaths;\n}\n\nexport function getNodeVersion(api, bundlePath) {\n let star = fs.readFileSync(api.resolvePath(bundlePath, 'bundle/star.json')).toString();\n const nodeVersionTxt = fs.readFileSync(api.resolvePath(bundlePath, 'bundle/.node_version.txt')).toString();\n\n star = JSON.parse(star);\n\n if (star.npmVersion) {\n return {\n nodeVersion: star.nodeVersion,\n npmVersion: star.npmVersion\n };\n }\n\n const nodeVersion = nodeVersionTxt.substr(1);\n\n if (nodeVersion.startsWith('4')) {\n return {\n nodeVersion,\n npmVersion: '4.6.1'\n };\n }\n\n return {\n nodeVersion,\n npmVersion: '3.10.5'\n };\n}\n\nexport async function selectPlatformArn(awsPlatformBranchName) {\n console.log('----> Amazon BranchName:', awsPlatformBranchName);\n\n const {\n PlatformBranchSummaryList\n } = await beanstalk.listPlatformBranches({\n Filters: [\n {\n Attribute: 'PlatformName',\n Operator: '=',\n Values: ['Node.js']\n }, {\n Attribute: 'TierType',\n Operator: '=',\n Values: ['WebServer/Standard']\n }, {\n Attribute: 'BranchName',\n Operator: 'begins_with',\n Values: [awsPlatformBranchName]\n }]\n }).promise();\n\n if (PlatformBranchSummaryList.length === 0) {\n throw new Error('Unable to find supported Node.js platform');\n }\n\n const branchName = PlatformBranchSummaryList[0].BranchName;\n console.log('----> Amazon Platform:', branchName);\n\n const {\n PlatformSummaryList\n } = await beanstalk.listPlatformVersions({\n Filters: [\n {\n Type: 'PlatformBranchName',\n Operator: '=',\n Values: [branchName]\n },\n {\n Type: 'PlatformStatus',\n Operator: '=',\n Values: ['Ready']\n }\n ]\n }).promise();\n\n const arn = PlatformSummaryList[0].PlatformArn;\n console.log('----> Amazon ARN:', arn);\n\n return arn;\n}\n\nexport async function attachPolicies(config, roleName, policies) {\n const promises = [];\n\n policies.forEach((policy) => {\n const promise = iam.attachRolePolicy({\n RoleName: roleName,\n PolicyArn: policy\n }).promise();\n\n promises.push(promise);\n });\n\n await Promise.all(promises);\n}\n\nexport function getAccountId() {\n return sts.getCallerIdentity()\n .promise()\n .then(({ Account }) => Account);\n}\n\nexport async function ensureRoleExists(name, assumeRolePolicyDocument, ensureAssumeRolePolicy) {\n let exists = true;\n let updateAssumeRolePolicy = false;\n\n try {\n const { Role } = await iam.getRole({\n RoleName: name\n }).promise();\n\n\n const currentAssumeRolePolicy = decodeURIComponent(Role.AssumeRolePolicyDocument);\n // Make the whitespace consistent with the current document\n assumeRolePolicyDocument = JSON.stringify(JSON.parse(assumeRolePolicyDocument));\n\n if (currentAssumeRolePolicy !== assumeRolePolicyDocument && ensureAssumeRolePolicy) {\n updateAssumeRolePolicy = true;\n }\n } catch (e) {\n exists = false;\n }\n\n if (!exists) {\n await iam.createRole({\n RoleName: name,\n AssumeRolePolicyDocument: assumeRolePolicyDocument\n }).promise();\n } else if (updateAssumeRolePolicy) {\n await iam.updateAssumeRolePolicy({\n RoleName: name,\n PolicyDocument: assumeRolePolicyDocument\n }).promise();\n }\n}\n\nexport async function ensureInstanceProfileExists(config, name) {\n let exists = true;\n\n try {\n await iam.getInstanceProfile({\n InstanceProfileName: name\n }).promise();\n } catch (e) {\n exists = false;\n }\n\n if (!exists) {\n await iam.createInstanceProfile({\n InstanceProfileName: name\n }).promise();\n }\n}\n\nexport async function ensureRoleAdded(config, instanceProfile, role) {\n let added = true;\n\n\n const {\n InstanceProfile\n } = await iam.getInstanceProfile({\n InstanceProfileName: instanceProfile\n }).promise();\n\n if (InstanceProfile.Roles.length === 0 || InstanceProfile.Roles[0].RoleName !== role) {\n added = false;\n }\n\n if (!added) {\n await iam.addRoleToInstanceProfile({\n InstanceProfileName: instanceProfile,\n RoleName: role\n }).promise();\n }\n}\n\nexport async function ensurePoliciesAttached(config, role, policies) {\n let {\n AttachedPolicies\n } = await iam.listAttachedRolePolicies({\n RoleName: role\n }).promise();\n\n AttachedPolicies = AttachedPolicies.map(policy => policy.PolicyArn);\n\n const unattachedPolicies = policies.reduce((result, policy) => {\n if (AttachedPolicies.indexOf(policy) === -1) {\n result.push(policy);\n }\n\n return result;\n }, []);\n\n if (unattachedPolicies.length > 0) {\n await attachPolicies(config, role, unattachedPolicies);\n }\n}\n\nexport async function ensureInlinePolicyAttached(role, policyName, policyDocument) {\n let exists = true;\n let needsUpdating = false;\n\n try {\n const result = await iam.getRolePolicy({\n RoleName: role,\n PolicyName: policyName\n }).promise();\n const currentPolicyDocument = decodeURIComponent(result.PolicyDocument);\n\n if (currentPolicyDocument !== policyDocument) {\n needsUpdating = true;\n }\n } catch (e) {\n exists = false;\n }\n\n if (!exists || needsUpdating) {\n await iam.putRolePolicy({\n RoleName: role,\n PolicyName: policyName,\n PolicyDocument: policyDocument\n }).promise();\n }\n}\n\nexport async function ensureBucketExists(buckets, bucketName, region) {\n if (!buckets.find(bucket => bucket.Name === bucketName)) {\n await s3.createBucket({\n Bucket: bucketName,\n ...(region ? {\n CreateBucketConfiguration: {\n LocationConstraint: region\n }\n } : {})\n }).promise();\n\n return true;\n }\n}\n\nexport function findBucketWithPrefix(buckets, prefix) {\n return buckets.find(bucket => bucket.Name.indexOf(prefix) === 0);\n}\n\nexport async function ensureBucketPolicyAttached(bucketName, policy) {\n let error = false;\n let currentPolicy;\n\n try {\n const { Policy } = await s3.getBucketPolicy({ Bucket: bucketName }).promise();\n currentPolicy = Policy;\n } catch (e) {\n error = true;\n }\n\n if (error || currentPolicy !== policy) {\n const params = {\n Bucket: bucketName,\n Policy: policy\n };\n\n await s3.putBucketPolicy(params).promise();\n }\n}\n\nexport async function ensureCloudWatchRule(name, description, eventPattern) {\n let error = false;\n\n try {\n await cloudWatchEvents.describeRule({ Name: name }).promise();\n } catch (e) {\n error = true;\n }\n\n if (error) {\n await cloudWatchEvents.putRule({\n Name: name,\n Description: description,\n EventPattern: eventPattern\n }).promise();\n\n return true;\n }\n\n return false;\n}\n\nexport async function ensureRuleTargetExists(ruleName, target) {\n const {\n Targets\n } = await cloudWatchEvents.listTargetsByRule({\n Rule: ruleName\n }).promise();\n\n if (!Targets.find(_target => isEqual(_target, target))) {\n const params = {\n Rule: ruleName,\n Targets: [target]\n };\n await cloudWatchEvents.putTargets(params).promise();\n\n return true;\n }\n}\n\nexport function coloredStatusText(envColor, text) {\n if (envColor === 'Green') {\n return chalk.green(text);\n } else if (envColor === 'Yellow') {\n return chalk.yellow(text);\n } else if (envColor === 'Red') {\n return chalk.red(text);\n }\n return text;\n}\n\nexport function createVersionDescription(api, appConfig) {\n const appPath = api.resolvePath(api.getBasePath(), appConfig.path);\n let description = '';\n\n try {\n description = execSync('git log -1 --pretty=%B', {\n cwd: appPath,\n stdio: 'pipe'\n }).toString();\n } catch (e) {\n description = `Deployed by Mup on ${new Date().toUTCString()}`;\n }\n return description.split('\\n')[0].slice(0, 195);\n}\n\nexport async function ensureSsmDocument(name, content) {\n let exists = true;\n let needsUpdating = false;\n\n try {\n const result = await ssm.getDocument({ Name: name, DocumentVersion: '$DEFAULT' }).promise();\n // If the document was created or edited on the AWS console, there is extra new\n // line characters and whitespace\n const currentContent = JSON.stringify(JSON.parse(result.Content.replace(/\\r?\\n|\\r/g, '')));\n if (currentContent !== content) {\n needsUpdating = true;\n }\n } catch (e) {\n exists = false;\n }\n\n if (!exists) {\n await ssm.createDocument({\n Content: content,\n Name: name,\n DocumentType: 'Automation'\n }).promise();\n\n return true;\n } else if (needsUpdating) {\n try {\n await ssm.updateDocument({\n Content: content,\n Name: name,\n DocumentVersion: '$LATEST'\n }).promise();\n } catch (e) {\n // If the latest document version has the correct content\n // then it must not be the default version. Ignore the error\n // so we can fix the default version\n if (e.code !== 'DuplicateDocumentContent') {\n throw e;\n }\n }\n\n const result = await ssm.getDocument({ Name: name, DocumentVersion: '$LATEST' }).promise();\n await ssm.updateDocumentDefaultVersion({\n DocumentVersion: result.DocumentVersion,\n Name: name\n }).promise();\n }\n}\n\nexport async function pickInstance(config, instance) {\n const {\n environment\n } = names(config);\n\n const { EnvironmentResources } = await beanstalk.describeEnvironmentResources({\n EnvironmentName: environment\n }).promise();\n const instanceIds = EnvironmentResources.Instances.map(({ Id }) => Id);\n const description = [\n 'Available instances',\n ...instanceIds.map(id => ` - ${id}`)\n ].join('\\n');\n\n return {\n selected: instanceIds.includes(instance) ? instance : null,\n description\n };\n}\n\nexport async function connectToInstance(api, instanceId, commandLabel) {\n const {\n sshKey\n } = api.getConfig().app;\n\n if (!sshKey) {\n const error = new Error('missing sshKey config');\n error.solution = 'Learn how to configure sshKey at https://github.com/zodern/mup-aws-beanstalk/blob/master/docs/index.md#meteor-shell-and-debug';\n\n throw error;\n }\n\n const { Reservations } = await ec2.describeInstances({\n InstanceIds: [\n instanceId\n ]\n }).promise();\n\n const instance = Reservations[0].Instances[0];\n const availabilityZone = instance.Placement.AvailabilityZone;\n const securityGroups = instance.SecurityGroups.map(g => g.GroupId);\n\n let { data: ipAddress } = await axios.get('https://ipv4.icanhazip.com');\n ipAddress = ipAddress.trim();\n\n if (securityGroups.length > 1) {\n console.warn('Instance has more than one security group. Please open a GitHub issue for mup-aws-beanstalk');\n }\n\n let ruleIds = [];\n\n try {\n const { SecurityGroupRules } = await ec2.authorizeSecurityGroupIngress({\n GroupId: securityGroups[0],\n IpPermissions: [\n {\n FromPort: 22,\n IpProtocol: 'tcp',\n IpRanges: [\n {\n CidrIp: `${ipAddress}/32`,\n Description: `Temporary SSH access for ${commandLabel}`\n }\n ],\n ToPort: 22\n }\n ]\n }).promise();\n\n ruleIds = SecurityGroupRules.map(rule => rule.SecurityGroupRuleId);\n } catch (e) {\n if (e.code === 'InvalidPermission.Duplicate') {\n // This rule already exists\n // TODO: should we find the rule id so we can remove it, or leave it in\n // case the user had manually added this rule?\n } else {\n throw e;\n }\n }\n\n await ec2InstanceConnect.sendSSHPublicKey({\n InstanceId: instanceId,\n AvailabilityZone: availabilityZone,\n InstanceOSUser: 'ec2-user',\n SSHPublicKey: fs.readFileSync(api.resolvePath(sshKey.publicKey), 'utf-8')\n }).promise();\n\n const sshOptions = {\n host: instance.PublicDnsName,\n port: 22,\n username: 'ec2-user',\n privateKey: fs.readFileSync(api.resolvePath(sshKey.privateKey), 'utf-8')\n };\n\n return {\n sshOptions,\n removeSSHAccess() {\n if (ruleIds.length === 0) {\n return;\n }\n\n console.log('Removing temporary security group rule for SSH');\n return ec2.revokeSecurityGroupIngress({\n GroupId: securityGroups[0],\n SecurityGroupRuleIds: ruleIds\n }).promise();\n }\n };\n}\n\nexport async function executeSSHCommand(conn, command) {\n return new Promise((resolve, reject) => {\n conn.exec(command, (err, outputStream) => {\n if (err) {\n conn.end();\n reject(err);\n\n return;\n }\n\n let output = '';\n\n outputStream.on('data', (data) => {\n output += data;\n });\n\n outputStream.stderr.on('data', (data) => {\n output += data;\n });\n\n outputStream.once('close', (code) => {\n conn.end();\n resolve({ code, output });\n });\n });\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;AAoBA,0BAEC;AACD,wCAEC;AAED,sCAMC;AAED,oCAYC;AAED,sBAkBC;AAED,4CAIC;AAsCD,0BA2CC;AAED,wDA+CC;AAED,wCA6BC;AAED,8CAkDC;AAED,wCAaC;AAED,oCAGC;AAED,4CAmCC;AAED,kEAgBC;AAED,0CAmBC;AAED,wDAoBC;AAED,gEA6BC;AAED,gDAkBC;AAED,oDAKC;AAED,gEAsBC;AAED,oDAwBC;AAED,wDAiBC;AAED,8CASC;AAED,4DAaC;AAED,8CA+CC;AAED,oCAkBC;AAED,8CA8FC;AAED,8CA0BC;AA9uBD,kDAA0B;AAC1B,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,mCAA2C;AAC3C,4CAAoB;AACpB,8DAAiC;AACjC,+BAAmC;AAEnC,iDAAyC;AACzC,+BAAgG;AAChG,uCAA+C;AAC/C,2CAA8C;AAM9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,4BAA4B;AAEpE,SAAgB,OAAO,CAAC,OAAe;IACrC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,IAAI,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AACD,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,aAAa,CAAC,UAAkB,EAAE,cAAwB;IACxE,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,cAAc,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe,EAAE,GAAW;IACvD,MAAM,IAAI,GAAG,qBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,GAAG,CAAC,WAAW,CACpB,YAAE,CAAC,MAAM,EAAE,EACX,cAAc,IAAA,SAAM,EAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,CAChD,CAAC;AACJ,CAAC;AAED,SAAgB,KAAK,CAAC,MAAiB;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAE3C,OAAO;QACL,MAAM,EAAE,OAAO,IAAI,EAAE;QACrB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW,IAAI,EAAE;QACpD,GAAG,EAAE,OAAO,IAAI,EAAE;QAClB,YAAY,EAAE,eAAe,IAAI,GAAG;QACpC,eAAe,EAAE,+BAA+B;QAChD,WAAW,EAAE,mCAAmC;QAChD,iBAAiB,EAAE,6BAA6B;QAChD,SAAS,EAAE,6BAA6B;QACxC,kBAAkB,EAAE,uBAAuB;QAC3C,eAAe,EAAE,0BAA0B,IAAI,EAAE;QACjD,qBAAqB,EAAE,oBAAoB;QAC3C,uBAAuB,EAAE,WAAW;QACpC,kBAAkB,EAAE,uBAAuB;KAC5C,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAAM,GAAG,EAAE;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IAExD,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,GAAW,EAAE,KAAa,EAAE,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM;IACvI,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,EACJ,eAAe,EAChB,GAAG,MAAM,eAAS,CAAC,uBAAuB,CAAC;QAC1C,eAAe,EAAE,WAAW;QAC5B,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IAEH,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,+CAA+C;QAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAChD,sFAAsF;YACtF,OAAO,SAAS,IAAI,WAAW,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,sCAAsC,KAAK,GAAG,CAAC,CAAC;YAExD,4DAA4D;YAC5D,gEAAgE;YAChE,uBAAuB,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC;iBAC3D,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,EAAE,IAAA,4BAAkB,GAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,GAAW,EAAE,QAAkB;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,IAAA,2BAAe,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAErC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE9B,MAAM,eAAS,CAAC,sBAAsB,CAAC;QACrC,eAAe,EAAE,WAAW;QAC5B,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAE9D,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE/B,MAAM,aAAa,GAAG,eAAe,IAAI,eAAe,CAAC,MAAM,CAC7D,CAAC,MAAiC,EAAE,EAAE,aAAa,EAAE,OAAO,EAA8B,EAAE,EAAE;QAC5F,IAAI,IAAA,iBAAQ,EAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,aAAa,CAAC,GAAG,OAAQ,CAAC;QACnC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACtD,IAAI,OAAO,CAAuC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACpE,eAAK,CAAC,GAAG,CAAS,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACtD,4CAA4C;YAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC9E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACnC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAE1D,OAAO,CAAC;gBACN,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,GAAG;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,GAAW;IACtD,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;IAC/B,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEtC,gCAAgC;IAChC,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,YAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,IAAA,2BAAe,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAErC,iCAAiC;IACjC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAGxC,MAAM,eAAS,CAAC,sBAAsB,CAAC;QACrC,eAAe,EAAE,WAAW;QAC5B,QAAQ,EAAE,QAAQ,CAAC,6CAA6C;KACjE,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEhF,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,UAAsC,EAAE,EAAE;QACnG,wBAAwB;QACxB,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,OAAQ,EAAE;YACpD,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,GAAG,UAAU,CAAC,eAAgB,CAAC,WAAW,EAAE;aAC3D,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,eAAgB,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/E,MAAM,QAAQ,GAAG,GAAG,SAAS,KAAK,UAAU,CAAC,aAAa,MAAM,CAAC;QACjE,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACjD,YAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE1C,+CAA+C;QAC/C,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC,CAAC,CAAC;IACJ,uCAAuC;IAEvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,cAAc,CAAC,GAAW,EAAE,UAAkB;;IAC5D,MAAM,UAAU,GAAG,YAAE,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/F,MAAM,cAAc,GAAG,YAAE,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE3G,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,KAAI,MAAM,CAAC;IAEnE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO;YACL,aAAa;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE7C,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,WAAW;YACX,UAAU,EAAE,OAAO;SACpB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,WAAW;QACX,UAAU,EAAE,QAAQ;KACrB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,qBAA6B;IACnE,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,qBAAqB,CAAC,CAAC;IAE/D,MAAM,EACJ,yBAAyB,EAC1B,GAAG,MAAM,eAAS,CAAC,oBAAoB,CAAC;QACvC,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,cAAc;gBACzB,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,SAAS,CAAC;aACpB,EAAE;gBACD,SAAS,EAAE,UAAU;gBACrB,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,oBAAoB,CAAC;aAC/B,EAAE;gBACD,SAAS,EAAE,YAAY;gBACvB,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,CAAC,qBAAqB,CAAC;aAChC;SAAC;KACL,CAAC,CAAC;IAEH,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC,UAAoB,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,UAAU,EAAE,cAAc,EAAE,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAC,EAAE,CAAA,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAErL,MAAM,EACJ,mBAAmB,EACpB,GAAG,MAAM,eAAS,CAAC,oBAAoB,CAAC;QACvC,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,UAAU,CAAC;aACrB;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,GAAG;gBACb,MAAM,EAAE,CAAC,OAAO,CAAC;aAClB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,CAAC,EAAE,WAAW,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAEtC,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,QAAkB;IACvE,MAAM,QAAQ,GAA6C,EAAE,CAAC;IAE9D,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,SAAG,CAAC,gBAAgB,CAAC;YACnC,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAEM,KAAK,UAAU,YAAY;IAChC,MAAM,QAAQ,GAAG,MAAM,SAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,QAAQ,CAAC,OAAQ,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,wBAAgC,EAChC,sBAAgC;IAEhC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,sBAAsB,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,SAAG,CAAC,OAAO,CAAC;YACjC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAK,CAAC,wBAAyB,CAAC,CAAC;QACpF,2DAA2D;QAC3D,MAAM,kCAAkC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAEhG,IAAI,uBAAuB,KAAK,kCAAkC,IAAI,sBAAsB,EAAE,CAAC;YAC7F,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAG,CAAC,UAAU,CAAC;YACnB,QAAQ,EAAE,IAAI;YACd,wBAAwB,EAAE,wBAAwB;SACnD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,sBAAsB,EAAE,CAAC;QAClC,MAAM,SAAG,CAAC,sBAAsB,CAAC;YAC/B,QAAQ,EAAE,IAAI;YACd,cAAc,EAAE,wBAAwB;SACzC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAAC,IAAY;IAC5D,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,SAAG,CAAC,kBAAkB,CAAC;YAC3B,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAG,CAAC,qBAAqB,CAAC;YAC9B,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,eAAuB,EAAE,IAAY;IACzE,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,MAAM,EACJ,eAAe,EAChB,GAAG,MAAM,SAAG,CAAC,kBAAkB,CAAC;QAC/B,mBAAmB,EAAE,eAAe;KACrC,CAAC,CAAC;IAEH,IAAI,eAAgB,CAAC,KAAM,CAAC,MAAM,KAAK,CAAC,IAAI,eAAgB,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;QACzF,KAAK,GAAG,KAAK,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,SAAG,CAAC,wBAAwB,CAAC;YACjC,mBAAmB,EAAE,eAAe;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,IAAY,EAAE,QAAkB;IAC3E,IAAI,EACF,gBAAgB,EACjB,GAAG,MAAM,SAAG,CAAC,wBAAwB,CAAC;QACrC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,gBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAE/D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAc,CAAC,CAAC;IAEnB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,cAAc,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,IAAY,EACZ,UAAkB,EAClB,cAAsB;IAEtB,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,aAAa,CAAC;YACrC,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,cAAe,CAAC,CAAC;QAEzE,IAAI,qBAAqB,KAAK,cAAc,EAAE,CAAC;YAC7C,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAC7B,MAAM,SAAG,CAAC,aAAa,CAAC;YACtB,QAAQ,EAAE,IAAI;YACd,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,UAAkB,EAClB,MAAc;IAEd,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;QAC1D,aAAa;QACb,MAAM,QAAE,CAAC,YAAY,CAAC;YACrB,MAAM,EAAE,UAAU;YAClB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACZ,yBAAyB,EAAE;oBAC1B,kBAAkB,EAAE,MAAM;iBAC1B;aACD,CAAC,CAAC,CAAC,EAAE,CAAC;SACP,CAAC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAClC,OAAgB,EAChB,MAAc;IAEd,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,UAAkB,EAClB,MAAc;IAEd,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,aAAa,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QACpE,aAAa,GAAG,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IAED,IAAI,KAAK,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,MAAM;SACf,CAAC;QAEF,MAAM,QAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,WAAmB,EACnB,YAAoB;IAEpB,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,IAAI,CAAC;QACH,MAAM,sBAAgB,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,sBAAgB,CAAC,OAAO,CAAC;YAC7B,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAAC,QAAgB,EAAE,MAAc;IAC3E,MAAM,EACJ,OAAO,EACR,GAAG,MAAM,sBAAgB,CAAC,iBAAiB,CAAC;QAC3C,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAA,gBAAO,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,CAAC;QAEF,MAAM,sBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,QAAgB,EAAE,IAAY;IAC9D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,wBAAwB,CAAC,GAAW,EAAE,SAAuB;IAC3E,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACnE,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,IAAI,CAAC;QACH,WAAW,GAAG,IAAA,wBAAQ,EAAC,wBAAwB,EAAE;YAC/C,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,QAAQ,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,WAAW,GAAG,sBAAsB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;IACjE,CAAC;IACD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IACnE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;QAClF,+EAA+E;QAC/E,iCAAiC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;YAC/B,aAAa,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAG,CAAC,cAAc,CAAC;YACvB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;YACV,YAAY,EAAE,YAAY;SAC3B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,aAAa,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,SAAG,CAAC,cAAc,CAAC;gBACvB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;gBACV,eAAe,EAAE,SAAS;aAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,yDAAyD;YACzD,4DAA4D;YAC5D,oCAAoC;YACpC,aAAa;YACb,IAAI,CAAC,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;gBAC1C,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,SAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;QACjF,MAAM,SAAG,CAAC,4BAA4B,CAAC;YACrC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAAC,MAAiB,EAAE,QAAgB;IACpE,MAAM,EACJ,WAAW,EACZ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAElB,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,eAAS,CAAC,4BAA4B,CAAC;QAC5E,eAAe,EAAE,WAAW;KAC7B,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,oBAAqB,CAAC,SAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG;QAClB,qBAAqB;QACrB,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC;KACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;QACL,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC1D,WAAW;KACZ,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,GAAW,EACX,UAAkB,EAClB,YAAoB;IAEpB,MAAM,EACJ,MAAM,EACP,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC;IAExB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACjD,aAAa;QACb,KAAK,CAAC,QAAQ,GAAG,+HAA+H,CAAC;QAEjJ,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,SAAG,CAAC,iBAAiB,CAAC;QACnD,WAAW,EAAE;YACX,UAAU;SACX;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,YAAa,CAAC,CAAC,CAAC,CAAC,SAAU,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,QAAS,CAAC,SAAU,CAAC,gBAAgB,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAS,CAAC,cAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAK,CAAC,GAAG,CAAS,4BAA4B,CAAC,CAAC;IAChF,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,OAAO,GAAa,EAAE,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,SAAG,CAAC,6BAA6B,CAAC;YACrE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;YAC1B,aAAa,EAAE;gBACb;oBACE,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE;wBACR;4BACE,MAAM,EAAE,GAAG,SAAS,KAAK;4BACzB,WAAW,EAAE,4BAA4B,YAAY,EAAE;yBACxD;qBACF;oBACD,MAAM,EAAE,EAAE;iBACX;aACF;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,kBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAoB,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,aAAa;QACb,IAAI,CAAC,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;YAC7C,2BAA2B;YAC3B,uEAAuE;YACvE,8CAA8C;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,MAAM,wBAAkB,CAAC,gBAAgB,CAAC;QACxC,UAAU,EAAE,UAAU;QACtB,gBAAgB,EAAE,gBAAgB;QAClC,cAAc,EAAE,UAAU;QAC1B,YAAY,EAAE,YAAE,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;KAC1E,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,aAAc;QAC7B,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAE,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;KACzE,CAAC;IAEF,OAAO;QACL,UAAU;QACV,eAAe;YACb,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,SAAG,CAAC,0BAA0B,CAAC;gBACpC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC1B,oBAAoB,EAAE,OAAO;aAC9B,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IACnE,OAAO,IAAI,OAAO,CAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACvE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACvC,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEZ,OAAO;YACT,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC9C,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;gBAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
package/lib/validate.js CHANGED
@@ -1,63 +1,65 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = default_1;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const schema = joi_1.default.object().keys({
9
+ name: joi_1.default.string().min(1).required(),
10
+ path: joi_1.default.string().min(1).required(),
11
+ type: joi_1.default.string().required(),
12
+ envName: joi_1.default.string().min(1),
13
+ envType: joi_1.default.string().valid('webserver', 'worker'),
14
+ buildOptions: joi_1.default.object().keys({
15
+ serverOnly: joi_1.default.bool(),
16
+ debug: joi_1.default.bool(),
17
+ buildLocation: joi_1.default.string(),
18
+ mobileSettings: joi_1.default.object(),
19
+ server: joi_1.default.string().uri(),
20
+ allowIncompatibleUpdates: joi_1.default.boolean(),
21
+ executable: joi_1.default.string()
22
+ }),
23
+ // The meteor plugin adds the docker object, which is a bug in mup
24
+ docker: joi_1.default.object(),
25
+ env: joi_1.default.object(),
26
+ auth: joi_1.default.object().keys({
27
+ id: joi_1.default.string().required(),
28
+ secret: joi_1.default.string().required()
29
+ }).required(),
30
+ sslDomains: joi_1.default.array().items(joi_1.default.string()),
31
+ forceSSL: joi_1.default.bool(),
32
+ streamLogs: joi_1.default.bool(),
33
+ region: joi_1.default.string(),
34
+ minInstances: joi_1.default.number().min(1).required(),
35
+ maxInstances: joi_1.default.number().min(1),
36
+ instanceType: joi_1.default.string(),
37
+ gracefulShutdown: joi_1.default.bool(),
38
+ longEnvVars: joi_1.default.bool(),
39
+ requireInstanceRole: joi_1.default.bool(),
40
+ yumPackages: joi_1.default.object().pattern(/[/s/S]*/, [joi_1.default.string().allow('')]),
41
+ oldVersions: joi_1.default.number(),
42
+ customBeanstalkConfig: joi_1.default.array().items(joi_1.default.object({
43
+ namespace: joi_1.default.string().trim().required(),
44
+ resource: joi_1.default.string().trim().optional(),
45
+ option: joi_1.default.string().trim().required(),
46
+ value: joi_1.default.string().trim().required()
47
+ })),
48
+ sshKey: {
49
+ privateKey: joi_1.default.string().required(),
50
+ publicKey: joi_1.default.string().required()
51
+ },
52
+ awsPlatformBranchName: joi_1.default.string().min(1).required()
5
53
  });
6
- exports.default = _default;
7
- var _joi = _interopRequireDefault(require("@hapi/joi"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const schema = _joi.default.object().keys({
10
- name: _joi.default.string().min(1).required(),
11
- path: _joi.default.string().min(1).required(),
12
- type: _joi.default.string().required(),
13
- envName: _joi.default.string().min(1),
14
- buildOptions: _joi.default.object().keys({
15
- serverOnly: _joi.default.bool(),
16
- debug: _joi.default.bool(),
17
- buildLocation: _joi.default.string(),
18
- mobileSettings: _joi.default.object(),
19
- server: _joi.default.string().uri(),
20
- allowIncompatibleUpdates: _joi.default.boolean(),
21
- executable: _joi.default.string()
22
- }),
23
- // The meteor plugin adds the docker object, which is a bug in mup
24
- docker: _joi.default.object(),
25
- env: _joi.default.object(),
26
- auth: _joi.default.object().keys({
27
- id: _joi.default.string().required(),
28
- secret: _joi.default.string().required()
29
- }).required(),
30
- sslDomains: _joi.default.array().items(_joi.default.string()),
31
- forceSSL: _joi.default.bool(),
32
- region: _joi.default.string(),
33
- minInstances: _joi.default.number().min(1).required(),
34
- maxInstances: _joi.default.number().min(1),
35
- instanceType: _joi.default.string(),
36
- gracefulShutdown: _joi.default.bool(),
37
- longEnvVars: _joi.default.bool(),
38
- yumPackages: _joi.default.object().pattern(/[/s/S]*/, [_joi.default.string().allow('')]),
39
- oldVersions: _joi.default.number(),
40
- customBeanstalkConfig: _joi.default.array().items(_joi.default.object({
41
- namespace: _joi.default.string().trim().required(),
42
- resource: _joi.default.string().trim().optional(),
43
- option: _joi.default.string().trim().required(),
44
- value: _joi.default.string().trim().required()
45
- })),
46
- sshKey: {
47
- privateKey: _joi.default.string().required(),
48
- publicKey: _joi.default.string().required()
49
- },
50
- awsPlatformBranchName: _joi.default.string().min(1).required()
51
- });
52
- function _default(config, utils) {
53
- let details = [];
54
- details = utils.combineErrorDetails(details, _joi.default.validate(config.app, schema, utils.VALIDATE_OPTIONS));
55
- if (config.app && config.app.name && config.app.name.length < 4) {
56
- details.push({
57
- message: 'must have at least 4 characters',
58
- path: 'name'
59
- });
60
- }
61
- return utils.addLocation(details, 'app');
54
+ function default_1(config, utils) {
55
+ let details = [];
56
+ details = utils.combineErrorDetails(details, schema.validate(config.app, utils.VALIDATE_OPTIONS));
57
+ if (config.app && config.app.name && config.app.name.length < 4) {
58
+ details.push({
59
+ message: 'must have at least 4 characters',
60
+ path: 'name'
61
+ });
62
+ }
63
+ return utils.addLocation(details, 'app');
62
64
  }
63
65
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","names":["_joi","_interopRequireDefault","require","e","__esModule","default","schema","joi","object","keys","name","string","min","required","path","type","envName","buildOptions","serverOnly","bool","debug","buildLocation","mobileSettings","server","uri","allowIncompatibleUpdates","boolean","executable","docker","env","auth","id","secret","sslDomains","array","items","forceSSL","region","minInstances","number","maxInstances","instanceType","gracefulShutdown","longEnvVars","yumPackages","pattern","allow","oldVersions","customBeanstalkConfig","namespace","trim","resource","optional","option","value","sshKey","privateKey","publicKey","awsPlatformBranchName","_default","config","utils","details","combineErrorDetails","validate","app","VALIDATE_OPTIONS","length","push","message","addLocation"],"sources":["../src/validate.js"],"sourcesContent":["import joi from '@hapi/joi';\n\nconst schema = joi.object().keys({\n name: joi.string().min(1).required(),\n path: joi.string().min(1).required(),\n type: joi.string().required(),\n envName: joi.string().min(1),\n buildOptions: joi.object().keys({\n serverOnly: joi.bool(),\n debug: joi.bool(),\n buildLocation: joi.string(),\n mobileSettings: joi.object(),\n server: joi.string().uri(),\n allowIncompatibleUpdates: joi.boolean(),\n executable: joi.string()\n }),\n // The meteor plugin adds the docker object, which is a bug in mup\n docker: joi.object(),\n env: joi.object(),\n auth: joi.object().keys({\n id: joi.string().required(),\n secret: joi.string().required()\n }).required(),\n sslDomains: joi.array().items(joi.string()),\n forceSSL: joi.bool(),\n region: joi.string(),\n minInstances: joi.number().min(1).required(),\n maxInstances: joi.number().min(1),\n instanceType: joi.string(),\n gracefulShutdown: joi.bool(),\n longEnvVars: joi.bool(),\n yumPackages: joi.object().pattern(\n /[/s/S]*/,\n [joi.string().allow('')]\n ),\n oldVersions: joi.number(),\n customBeanstalkConfig: joi.array().items(joi.object({\n namespace: joi.string().trim().required(),\n resource: joi.string().trim().optional(),\n option: joi.string().trim().required(),\n value: joi.string().trim().required()\n })),\n sshKey: {\n privateKey: joi.string().required(),\n publicKey: joi.string().required()\n },\n awsPlatformBranchName: joi.string().min(1).required()\n});\n\nexport default function (config, utils) {\n let details = [];\n details = utils.combineErrorDetails(\n details,\n joi.validate(config.app, schema, utils.VALIDATE_OPTIONS)\n );\n if (config.app && config.app.name && config.app.name.length < 4) {\n details.push({\n message: 'must have at least 4 characters',\n path: 'name'\n });\n }\n\n return utils.addLocation(details, 'app');\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
package/lib/versions.js CHANGED
@@ -1,101 +1,94 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ebVersions = ebVersions;
7
- exports.largestEnvVersion = largestEnvVersion;
4
+ exports.s3Versions = s3Versions;
8
5
  exports.largestVersion = largestVersion;
6
+ exports.largestEnvVersion = largestEnvVersion;
9
7
  exports.oldEnvVersions = oldEnvVersions;
10
8
  exports.oldVersions = oldVersions;
11
- exports.s3Versions = s3Versions;
12
- var _lodash = require("lodash");
13
- var _aws = require("./aws");
14
- var _utils = require("./utils");
9
+ const lodash_1 = require("lodash");
10
+ const aws_1 = require("./aws");
11
+ const utils_1 = require("./utils");
15
12
  async function ebVersions(api) {
16
- const config = api.getConfig();
17
- const versions = [0];
18
- const {
19
- app
20
- } = (0, _utils.names)(config);
21
- const appVersions = await _aws.beanstalk.describeApplicationVersions({
22
- ApplicationName: app
23
- }).promise();
24
- if (appVersions.ApplicationVersions.length > 0) {
25
- appVersions.ApplicationVersions.forEach(({
26
- VersionLabel
27
- }) => {
28
- const parsedVersion = parseInt(VersionLabel, 10);
29
- versions.push(parsedVersion);
13
+ const config = api.getConfig();
14
+ const versions = [0];
15
+ const { app } = (0, utils_1.names)(config);
16
+ const appVersions = await aws_1.beanstalk.describeApplicationVersions({
17
+ ApplicationName: app
30
18
  });
31
- }
32
- return versions.sort((a, b) => b - a);
19
+ if (appVersions.ApplicationVersions
20
+ && appVersions.ApplicationVersions.length > 0) {
21
+ appVersions.ApplicationVersions.forEach(({ VersionLabel }) => {
22
+ const parsedVersion = parseInt(VersionLabel || "0", 10);
23
+ versions.push(parsedVersion);
24
+ });
25
+ }
26
+ return versions.sort((a, b) => b - a);
33
27
  }
34
- async function s3Versions(api, prefix) {
35
- const config = api.getConfig();
36
- const versions = [0];
37
- const {
38
- bucket,
39
- bundlePrefix
40
- } = (0, _utils.names)(config);
41
- prefix = prefix || bundlePrefix;
42
- const uploadedBundles = await _aws.s3.listObjectsV2({
43
- Bucket: bucket,
44
- Prefix: prefix
45
- }).promise();
46
- if (uploadedBundles.Contents.length > 0) {
47
- uploadedBundles.Contents.forEach(bundle => {
48
- const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);
49
- versions.push(bundleVersion);
28
+ async function s3Versions(api, providedPrefix) {
29
+ const config = api.getConfig();
30
+ const versions = [0];
31
+ const { bucket, bundlePrefix } = (0, utils_1.names)(config);
32
+ const prefix = providedPrefix || bundlePrefix;
33
+ const uploadedBundles = await aws_1.s3.listObjects({
34
+ Bucket: bucket,
35
+ Prefix: prefix
50
36
  });
51
- }
52
- return versions.sort((a, b) => b - a);
37
+ if (uploadedBundles.Contents
38
+ && uploadedBundles.Contents.length > 0) {
39
+ uploadedBundles.Contents.forEach((bundle) => {
40
+ if (!bundle.Key)
41
+ return;
42
+ const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);
43
+ versions.push(bundleVersion);
44
+ });
45
+ }
46
+ return versions.sort((a, b) => b - a);
53
47
  }
54
48
  async function largestVersion(api) {
55
- let [version] = await s3Versions(api);
56
- const [appVersion] = await ebVersions(api);
57
- if (appVersion > version) {
58
- version = appVersion;
59
- }
60
- return version;
49
+ let [version] = await s3Versions(api);
50
+ const [appVersion] = await ebVersions(api);
51
+ if (appVersion > version) {
52
+ version = appVersion;
53
+ }
54
+ return version;
61
55
  }
62
56
  async function largestEnvVersion(api) {
63
- const versions = [0];
64
- const prefix = 'env/';
65
- const config = api.getConfig();
66
- const {
67
- bucket: bucketName
68
- } = (0, _utils.names)(config);
69
- const uploadedBundles = await _aws.s3.listObjectsV2({
70
- Bucket: bucketName,
71
- Prefix: prefix
72
- }).promise();
73
- if (uploadedBundles.Contents.length > 0) {
74
- uploadedBundles.Contents.forEach(bundle => {
75
- const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);
76
- versions.push(bundleVersion);
57
+ const versions = [0];
58
+ const prefix = 'env/';
59
+ const config = api.getConfig();
60
+ const { bucket: bucketName } = (0, utils_1.names)(config);
61
+ const uploadedBundles = await aws_1.s3.listObjectsV2({
62
+ Bucket: bucketName,
63
+ Prefix: prefix
77
64
  });
78
- }
79
- return versions.sort((a, b) => b - a)[0];
65
+ if (uploadedBundles.Contents
66
+ && uploadedBundles.Contents.length > 0) {
67
+ uploadedBundles.Contents.forEach((bundle) => {
68
+ if (!bundle.Key)
69
+ return;
70
+ const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);
71
+ versions.push(bundleVersion);
72
+ });
73
+ }
74
+ return versions.sort((a, b) => b - a)[0];
80
75
  }
81
76
  async function oldEnvVersions(api) {
82
- const keep = 10;
83
- const versions = await s3Versions(api, 'env/');
84
- return versions.slice(keep);
77
+ const keep = 10;
78
+ const versions = await s3Versions(api, 'env/');
79
+ return versions.slice(keep);
85
80
  }
86
81
  async function oldVersions(api) {
87
- const keep = api.getConfig().app.oldVersions;
88
- const appVersions = await ebVersions(api);
89
- const bundleVersions = await s3Versions(api);
90
-
91
- // find unused bundles
92
- const oldBundleVersions = (0, _lodash.difference)(bundleVersions, appVersions);
93
-
94
- // keep the 3 newest versions
95
- const oldAppVersions = appVersions.slice(keep);
96
- return {
97
- bundles: oldBundleVersions,
98
- versions: oldAppVersions
99
- };
82
+ const keep = api.getConfig().app.oldVersions;
83
+ const appVersions = await ebVersions(api);
84
+ const bundleVersions = await s3Versions(api);
85
+ // find unused bundles
86
+ const oldBundleVersions = (0, lodash_1.difference)(bundleVersions, appVersions);
87
+ // keep the 3 newest versions
88
+ const oldAppVersions = appVersions.slice(keep);
89
+ return {
90
+ bundles: oldBundleVersions,
91
+ versions: oldAppVersions
92
+ };
100
93
  }
101
94
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","names":["_lodash","require","_aws","_utils","ebVersions","api","config","getConfig","versions","app","names","appVersions","beanstalk","describeApplicationVersions","ApplicationName","promise","ApplicationVersions","length","forEach","VersionLabel","parsedVersion","parseInt","push","sort","a","b","s3Versions","prefix","bucket","bundlePrefix","uploadedBundles","s3","listObjectsV2","Bucket","Prefix","Contents","bundle","bundleVersion","Key","split","largestVersion","version","appVersion","largestEnvVersion","bucketName","oldEnvVersions","keep","slice","oldVersions","bundleVersions","oldBundleVersions","difference","oldAppVersions","bundles"],"sources":["../src/versions.js"],"sourcesContent":["import { difference } from 'lodash';\nimport {\n beanstalk,\n s3\n} from './aws';\nimport { names } from './utils';\n\nexport async function ebVersions(api) {\n const config = api.getConfig();\n const versions = [0];\n const {\n app\n } = names(config);\n\n const appVersions = await beanstalk.describeApplicationVersions({\n ApplicationName: app\n }).promise();\n\n if (appVersions.ApplicationVersions.length > 0) {\n appVersions.ApplicationVersions.forEach(({\n VersionLabel\n }) => {\n const parsedVersion = parseInt(VersionLabel, 10);\n\n versions.push(parsedVersion);\n });\n }\n\n return versions.sort((a, b) => b - a);\n}\n\nexport async function s3Versions(api, prefix) {\n const config = api.getConfig();\n const versions = [0];\n const {\n bucket,\n bundlePrefix\n } = names(config);\n prefix = prefix || bundlePrefix;\n\n const uploadedBundles = await s3.listObjectsV2({\n Bucket: bucket,\n Prefix: prefix\n }).promise();\n\n\n if (uploadedBundles.Contents.length > 0) {\n uploadedBundles.Contents.forEach((bundle) => {\n const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);\n\n versions.push(bundleVersion);\n });\n }\n\n return versions.sort((a, b) => b - a);\n}\n\nexport async function largestVersion(api) {\n let [version] = await s3Versions(api);\n const [appVersion] = await ebVersions(api);\n\n if (appVersion > version) {\n version = appVersion;\n }\n\n return version;\n}\n\nexport async function largestEnvVersion(api) {\n const versions = [0];\n const prefix = 'env/';\n const config = api.getConfig();\n\n const {\n bucket: bucketName\n } = names(config);\n\n const uploadedBundles = await s3.listObjectsV2({\n Bucket: bucketName,\n Prefix: prefix\n }).promise();\n\n\n if (uploadedBundles.Contents.length > 0) {\n uploadedBundles.Contents.forEach((bundle) => {\n const bundleVersion = parseInt(bundle.Key.split(prefix)[1], 10);\n\n versions.push(bundleVersion);\n });\n }\n\n return versions.sort((a, b) => b - a)[0];\n}\n\nexport async function oldEnvVersions(api) {\n const keep = 10;\n const versions = await s3Versions(api, 'env/');\n\n return versions.slice(keep);\n}\n\nexport async function oldVersions(api) {\n const keep = api.getConfig().app.oldVersions;\n const appVersions = await ebVersions(api);\n const bundleVersions = await s3Versions(api);\n\n // find unused bundles\n const oldBundleVersions = difference(bundleVersions, appVersions);\n\n // keep the 3 newest versions\n const oldAppVersions = appVersions.slice(keep);\n return {\n bundles: oldBundleVersions,\n versions: oldAppVersions\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"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"}