serverless-plugin-datadog 3.4.0 → 3.5.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 (108) hide show
  1. package/README.md +31 -38
  2. package/dist/package.json +14 -4
  3. package/dist/src/env.d.ts +6 -3
  4. package/dist/src/env.d.ts.map +1 -1
  5. package/dist/src/env.js +25 -3
  6. package/dist/src/env.js.map +1 -1
  7. package/dist/src/forwarder.d.ts +1 -1
  8. package/dist/src/forwarder.d.ts.map +1 -1
  9. package/dist/src/git-metadata/interfaces.d.ts +10 -0
  10. package/dist/src/git-metadata/interfaces.d.ts.map +1 -0
  11. package/dist/src/git-metadata/interfaces.js +43 -0
  12. package/dist/src/git-metadata/interfaces.js.map +1 -0
  13. package/dist/src/git.d.ts +8 -0
  14. package/dist/src/git.d.ts.map +1 -0
  15. package/dist/src/git.js +115 -0
  16. package/dist/src/git.js.map +1 -0
  17. package/dist/src/helpers/apikey.d.ts +13 -0
  18. package/dist/src/helpers/apikey.d.ts.map +1 -0
  19. package/dist/src/helpers/apikey.js +74 -0
  20. package/dist/src/helpers/apikey.js.map +1 -0
  21. package/dist/src/helpers/errors.d.ts +3 -0
  22. package/dist/src/helpers/errors.d.ts.map +1 -0
  23. package/dist/src/helpers/errors.js +7 -0
  24. package/dist/src/helpers/errors.js.map +1 -0
  25. package/dist/src/helpers/interfaces.d.ts +20 -0
  26. package/dist/src/helpers/interfaces.d.ts.map +1 -0
  27. package/dist/src/helpers/interfaces.js +3 -0
  28. package/dist/src/helpers/interfaces.js.map +1 -0
  29. package/dist/src/helpers/retry.d.ts +3 -0
  30. package/dist/src/helpers/retry.d.ts.map +1 -0
  31. package/dist/src/helpers/retry.js +39 -0
  32. package/dist/src/helpers/retry.js.map +1 -0
  33. package/dist/src/helpers/tags.d.ts +29 -0
  34. package/dist/src/helpers/tags.d.ts.map +1 -0
  35. package/dist/src/helpers/tags.js +50 -0
  36. package/dist/src/helpers/tags.js.map +1 -0
  37. package/dist/src/helpers/upload.d.ts +45 -0
  38. package/dist/src/helpers/upload.d.ts.map +1 -0
  39. package/dist/src/helpers/upload.js +70 -0
  40. package/dist/src/helpers/upload.js.map +1 -0
  41. package/dist/src/helpers/utils.d.ts +31 -0
  42. package/dist/src/helpers/utils.d.ts.map +1 -0
  43. package/dist/src/helpers/utils.js +115 -0
  44. package/dist/src/helpers/utils.js.map +1 -0
  45. package/dist/src/index.d.ts +9 -1
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +57 -13
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/layers-gov.json +8 -8
  50. package/dist/src/layers.json +84 -84
  51. package/dist/src/monitor-api-requests.d.ts +1 -1
  52. package/dist/src/monitor-api-requests.d.ts.map +1 -1
  53. package/dist/src/monitor-api-requests.js.map +1 -1
  54. package/dist/src/output.d.ts +1 -1
  55. package/dist/src/output.d.ts.map +1 -1
  56. package/dist/src/source-code-integration.d.ts +12 -0
  57. package/dist/src/source-code-integration.d.ts.map +1 -0
  58. package/dist/src/source-code-integration.js +76 -0
  59. package/dist/src/source-code-integration.js.map +1 -0
  60. package/dist/src/tracing.d.ts +1 -1
  61. package/dist/src/tracing.d.ts.map +1 -1
  62. package/package.json +14 -4
  63. package/dist/env.d.ts +0 -17
  64. package/dist/env.d.ts.map +0 -1
  65. package/dist/env.js +0 -63
  66. package/dist/env.js.map +0 -1
  67. package/dist/forwarder.d.ts +0 -14
  68. package/dist/forwarder.d.ts.map +0 -1
  69. package/dist/forwarder.js +0 -87
  70. package/dist/forwarder.js.map +0 -1
  71. package/dist/index.d.ts +0 -10
  72. package/dist/index.d.ts.map +0 -1
  73. package/dist/index.js +0 -161
  74. package/dist/index.js.map +0 -1
  75. package/dist/layer.d.ts +0 -26
  76. package/dist/layer.d.ts.map +0 -1
  77. package/dist/layer.js +0 -65
  78. package/dist/layer.js.map +0 -1
  79. package/dist/layers.json +0 -156
  80. package/dist/templates/node-es6-template.d.ts +0 -2
  81. package/dist/templates/node-es6-template.d.ts.map +0 -1
  82. package/dist/templates/node-es6-template.js +0 -25
  83. package/dist/templates/node-es6-template.js.map +0 -1
  84. package/dist/templates/node-js-template.d.ts +0 -2
  85. package/dist/templates/node-js-template.d.ts.map +0 -1
  86. package/dist/templates/node-js-template.js +0 -24
  87. package/dist/templates/node-js-template.js.map +0 -1
  88. package/dist/templates/node-ts-template.d.ts +0 -2
  89. package/dist/templates/node-ts-template.d.ts.map +0 -1
  90. package/dist/templates/node-ts-template.js +0 -26
  91. package/dist/templates/node-ts-template.js.map +0 -1
  92. package/dist/templates/python-template.d.ts +0 -2
  93. package/dist/templates/python-template.d.ts.map +0 -1
  94. package/dist/templates/python-template.js +0 -25
  95. package/dist/templates/python-template.js.map +0 -1
  96. package/dist/tracing.d.ts +0 -9
  97. package/dist/tracing.d.ts.map +0 -1
  98. package/dist/tracing.js +0 -36
  99. package/dist/tracing.js.map +0 -1
  100. package/dist/util.d.ts +0 -9
  101. package/dist/util.d.ts.map +0 -1
  102. package/dist/util.js +0 -72
  103. package/dist/util.js.map +0 -1
  104. package/dist/wrapper.d.ts +0 -11
  105. package/dist/wrapper.d.ts.map +0 -1
  106. package/dist/wrapper.js +0 -57
  107. package/dist/wrapper.js.map +0 -1
  108. package/dist/yarn.lock +0 -3703
@@ -1,6 +1,6 @@
1
- import { MonitorParams } from "monitors";
2
1
  import { Response } from "node-fetch";
3
2
  import * as Serverless from "serverless";
3
+ import { MonitorParams } from "./monitors";
4
4
  export declare class InvalidAuthenticationError extends Error {
5
5
  constructor(message: string);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"monitor-api-requests.d.ts","sourceRoot":"","sources":["../../src/monitor-api-requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAGzC,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAK5B;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,qBAavB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,qBAavB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAWlH;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,6BAmBlH;AAED,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,UAAU,mBAepE;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM;;GAkBvB"}
1
+ {"version":3,"file":"monitor-api-requests.d.ts","sourceRoot":"","sources":["../../src/monitor-api-requests.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAK5B;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,qBAavB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,qBAavB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,qBAWlH;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,6BAmBlH;AAED,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,UAAU,mBAepE;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM;;GAkBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"monitor-api-requests.js","sourceRoot":"","sources":["../../src/monitor-api-requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor-api-requests.js","sourceRoot":"","sources":["../../src/monitor-api-requests.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { FunctionInfo } from "layer";
2
1
  import * as Serverless from "serverless";
2
+ import { FunctionInfo } from "./layer";
3
3
  /**
4
4
  * Builds the CloudFormation Outputs containing the alphanumeric key, description,
5
5
  * and value (URL) to the function in Datadog
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AAOzC;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAgBlG;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,iBA8BtE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAgBlG;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,iBA8BtE"}
@@ -0,0 +1,12 @@
1
+ import { SimpleGit } from "simple-git";
2
+ export declare class SourceCodeIntegration {
3
+ repositoryURL?: string;
4
+ private apiKey;
5
+ private datadogSite;
6
+ private simpleGit;
7
+ constructor(apiKey: string, datadogSite: string, simpleGit: SimpleGit, repositoryURL?: string);
8
+ uploadGitMetadata(): Promise<string>;
9
+ private getRequestBuilder;
10
+ private uploadRepository;
11
+ }
12
+ //# sourceMappingURL=source-code-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-code-integration.d.ts","sourceRoot":"","sources":["../../src/source-code-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,qBAAa,qBAAqB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAY;gBAEjB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM;IAOhF,iBAAiB;IAiC9B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,gBAAgB;CASzB"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SourceCodeIntegration = void 0;
13
+ const package_json_1 = require("../package.json");
14
+ const git_1 = require("./git");
15
+ const apikey_1 = require("./helpers/apikey");
16
+ const errors_1 = require("./helpers/errors");
17
+ const upload_1 = require("./helpers/upload");
18
+ const utils_1 = require("./helpers/utils");
19
+ class SourceCodeIntegration {
20
+ constructor(apiKey, datadogSite, simpleGit, repositoryURL) {
21
+ this.apiKey = apiKey;
22
+ this.datadogSite = datadogSite;
23
+ this.simpleGit = simpleGit;
24
+ this.repositoryURL = repositoryURL;
25
+ }
26
+ uploadGitMetadata() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ const apiKeyValidator = (0, apikey_1.newApiKeyValidator)({
29
+ apiKey: this.apiKey,
30
+ datadogSite: this.datadogSite,
31
+ });
32
+ const payload = yield (0, git_1.getCommitInfo)(this.simpleGit, this.repositoryURL);
33
+ if (payload === undefined) {
34
+ throw Error("Couldn't get git commit information.");
35
+ }
36
+ try {
37
+ const requestBuilder = this.getRequestBuilder();
38
+ const status = yield this.uploadRepository(requestBuilder)(payload, {
39
+ apiKeyValidator,
40
+ onError: (e) => {
41
+ throw e;
42
+ },
43
+ onRetry: (_) => { },
44
+ onUpload: () => {
45
+ return;
46
+ },
47
+ retries: 5,
48
+ });
49
+ if (status !== upload_1.UploadStatus.Success) {
50
+ throw new Error("Error uploading commit information.");
51
+ }
52
+ return payload.hash;
53
+ }
54
+ catch (error) {
55
+ throw error;
56
+ }
57
+ });
58
+ }
59
+ getRequestBuilder() {
60
+ if (!this.apiKey) {
61
+ throw new errors_1.InvalidConfigurationError("Missing DATADOG_API_KEY in your environment.");
62
+ }
63
+ return (0, utils_1.getRequestBuilder)({
64
+ apiKey: this.apiKey,
65
+ baseUrl: "https://sourcemap-intake." + this.datadogSite,
66
+ });
67
+ }
68
+ uploadRepository(requestBuilder) {
69
+ return (commitInfo, opts) => __awaiter(this, void 0, void 0, function* () {
70
+ const payload = commitInfo.asMultipartPayload(`serverless-plugin-datadog-${package_json_1.version}`);
71
+ return (0, upload_1.upload)(requestBuilder)(payload, opts);
72
+ });
73
+ }
74
+ }
75
+ exports.SourceCodeIntegration = SourceCodeIntegration;
76
+ //# sourceMappingURL=source-code-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-code-integration.js","sourceRoot":"","sources":["../../src/source-code-integration.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAA0C;AAC1C,+BAAsC;AAEtC,6CAAsD;AACtD,6CAA6D;AAE7D,6CAAuE;AACvE,2CAAoD;AAEpD,MAAa,qBAAqB;IAMhC,YAAY,MAAc,EAAE,WAAmB,EAAE,SAAoB,EAAE,aAAsB;QAC3F,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAEY,iBAAiB;;YAC5B,MAAM,eAAe,GAAG,IAAA,2BAAkB,EAAC;gBACzC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,mBAAa,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACxE,IAAI,OAAO,KAAK,SAAS,EAAE;gBACzB,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAC;aACrD;YACD,IAAI;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;oBAClE,eAAe;oBACf,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;wBACpB,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAE,CAAC;oBAClB,QAAQ,EAAE,GAAG,EAAE;wBACb,OAAO;oBACT,CAAC;oBACD,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBAEH,IAAI,MAAM,KAAK,qBAAY,CAAC,OAAO,EAAE;oBACnC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;iBACxD;gBAED,OAAO,OAAO,CAAC,IAAI,CAAC;aACrB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,kCAAyB,CAAC,8CAA8C,CAAC,CAAC;SACrF;QAED,OAAO,IAAA,yBAAiB,EAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAO;YACpB,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC,WAAW;SACxD,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CACtB,cAA8B;QAE9B,OAAO,CAAO,UAAsB,EAAE,IAAmB,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,6BAA6B,sBAAO,EAAE,CAAC,CAAC;YAEtF,OAAO,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAA,CAAC;IACJ,CAAC;CACF;AAlED,sDAkEC"}
@@ -1,5 +1,5 @@
1
- import { FunctionInfo } from "layer";
2
1
  import Service from "serverless/classes/Service";
2
+ import { FunctionInfo } from "./layer";
3
3
  export declare enum TracingMode {
4
4
  XRAY = 0,
5
5
  DD_TRACE = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAgBjG"}
1
+ {"version":3,"file":"tracing.d.ts","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAQA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,IAAI,IAAA;CACL;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,QAgBjG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "serverless-plugin-datadog",
3
- "version": "3.4.0",
3
+ "version": "3.5.3",
4
4
  "description": "Serverless plugin to automatically instrument python and node functions with datadog tracing",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": "https://github.com/DataDog/serverless-plugin-datadog",
@@ -17,14 +17,15 @@
17
17
  "format": "prettier --write \"src/**\" \"README.md\""
18
18
  },
19
19
  "devDependencies": {
20
- "@types/jest": "^26.0.20",
20
+ "@types/async-retry": "^1.4.3",
21
+ "@types/jest": "^27.4.0",
21
22
  "@types/mock-fs": "4.13.0",
22
23
  "@types/node": "^14.14.20",
23
24
  "@types/node-fetch": "^2.5.10",
24
25
  "@types/serverless": "1.78.34",
25
26
  "jest": "^26.6.3",
27
+ "jest-environment-node": "^26.6.2",
26
28
  "mock-fs": "4.13.0",
27
- "nock": "^13.0.5",
28
29
  "prettier": "^2.2.1",
29
30
  "serverless": "2.63.0",
30
31
  "ts-jest": "^26.4.4",
@@ -51,11 +52,20 @@
51
52
  "\\.snap$",
52
53
  "<rootDir>/node_modules/"
53
54
  ],
55
+ "testEnvironment": "<rootDir>/testEnvironment.js",
56
+ "clearMocks": true,
54
57
  "collectCoverageFrom": [
55
58
  "src/**/*.ts"
56
59
  ]
57
60
  },
58
61
  "dependencies": {
59
- "node-fetch": "^2.6.1"
62
+ "async-retry": "^1.3.3",
63
+ "axios": "^0.25.0",
64
+ "chalk": "^3.0.0",
65
+ "form-data": "^3.0.0",
66
+ "node-fetch": "^2.6.1",
67
+ "proxy": "^1.0.2",
68
+ "proxy-agent": "^5.0.0",
69
+ "simple-git": "^2.48.0"
60
70
  }
61
71
  }
package/dist/env.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import Service from "serverless/classes/Service";
2
- export interface Configuration {
3
- addLayers: boolean;
4
- apiKey?: string;
5
- apiKMSKey?: string;
6
- site: string;
7
- logLevel: string;
8
- flushMetricsToLogs: boolean;
9
- enableXrayTracing: boolean;
10
- enableDDTracing: boolean;
11
- forwarder?: string;
12
- enableTags: boolean;
13
- }
14
- export declare const defaultConfiguration: Configuration;
15
- export declare function setEnvConfiguration(config: Configuration, service: Service): void;
16
- export declare function getConfig(service: Service): Configuration;
17
- //# sourceMappingURL=env.d.ts.map
package/dist/env.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAQA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAEjD,MAAM,WAAW,aAAa;IAE5B,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,IAAI,EAAE,MAAM,CAAC;IAEb,QAAQ,EAAE,MAAM,CAAC;IAEjB,kBAAkB,EAAE,OAAO,CAAC;IAE5B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,eAAe,EAAE,OAAO,CAAC;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,UAAU,EAAE,OAAO,CAAC;CACrB;AASD,eAAO,MAAM,oBAAoB,EAAE,aAQlC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,QAyB1E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAczD"}
package/dist/env.js DELETED
@@ -1,63 +0,0 @@
1
- "use strict";
2
- /*
3
- * Unless explicitly stated otherwise all files in this repository are licensed
4
- * under the Apache License Version 2.0.
5
- *
6
- * This product includes software developed at Datadog (https://www.datadoghq.com/).
7
- * Copyright 2019 Datadog, Inc.
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- const apiKeyEnvVar = "DD_API_KEY";
11
- const apiKeyKMSEnvVar = "DD_KMS_API_KEY";
12
- const siteURLEnvVar = "DD_SITE";
13
- const logLevelEnvVar = "DD_LOG_LEVEL";
14
- const logForwardingEnvVar = "DD_FLUSH_TO_LOG";
15
- const ddTracingEnabledEnvVar = "DD_TRACE_ENABLED";
16
- exports.defaultConfiguration = {
17
- addLayers: true,
18
- flushMetricsToLogs: true,
19
- logLevel: "info",
20
- site: "datadoghq.com",
21
- enableXrayTracing: false,
22
- enableDDTracing: true,
23
- enableTags: true,
24
- };
25
- function setEnvConfiguration(config, service) {
26
- const provider = service.provider;
27
- if (provider.environment === undefined) {
28
- provider.environment = {};
29
- }
30
- const environment = provider.environment;
31
- if (config.apiKey !== undefined && environment[apiKeyEnvVar] === undefined) {
32
- environment[apiKeyEnvVar] = config.apiKey;
33
- }
34
- if (config.apiKMSKey !== undefined && environment[apiKeyKMSEnvVar] === undefined) {
35
- environment[apiKeyKMSEnvVar] = config.apiKMSKey;
36
- }
37
- if (environment[siteURLEnvVar] === undefined) {
38
- environment[siteURLEnvVar] = config.site;
39
- }
40
- if (environment[logLevelEnvVar] === undefined) {
41
- environment[logLevelEnvVar] = config.logLevel;
42
- }
43
- if (environment[logForwardingEnvVar] === undefined) {
44
- environment[logForwardingEnvVar] = config.flushMetricsToLogs;
45
- }
46
- if (config.enableDDTracing !== undefined && environment[ddTracingEnabledEnvVar] === undefined) {
47
- environment[ddTracingEnabledEnvVar] = config.enableDDTracing;
48
- }
49
- }
50
- exports.setEnvConfiguration = setEnvConfiguration;
51
- function getConfig(service) {
52
- let custom = service.custom;
53
- if (custom === undefined) {
54
- custom = {};
55
- }
56
- let datadog = custom.datadog;
57
- if (datadog === undefined) {
58
- datadog = {};
59
- }
60
- return Object.assign(Object.assign({}, exports.defaultConfiguration), datadog);
61
- }
62
- exports.getConfig = getConfig;
63
- //# sourceMappingURL=env.js.map
package/dist/env.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AA8BH,MAAM,YAAY,GAAG,YAAY,CAAC;AAClC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAC9C,MAAM,sBAAsB,GAAG,kBAAkB,CAAC;AAErC,QAAA,oBAAoB,GAAkB;IACjD,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,IAAI;IACxB,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,eAAe;IACrB,iBAAiB,EAAE,KAAK;IACxB,eAAe,EAAE,IAAI;IACrB,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,SAAgB,mBAAmB,CAAC,MAAqB,EAAE,OAAgB;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAe,CAAC;IAEzC,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE;QACtC,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAC;KAC3B;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAkB,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,WAAW,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;QAC1E,WAAW,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;KAC3C;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,WAAW,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE;QAChF,WAAW,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;KACjD;IACD,IAAI,WAAW,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE;QAC5C,WAAW,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;KAC1C;IACD,IAAI,WAAW,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE;QAC7C,WAAW,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;KAC/C;IACD,IAAI,WAAW,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;QAClD,WAAW,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC;KAC9D;IACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,IAAI,WAAW,CAAC,sBAAsB,CAAC,KAAK,SAAS,EAAE;QAC7F,WAAW,CAAC,sBAAsB,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC;KAC9D;AACH,CAAC;AAzBD,kDAyBC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACxC,IAAI,MAAM,GAAG,OAAO,CAAC,MAAa,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,GAAG,EAAE,CAAC;KACb;IAED,IAAI,OAAO,GAAG,MAAM,CAAC,OAA6C,CAAC;IACnE,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,OAAO,GAAG,EAAE,CAAC;KACd;IACD,uCACK,4BAAoB,GACpB,OAAO,EACV;AACJ,CAAC;AAdD,8BAcC"}
@@ -1,14 +0,0 @@
1
- import Service from "serverless/classes/Service";
2
- import Aws = require("serverless/plugins/aws/provider/awsProvider");
3
- export declare function addCloudWatchForwarderSubscriptions(service: Service, aws: Aws, functionArn: string): Promise<string[]>;
4
- export declare function canSubscribeLogGroup(aws: Aws, logGroupName: string, expectedSubName: string): Promise<boolean>;
5
- export declare function describeSubscriptionFilters(aws: Aws, logGroupName: string): Promise<{
6
- creationTime: number;
7
- destinationArn: string;
8
- distribution: string;
9
- filterName: string;
10
- filterPattern: string;
11
- logGroupName: string;
12
- roleArn: string;
13
- }[]>;
14
- //# sourceMappingURL=forwarder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../src/forwarder.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,GAAG,GAAG,QAAQ,6CAA6C,CAAC,CAAC;AA4BpE,wBAAsB,mCAAmC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,qBAuCxG;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,oBAejG;AAED,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM;;;;;;;;KAc/E"}
package/dist/forwarder.js DELETED
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const logGroupKey = "AWS::Logs::LogGroup";
13
- const logGroupSubscriptionKey = "AWS::Logs::SubscriptionFilter";
14
- function isLogGroup(value) {
15
- return value.Type === logGroupKey;
16
- }
17
- function addCloudWatchForwarderSubscriptions(service, aws, functionArn) {
18
- var _a;
19
- return __awaiter(this, void 0, void 0, function* () {
20
- const resources = (_a = service.provider.compiledCloudFormationTemplate) === null || _a === void 0 ? void 0 : _a.Resources;
21
- if (resources === undefined) {
22
- return ["No cloudformation stack available. Skipping subscribing Datadog forwarder."];
23
- }
24
- const errors = [];
25
- for (const [name, resource] of Object.entries(resources)) {
26
- if (!isLogGroup(resource) || !resource.Properties.LogGroupName.startsWith("/aws/lambda/")) {
27
- continue;
28
- }
29
- const logGroupName = resource.Properties.LogGroupName;
30
- const scopedSubName = `${name}Subscription`;
31
- let expectedSubName = `${service.getServiceName()}-${aws.getStage()}-${scopedSubName}-`;
32
- const stackName = aws.naming.getStackName();
33
- if (stackName) {
34
- expectedSubName = `${stackName}-${scopedSubName}-`;
35
- }
36
- const canSub = yield canSubscribeLogGroup(aws, logGroupName, expectedSubName);
37
- if (!canSub) {
38
- errors.push(`Subscription already exists for log group ${logGroupName}. Skipping subscribing Datadog forwarder.`);
39
- continue;
40
- }
41
- const subscription = {
42
- Type: logGroupSubscriptionKey,
43
- Properties: {
44
- DestinationArn: functionArn,
45
- FilterPattern: "",
46
- LogGroupName: { Ref: name },
47
- },
48
- };
49
- resources[scopedSubName] = subscription;
50
- }
51
- return errors;
52
- });
53
- }
54
- exports.addCloudWatchForwarderSubscriptions = addCloudWatchForwarderSubscriptions;
55
- function canSubscribeLogGroup(aws, logGroupName, expectedSubName) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const subscriptionFilters = yield describeSubscriptionFilters(aws, logGroupName);
58
- let hasUnknownSubscriptions = false;
59
- for (const subscription of subscriptionFilters) {
60
- const filterName = subscription.filterName;
61
- if (filterName.startsWith(expectedSubName)) {
62
- return true;
63
- }
64
- // We don't own this log group. It might not be possible to set a forwarder
65
- hasUnknownSubscriptions = true;
66
- }
67
- // No log groups, so it's possible to subscribe.
68
- return !hasUnknownSubscriptions;
69
- });
70
- }
71
- exports.canSubscribeLogGroup = canSubscribeLogGroup;
72
- function describeSubscriptionFilters(aws, logGroupName) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- try {
75
- const result = yield aws.request("CloudWatchLogs", "describeSubscriptionFilters", {
76
- logGroupName,
77
- });
78
- return result.subscriptionFilters;
79
- }
80
- catch (err) {
81
- // An error will occur if the log group doesn't exist, so we swallow this and return an empty list.
82
- return [];
83
- }
84
- });
85
- }
86
- exports.describeSubscriptionFilters = describeSubscriptionFilters;
87
- //# sourceMappingURL=forwarder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forwarder.js","sourceRoot":"","sources":["../src/forwarder.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAC1C,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;AAqBhE,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpC,CAAC;AAED,SAAsB,mCAAmC,CAAC,OAAgB,EAAE,GAAQ,EAAE,WAAmB;;;QACvG,MAAM,SAAS,SAAG,OAAO,CAAC,QAAQ,CAAC,8BAA8B,0CAAE,SAAS,CAAC;QAC7E,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,CAAC,4EAA4E,CAAC,CAAC;SACvF;QACD,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACxD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBACzF,SAAS;aACV;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;YACtD,MAAM,aAAa,GAAG,GAAG,IAAI,cAAc,CAAC;YAE5C,IAAI,eAAe,GAAG,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,aAAa,GAAG,CAAC;YAExF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC5C,IAAI,SAAS,EAAE;gBACb,eAAe,GAAG,GAAG,SAAS,IAAI,aAAa,GAAG,CAAC;aACpD;YAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,6CAA6C,YAAY,2CAA2C,CAAC,CAAC;gBAClH,SAAS;aACV;YAED,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,uBAAuB;gBAC7B,UAAU,EAAE;oBACV,cAAc,EAAE,WAAW;oBAC3B,aAAa,EAAE,EAAE;oBACjB,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;iBAC5B;aACF,CAAC;YACF,SAAS,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC;SACzC;QACD,OAAO,MAAM,CAAC;;CACf;AAvCD,kFAuCC;AAED,SAAsB,oBAAoB,CAAC,GAAQ,EAAE,YAAoB,EAAE,eAAuB;;QAChG,MAAM,mBAAmB,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAEjF,IAAI,uBAAuB,GAAG,KAAK,CAAC;QAEpC,KAAK,MAAM,YAAY,IAAI,mBAAmB,EAAE;YAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;YAC3C,IAAI,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACb;YACD,2EAA2E;YAC3E,uBAAuB,GAAG,IAAI,CAAC;SAChC;QACD,gDAAgD;QAChD,OAAO,CAAC,uBAAuB,CAAC;IAClC,CAAC;CAAA;AAfD,oDAeC;AAED,SAAsB,2BAA2B,CAAC,GAAQ,EAAE,YAAoB;;QAC9E,IAAI;YACF,MAAM,MAAM,GAAwC,MAAM,GAAG,CAAC,OAAO,CACnE,gBAAgB,EAChB,6BAA6B,EAC7B;gBACE,YAAY;aACb,CACF,CAAC;YACF,OAAO,MAAM,CAAC,mBAAmB,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACZ,mGAAmG;YACnG,OAAO,EAAE,CAAC;SACX;IACH,CAAC;CAAA;AAdD,kEAcC"}
package/dist/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- import { FunctionDefinition } from "serverless";
2
- export interface ExtendedFunctionDefinition extends FunctionDefinition {
3
- tags?: {
4
- [key: string]: string;
5
- };
6
- environment?: {
7
- [key: string]: string;
8
- };
9
- }
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGhD,MAAM,WAAW,0BAA2B,SAAQ,kBAAkB;IACpE,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzC"}
package/dist/index.js DELETED
@@ -1,161 +0,0 @@
1
- "use strict";
2
- /*
3
- * Unless explicitly stated otherwise all files in this repository are licensed
4
- * under the Apache License Version 2.0.
5
- *
6
- * This product includes software developed at Datadog (https://www.datadoghq.com/).
7
- * Copyright 2019 Datadog, Inc.
8
- */
9
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
10
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11
- return new (P || (P = Promise))(function (resolve, reject) {
12
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
13
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
14
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
15
- step((generator = generator.apply(thisArg, _arguments || [])).next());
16
- });
17
- };
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
22
- result["default"] = mod;
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const layers = __importStar(require("./layers.json"));
27
- const env_1 = require("./env");
28
- const layer_1 = require("./layer");
29
- const tracing_1 = require("./tracing");
30
- const wrapper_1 = require("./wrapper");
31
- const forwarder_1 = require("./forwarder");
32
- var TagKeys;
33
- (function (TagKeys) {
34
- TagKeys["Service"] = "service";
35
- TagKeys["Env"] = "env";
36
- })(TagKeys || (TagKeys = {}));
37
- module.exports = class ServerlessPlugin {
38
- constructor(serverless, _) {
39
- this.serverless = serverless;
40
- this.hooks = {
41
- "after:datadog:clean:init": this.afterPackageFunction.bind(this),
42
- "after:datadog:generate:init": this.beforePackageFunction.bind(this),
43
- "after:deploy:function:packageFunction": this.afterPackageFunction.bind(this),
44
- "after:package:createDeploymentArtifacts": this.afterPackageFunction.bind(this),
45
- "after:package:initialize": this.beforePackageFunction.bind(this),
46
- "before:deploy:function:packageFunction": this.beforePackageFunction.bind(this),
47
- "before:offline:start:init": this.beforePackageFunction.bind(this),
48
- "before:step-functions-offline:start": this.beforePackageFunction.bind(this),
49
- };
50
- this.commands = {
51
- datadog: {
52
- commands: {
53
- clean: {
54
- lifecycleEvents: ["init"],
55
- usage: "Cleans up wrapper handler functions for DataDog, not necessary in most cases",
56
- },
57
- generate: {
58
- lifecycleEvents: ["init"],
59
- usage: "Generates wrapper handler functions for DataDog, not necessary in most cases",
60
- },
61
- },
62
- lifecycleEvents: ["clean", "generate"],
63
- usage: "Automatically instruments your lambdas with DataDog",
64
- },
65
- };
66
- }
67
- beforePackageFunction() {
68
- return __awaiter(this, void 0, void 0, function* () {
69
- this.serverless.cli.log("Auto instrumenting functions with Datadog");
70
- const config = env_1.getConfig(this.serverless.service);
71
- env_1.setEnvConfiguration(config, this.serverless.service);
72
- const defaultRuntime = this.serverless.service.provider.runtime;
73
- const handlers = layer_1.findHandlers(this.serverless.service, defaultRuntime);
74
- if (config.addLayers) {
75
- this.serverless.cli.log("Adding Lambda Layers to functions");
76
- this.debugLogHandlers(handlers);
77
- layer_1.applyLayers(this.serverless.service.provider.region, handlers, layers);
78
- }
79
- else {
80
- this.serverless.cli.log("Skipping adding Lambda Layers, make sure you are packaging them yourself");
81
- }
82
- let tracingMode = tracing_1.TracingMode.NONE;
83
- if (config.enableXrayTracing && config.enableDDTracing) {
84
- tracingMode = tracing_1.TracingMode.HYBRID;
85
- }
86
- else if (config.enableDDTracing) {
87
- tracingMode = tracing_1.TracingMode.DD_TRACE;
88
- }
89
- else if (config.enableXrayTracing) {
90
- tracingMode = tracing_1.TracingMode.XRAY;
91
- }
92
- tracing_1.enableTracing(this.serverless.service, tracingMode);
93
- });
94
- }
95
- afterPackageFunction() {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- const config = env_1.getConfig(this.serverless.service);
98
- if (config.forwarder) {
99
- const aws = this.serverless.getProvider("aws");
100
- const errors = yield forwarder_1.addCloudWatchForwarderSubscriptions(this.serverless.service, aws, config.forwarder);
101
- for (const error of errors) {
102
- this.serverless.cli.log(error);
103
- }
104
- }
105
- if (config.enableTags) {
106
- this.serverless.cli.log("Adding service and environment tags to functions");
107
- this.addServiceAndEnvTags();
108
- }
109
- const defaultRuntime = this.serverless.service.provider.runtime;
110
- const handlers = layer_1.findHandlers(this.serverless.service, defaultRuntime);
111
- wrapper_1.redirectHandlers(handlers, config.addLayers);
112
- });
113
- }
114
- debugLogHandlers(handlers) {
115
- for (const handler of handlers) {
116
- if (handler.type === layer_1.RuntimeType.UNSUPPORTED) {
117
- if (handler.runtime === undefined) {
118
- this.serverless.cli.log(`Unable to determine runtime for function ${handler.name}`);
119
- }
120
- else {
121
- this.serverless.cli.log(`Unable to add Lambda Layers to function ${handler.name} with runtime ${handler.runtime}`);
122
- }
123
- }
124
- }
125
- }
126
- /**
127
- * Check for service and env tags on provider level (under tags and stackTags),
128
- * as well as function level. Automatically create tags for service and env with
129
- * properties from deployment configurations if needed; does not override any existing values.
130
- */
131
- addServiceAndEnvTags() {
132
- let providerServiceTagExists = false;
133
- let providerEnvTagExists = false;
134
- const provider = this.serverless.service.provider;
135
- const providerTags = provider.tags;
136
- if (providerTags !== undefined) {
137
- providerServiceTagExists = providerTags[TagKeys.Service] !== undefined;
138
- providerEnvTagExists = providerTags[TagKeys.Env] !== undefined;
139
- }
140
- const providerStackTags = provider.stackTags;
141
- if (providerStackTags !== undefined) {
142
- providerServiceTagExists = providerServiceTagExists || providerStackTags[TagKeys.Service] !== undefined;
143
- providerEnvTagExists = providerEnvTagExists || providerStackTags[TagKeys.Env] !== undefined;
144
- }
145
- if (!providerServiceTagExists || !providerEnvTagExists) {
146
- this.serverless.service.getAllFunctions().forEach((functionName) => {
147
- const functionDefintion = this.serverless.service.getFunction(functionName);
148
- if (!functionDefintion.tags) {
149
- functionDefintion.tags = {};
150
- }
151
- if (!providerServiceTagExists && !functionDefintion.tags[TagKeys.Service]) {
152
- functionDefintion.tags[TagKeys.Service] = this.serverless.service.getServiceName();
153
- }
154
- if (!providerEnvTagExists && !functionDefintion.tags[TagKeys.Env]) {
155
- functionDefintion.tags[TagKeys.Env] = this.serverless.getProvider("aws").getStage();
156
- }
157
- });
158
- }
159
- }
160
- };
161
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/layer.d.ts DELETED
@@ -1,26 +0,0 @@
1
- import { FunctionDefinition } from "serverless";
2
- import Service from "serverless/classes/Service";
3
- export declare enum RuntimeType {
4
- NODE = 0,
5
- PYTHON = 1,
6
- UNSUPPORTED = 2
7
- }
8
- export interface FunctionInfo {
9
- name: string;
10
- type: RuntimeType;
11
- handler: FunctionDefinition;
12
- runtime?: string;
13
- }
14
- export interface LayerJSON {
15
- regions: {
16
- [region: string]: {
17
- [runtime: string]: string | undefined;
18
- } | undefined;
19
- };
20
- }
21
- export declare const runtimeLookup: {
22
- [key: string]: RuntimeType;
23
- };
24
- export declare function findHandlers(service: Service, defaultRuntime?: string): FunctionInfo[];
25
- export declare function applyLayers(region: string, handlers: FunctionInfo[], layers: LayerJSON): void;
26
- //# sourceMappingURL=layer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../src/layer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAEjD,oBAAY,WAAW;IACrB,IAAI,IAAA;IACJ,MAAM,IAAA;IACN,WAAW,IAAA;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;QACP,CAAC,MAAM,EAAE,MAAM,GACX;YACE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACvC,GACD,SAAS,CAAC;KACf,CAAC;CACH;AAED,eAAO,MAAM,aAAa,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAA;CAQvD,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAetF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,QAqBtF"}