diff --git a/PetAdoptions/cdk/pack.sh b/PetAdoptions/cdk/pack.sh deleted file mode 100755 index b274d633..00000000 --- a/PetAdoptions/cdk/pack.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -set -ex - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -rm -rf ./assets -mkdir -p assets - -cd ./pet_stack -zip -r ../assets/SourceCode.zip . -x "node_modules/**" "cdk.out/*" "out/*" "resources/aws-distro-for-opentelemetry-python-38-preview.zip" "resources/function.zip" ".vscode/**" -cp resources/aws-distro-for-opentelemetry-python-38-preview.zip ../assets/ -cp resources/function.zip ../assets/ - -cd - diff --git a/PetAdoptions/cdk/pet_stack/lib/services/status-updater-service.ts b/PetAdoptions/cdk/pet_stack/lib/services/status-updater-service.ts index 9f5b6dad..0a499812 100644 --- a/PetAdoptions/cdk/pet_stack/lib/services/status-updater-service.ts +++ b/PetAdoptions/cdk/pet_stack/lib/services/status-updater-service.ts @@ -1,6 +1,7 @@ import * as cdk from '@aws-cdk/core'; import * as iam from '@aws-cdk/aws-iam'; import * as lambda from '@aws-cdk/aws-lambda'; +import * as nodejslambda from '@aws-cdk/aws-lambda-nodejs'; import * as apigw from '@aws-cdk/aws-apigateway'; export interface StatusUpdaterServiceProps { @@ -28,10 +29,11 @@ export class StatusUpdaterService extends cdk.Construct { // var layerArn = "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2"; var layer = lambda.LayerVersion.fromLayerVersionArn(this, `LayerFromArn`, layerArn); - const lambdaFunction = new lambda.Function(this, 'lambdafn', { + const lambdaFunction = new nodejslambda.NodejsFunction(this, 'lambdafn', { runtime: lambda.Runtime.NODEJS_12_X, // execution environment - code: lambda.Code.fromAsset('./resources/function.zip'), // Copy from Lambda folder or move here!! - handler: 'index.handler', + entry: '../../petstatusupdater/index.js', + depsLockFilePath: '../../petstatusupdater/package-lock.json', + handler: 'handler', memorySize: 128, tracing: lambda.Tracing.ACTIVE, role: lambdaRole, @@ -39,6 +41,14 @@ export class StatusUpdaterService extends cdk.Construct { description: 'Update Pet availability status', environment: { "TABLE_NAME": props.tableName + }, + bundling: { + externalModules: [ + 'aws-sdk' + ], + nodeModules: [ + 'aws-xray-sdk' + ] } }); diff --git a/PetAdoptions/cdk/pet_stack/lib/services/stepfn.ts b/PetAdoptions/cdk/pet_stack/lib/services/stepfn.ts index a46c31fc..70420b9e 100644 --- a/PetAdoptions/cdk/pet_stack/lib/services/stepfn.ts +++ b/PetAdoptions/cdk/pet_stack/lib/services/stepfn.ts @@ -32,9 +32,9 @@ export class PetAdoptionsStepFn extends cdk.Construct { // var layerArn = "arn:aws:lambda:us-west-2:580247275435:layer:LambdaInsightsExtension:2"; var layer = lambda.LayerVersion.fromLayerVersionArn(this, `LambdaInsights`, layerArn); - var adotlayer = new lambda.LayerVersion(this, 'ADOTLayer', { - code: new lambda.AssetCode('./resources/aws-distro-for-opentelemetry-python-38-preview.zip') - }); + + var adotLayerArn = "arn:aws:lambda:"+ process.env.CDK_DEFAULT_REGION + ":901920570463:layer:aws-otel-python38-ver-1-5-0:2" + var adotlayer = lambda.LayerVersion.fromLayerVersionArn(this,'otelPythonLambdaLayer',adotLayerArn); var layers: lambda.ILayerVersion[] = [layer, adotlayer] @@ -69,7 +69,7 @@ export class PetAdoptionsStepFn extends cdk.Construct { private createStepFnLambda(lambdaFileName: string, lambdaRole: iam.Role, lambdalayers: lambda.ILayerVersion[]) { var pythonFn = new pythonlambda.PythonFunction(this, lambdaFileName, { - entry: './resources/', + entry: './resources/stepfn_lambdas/', index: lambdaFileName + '.py', handler: 'lambda_handler', memorySize: 128, @@ -78,7 +78,7 @@ export class PetAdoptionsStepFn extends cdk.Construct { layers: lambdalayers, tracing: Tracing.ACTIVE }); - pythonFn.addEnvironment("AWS_LAMBDA_EXEC_WRAPPER", "/opt/python/adot-instrument") + pythonFn.addEnvironment("AWS_LAMBDA_EXEC_WRAPPER", "/opt/otel-instrument") return pythonFn; } } \ No newline at end of file diff --git a/PetAdoptions/cdk/pet_stack/package.json b/PetAdoptions/cdk/pet_stack/package.json index dd5ef6d4..1831e6a3 100644 --- a/PetAdoptions/cdk/pet_stack/package.json +++ b/PetAdoptions/cdk/pet_stack/package.json @@ -51,6 +51,7 @@ "@aws-cdk/core": "1.98.0", "@aws-cdk/custom-resources": "1.98.0", "@aws-cdk/cx-api": "1.98.0", + "@aws-cdk/aws-lambda-nodejs": "1.98.0", "@types/js-yaml": "3.12.5", "aws-cdk-dynamodb-seeder": "1.56.0", "cdk-sqlserver-seeder": "^0.2.3", diff --git a/PetAdoptions/cdk/pet_stack/resources/aws-distro-for-opentelemetry-python-38-preview.zip b/PetAdoptions/cdk/pet_stack/resources/aws-distro-for-opentelemetry-python-38-preview.zip deleted file mode 100644 index 71df6512..00000000 Binary files a/PetAdoptions/cdk/pet_stack/resources/aws-distro-for-opentelemetry-python-38-preview.zip and /dev/null differ diff --git a/PetAdoptions/cdk/pet_stack/resources/function.zip b/PetAdoptions/cdk/pet_stack/resources/function.zip deleted file mode 100644 index 1e3734bc..00000000 Binary files a/PetAdoptions/cdk/pet_stack/resources/function.zip and /dev/null differ diff --git a/PetAdoptions/cdk/pet_stack/resources/lambda_step_priceGreaterThan55.py b/PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_priceGreaterThan55.py similarity index 100% rename from PetAdoptions/cdk/pet_stack/resources/lambda_step_priceGreaterThan55.py rename to PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_priceGreaterThan55.py diff --git a/PetAdoptions/cdk/pet_stack/resources/lambda_step_priceLessThan55.py b/PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_priceLessThan55.py similarity index 100% rename from PetAdoptions/cdk/pet_stack/resources/lambda_step_priceLessThan55.py rename to PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_priceLessThan55.py diff --git a/PetAdoptions/cdk/pet_stack/resources/lambda_step_readDDB.py b/PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_readDDB.py similarity index 100% rename from PetAdoptions/cdk/pet_stack/resources/lambda_step_readDDB.py rename to PetAdoptions/cdk/pet_stack/resources/stepfn_lambdas/lambda_step_readDDB.py diff --git a/PetAdoptions/petstatusupdater/function.zip b/PetAdoptions/petstatusupdater/function.zip deleted file mode 100644 index 1e3734bc..00000000 Binary files a/PetAdoptions/petstatusupdater/function.zip and /dev/null differ diff --git a/PetAdoptions/petstatusupdater/package-lock.json b/PetAdoptions/petstatusupdater/package-lock.json index 4a702f26..1de4351a 100644 --- a/PetAdoptions/petstatusupdater/package-lock.json +++ b/PetAdoptions/petstatusupdater/package-lock.json @@ -4,108 +4,115 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@aws-sdk/service-error-classification": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.29.0.tgz", + "integrity": "sha512-VqOjXXTLTGbifzg3Fg2g/Ac6W3uzC3llPZjm/b0goM17KLWMGU7JKiem2l+CFyN4sxkver7InNlIUJCJAPB6+Q==" + }, + "@aws-sdk/types": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.29.0.tgz", + "integrity": "sha512-8ilWQU5ZTdiRfblmmjl38+6JZKKM8EqA5Sbn8djgDLShCLeVJ2TsL2guzNi+WHcL7BHdv1pI/NNmTcgRUo6yOw==" + }, "@types/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.1.tgz", + "integrity": "sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==", "requires": { "@types/connect": "*", "@types/node": "*" } }, - "@types/connect": { - "version": "3.4.33", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz", - "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==", + "@types/cls-hooked": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@types/cls-hooked/-/cls-hooked-4.3.3.tgz", + "integrity": "sha512-gNstDTb/ty5h6gJd6YpSPgsLX9LmRpaKJqGFp7MRlYxhwp4vXXKlJ9+bt1TZ9KbVNXE+Mbxy2AYXcpY21DDtJw==", "requires": { "@types/node": "*" } }, - "@types/continuation-local-storage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/continuation-local-storage/-/continuation-local-storage-3.2.2.tgz", - "integrity": "sha512-aItm+aYPJ4rT1cHmAxO+OdWjSviQ9iB5UKb5f0Uvgln0N4hS2mcDodHtPiqicYBXViUYhqyBjhA5uyOcT+S34Q==", + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "requires": { "@types/node": "*" } }, "@types/express": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.3.tgz", - "integrity": "sha512-I8cGRJj3pyOLs/HndoP+25vOqhqWkAZsWMEmq1qXy/b/M3ppufecUwaK2/TVDVxcV61/iSdhykUjQQ2DLSrTdg==", + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", "requires": { "@types/body-parser": "*", - "@types/express-serve-static-core": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", "@types/serve-static": "*" } }, "@types/express-serve-static-core": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.2.tgz", - "integrity": "sha512-El9yMpctM6tORDAiBwZVLMcxoTMcqqRO9dVyYcn7ycLWbvR8klrDn8CAOwRfZujZtWD7yS/mshTdz43jMOejbg==", + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz", + "integrity": "sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==", "requires": { "@types/node": "*", + "@types/qs": "*", "@types/range-parser": "*" } }, "@types/mime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.1.tgz", - "integrity": "sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==" }, "@types/mysql": { - "version": "2.15.9", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.9.tgz", - "integrity": "sha512-rB3w3/YEV11oIoL56iP4OPt6uLkcuu6oIqbUy8T2bSm/ZUYN0fvyyzzrZBDNYL//zRStdmSsUPZDtHXjdR1hTA==", + "version": "2.15.19", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.19.tgz", + "integrity": "sha512-wSRg2QZv14CWcZXkgdvHbbV2ACufNy5EgI8mBBxnJIptchv7DBy/h53VMa2jDhyo0C9MO4iowE6z9vF8Ja1DkQ==", "requires": { "@types/node": "*" } }, "@types/node": { - "version": "13.9.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.3.tgz", - "integrity": "sha512-01s+ac4qerwd6RHD+mVbOEsraDHSgUaefQlEdBbUolnQFjKwCr7luvAlEwW1RFojh67u0z4OUTjPn9LEl4zIkA==" + "version": "16.7.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.10.tgz", + "integrity": "sha512-S63Dlv4zIPb8x6MMTgDq5WWRJQe56iBEY0O3SOFA9JrRienkOVDXSXBjjJw6HTNQYSE2JI6GMCR6LVbIMHJVvA==" }, "@types/pg": { - "version": "7.14.3", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-7.14.3.tgz", - "integrity": "sha512-go5zddQ1FrUQHeBvqPzQ1svKo4KKucSwvqLsvwc/EIuQ9sxDA21b68xc/RwhzAK5pPCnez8NrkYatFIGdJBVvA==", + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", + "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", "requires": { "@types/node": "*", - "@types/pg-types": "*" + "pg-protocol": "*", + "pg-types": "^2.2.0" } }, - "@types/pg-types": { - "version": "1.11.5", - "resolved": "https://registry.npmjs.org/@types/pg-types/-/pg-types-1.11.5.tgz", - "integrity": "sha512-L8ogeT6vDzT1vxlW3KITTCt+BVXXVkLXfZ/XNm6UqbcJgxf+KPO7yjWx7dQQE8RW07KopL10x2gNMs41+IkMGQ==" + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" }, "@types/range-parser": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", - "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" }, "@types/serve-static": { - "version": "1.13.3", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.3.tgz", - "integrity": "sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==", + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", "requires": { - "@types/express-serve-static-core": "*", - "@types/mime": "*" + "@types/mime": "^1", + "@types/node": "*" } }, - "async": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz", - "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=" - }, - "async-listener": { - "version": "0.6.10", - "resolved": "https://registry.npmjs.org/async-listener/-/async-listener-0.6.10.tgz", - "integrity": "sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==", + "async-hook-jl": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/async-hook-jl/-/async-hook-jl-1.7.6.tgz", + "integrity": "sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==", "requires": { - "semver": "^5.3.0", - "shimmer": "^1.1.0" + "stack-chain": "^1.3.7" } }, "atomic-batcher": { @@ -113,112 +120,64 @@ "resolved": "https://registry.npmjs.org/atomic-batcher/-/atomic-batcher-1.0.2.tgz", "integrity": "sha1-0WkB0QzOxZUWwZe5zNiTBom4E7Q=" }, - "aws-sdk": { - "version": "2.643.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.643.0.tgz", - "integrity": "sha512-4r7VGQFqshrhXnOCVQdlatAWiK/8kmmtAtY9gbITPNpY5Is+SfIy6k/1BgrnL5H/2sYd27H+Xp8itXZoCnQeTw==", - "requires": { - "buffer": "4.9.1", - "events": "1.1.1", - "ieee754": "1.1.13", - "jmespath": "0.15.0", - "querystring": "0.2.0", - "sax": "1.2.1", - "url": "0.10.3", - "uuid": "3.3.2", - "xml2js": "0.4.19" - } - }, "aws-xray-sdk": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/aws-xray-sdk/-/aws-xray-sdk-2.5.0.tgz", - "integrity": "sha512-KBTF9QUq0zu24t+gFh3VATYDNx295VzZUUjpZ1OmIEbcs3Zqmox5L6VAqjCgGfJeLaCUAWPLkduxau3LuDpqcw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/aws-xray-sdk/-/aws-xray-sdk-3.3.3.tgz", + "integrity": "sha512-bGO/HolPGW8N39wUuERbn0GPlwgAmDrgt7nKYXR2ecRq2YauKQOHS8K+kD4aZ6QSZnlP5CrYMmtU6BnMkt3DUQ==", "requires": { - "aws-xray-sdk-core": "^2.5.0", - "aws-xray-sdk-express": "^2.5.0", - "aws-xray-sdk-mysql": "^2.5.0", - "aws-xray-sdk-postgres": "^2.5.0", - "pkginfo": "^0.4.0" + "aws-xray-sdk-core": "3.3.3", + "aws-xray-sdk-express": "3.3.3", + "aws-xray-sdk-mysql": "3.3.3", + "aws-xray-sdk-postgres": "3.3.3" } }, "aws-xray-sdk-core": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-2.5.0.tgz", - "integrity": "sha512-qe60bv0kn5KY6gAIF88TPCOIdu/A3dTmcKISj+kE4OH02eF6kMm1ctL7OgoBAasnsDNSn0VMLhIaA1izgoWuxA==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/aws-xray-sdk-core/-/aws-xray-sdk-core-3.3.3.tgz", + "integrity": "sha512-S8o+ZY12wEnDQolC5RGQ8RHZqezHeV3l/ODqrYOJAlRjT92FDutQkQqTfr+hD1Ia+puIXzL9U7eyVSsKmoI+1w==", "requires": { - "@types/continuation-local-storage": "*", + "@aws-sdk/service-error-classification": "^3.4.1", + "@aws-sdk/types": "^3.4.1", + "@types/cls-hooked": "^4.3.3", "atomic-batcher": "^1.0.2", - "aws-sdk": "^2.304.0", - "continuation-local-storage": "^3.2.0", - "date-fns": "^1.29.0", - "pkginfo": "^0.4.0", - "semver": "^5.3.0", - "winston": "^2.4.4" + "cls-hooked": "^4.2.2", + "semver": "^5.3.0" } }, "aws-xray-sdk-express": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/aws-xray-sdk-express/-/aws-xray-sdk-express-2.5.0.tgz", - "integrity": "sha512-VfUXlxFlI+gr6ImMF+3000fqPRTBS9MbAywdtC8dt/U57WQbLFDjPW+V6oJowTwrkgKwpOKSXncQDfBs8QHvIw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/aws-xray-sdk-express/-/aws-xray-sdk-express-3.3.3.tgz", + "integrity": "sha512-VLDfpWWlYUEqA/f3OWaPHk6lAlONrAbG8ECcCPKT3skhWe8LL3bCDFZJOs08V+3ZgBCjm8iMStlXxnNu+XHevw==", "requires": { "@types/express": "*" } }, "aws-xray-sdk-mysql": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/aws-xray-sdk-mysql/-/aws-xray-sdk-mysql-2.5.0.tgz", - "integrity": "sha512-OI3cDkVcKTiWytwoOE1Oj0D2UbchOVHkiQNXWktDk9QYzqbOz+GNEwD5QneqyxFu0z0bQieClBM+0okUprFBXQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/aws-xray-sdk-mysql/-/aws-xray-sdk-mysql-3.3.3.tgz", + "integrity": "sha512-BkwrT5Zu+og1nT+g0FgQRpdidKr3g9snTFHsirwbJATO0pmGNuuUjBUMTFyydTTSwa7ocqL9wPsmOmqY9kPZig==", "requires": { "@types/mysql": "*" } }, "aws-xray-sdk-postgres": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/aws-xray-sdk-postgres/-/aws-xray-sdk-postgres-2.5.0.tgz", - "integrity": "sha512-8LcXTjr272gKMSg9a+QSGQPjAabQb87SA0c4ZlVcPqzoG7nAd3pULR6/HDtujeukbRAb6rEoxzKvPX0s18NyFw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/aws-xray-sdk-postgres/-/aws-xray-sdk-postgres-3.3.3.tgz", + "integrity": "sha512-Fu6+XpkiOgyFiivKj3kppXdYzwGIoijiq1q9FJb/tbxfOLSTHunJpS5WzTuNdzOUJdvTtPDimcE4jjqS+4a5FQ==", "requires": { "@types/pg": "*" } }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "colors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", - "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" - }, - "continuation-local-storage": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz", - "integrity": "sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA==", + "cls-hooked": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/cls-hooked/-/cls-hooked-4.2.2.tgz", + "integrity": "sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==", "requires": { - "async-listener": "^0.6.0", - "emitter-listener": "^1.1.1" + "async-hook-jl": "^1.7.6", + "emitter-listener": "^1.0.1", + "semver": "^5.4.1" } }, - "cycle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", - "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" - }, - "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==" - }, "emitter-listener": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/emitter-listener/-/emitter-listener-1.1.2.tgz", @@ -227,55 +186,50 @@ "shimmer": "^1.2.0" } }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" }, - "eyes": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", - "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" + "pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "jmespath": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", - "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=" + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } }, - "pkginfo": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz", - "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=" + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" }, - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=" }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=" + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "requires": { + "xtend": "^4.0.0" + } }, "semver": { "version": "5.7.1", @@ -287,51 +241,15 @@ "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.1.tgz", "integrity": "sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==" }, - "stack-trace": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" - }, - "url": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", - "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "winston": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.4.tgz", - "integrity": "sha512-NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==", - "requires": { - "async": "~1.0.0", - "colors": "1.0.x", - "cycle": "1.0.x", - "eyes": "0.1.x", - "isstream": "0.1.x", - "stack-trace": "0.0.x" - } - }, - "xml2js": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", - "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~9.0.1" - } + "stack-chain": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-1.3.7.tgz", + "integrity": "sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU=" }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" } } } diff --git a/PetAdoptions/petstatusupdater/package.json b/PetAdoptions/petstatusupdater/package.json index e48ee29c..7cbc6b36 100644 --- a/PetAdoptions/petstatusupdater/package.json +++ b/PetAdoptions/petstatusupdater/package.json @@ -9,6 +9,6 @@ "author": "", "license": "ISC", "dependencies": { - "aws-xray-sdk": "^2.5.0" + "aws-xray-sdk": "^3.3.3" } } diff --git a/buildspec.yml b/buildspec.yml new file mode 100644 index 00000000..acdfee5b --- /dev/null +++ b/buildspec.yml @@ -0,0 +1,19 @@ +version: 0.2 +phases: + install: + commands: + - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & + - timeout 15 sh -c "until docker info; do echo .; sleep 1; done" + - npm install aws-cdk -g + - CDK_STACK=$(aws cloudformation list-stacks --query 'StackSummaries[?(StackName==`CDKToolkit` && StackStatus==`CREATE_COMPLETE`)].StackId' --output text) + build: + commands: + - cd ./PetAdoptions/cdk/pet_stack/ + - npm install + - if [ -z "$CDK_STACK" ] ; then cdk bootstrap ; else echo "Already bootstrapped" ; fi + - npm run build + - cdk deploy Services --context admin_role=${EE_TEAM_ROLE_ARN} --context is_event_engine="true" --require-approval=never --verbose -O ./out/out.json + - cdk deploy Applications --require-approval=never --verbose -O ./out/out.json + - aws s3api get-object --bucket one-observability-workshop-tracker --key lab_user.txt resources/lab_user.txt --region us-east-1 +artifacts: + files: './PetAdoptions/cdk/pet_stack/out/out.json' \ No newline at end of file diff --git a/pack.sh b/pack.sh new file mode 100755 index 00000000..0898706b --- /dev/null +++ b/pack.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -ex + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + +rm -rf ./assets +mkdir -p assets + +zip -r ./assets/SourceCode.zip . -x ".*" "*/.*" "*/obj/**" ".git/**" "*/node_modules/**" "*/cdk.out/*" "*/out/**" \ No newline at end of file