terafoundation 0.59.1 → 0.61.0

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.
@@ -1,6 +1,7 @@
1
1
  import { Logger } from '@terascope/utils';
2
+ import { Terafoundation } from '@terascope/types';
2
3
  export declare function getConnectorModule(name: string, reason: string): any;
3
- export declare function getConnectorSchema(name: string): Record<string, any>;
4
+ export declare function getConnectorSchemaAndValFn<S>(name: string): Terafoundation.Initializers<S>;
4
5
  export declare function createConnection(name: string, moduleConfig: Record<string, any>, logger: Logger, options: Record<string, any>): any;
5
6
  export declare function createClient(name: string, moduleConfig: Record<string, any>, logger: Logger, options: Record<string, any>): Promise<any>;
6
7
  //# sourceMappingURL=connector-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connector-utils.d.ts","sourceRoot":"","sources":["../../src/connector-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsD/D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CA0CpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASpE;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9F,GAAG,CASL;AAED,wBAAsB,YAAY,CAC9B,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAUhG"}
1
+ {"version":3,"file":"connector-utils.d.ts","sourceRoot":"","sources":["../../src/connector-utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA8DlD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CA0CpE;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EACxC,IAAI,EAAE,MAAM,GACb,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAShC;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9F,GAAG,CASL;AAED,wBAAsB,YAAY,CAC9B,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,gBAUhG"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createClient = exports.createConnection = exports.getConnectorSchema = exports.getConnectorModule = void 0;
6
+ exports.createClient = exports.createConnection = exports.getConnectorSchemaAndValFn = exports.getConnectorModule = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const utils_1 = require("@terascope/utils");
9
9
  function requireConnector(filePath, errors) {
@@ -22,6 +22,13 @@ function requireConnector(filePath, errors) {
22
22
  });
23
23
  valid = false;
24
24
  }
25
+ if (mod && mod.validate_config && typeof mod.validate_config !== 'function') {
26
+ errors.push({
27
+ filePath,
28
+ message: `Connector ${filePath} validate_config must be a function`,
29
+ });
30
+ valid = false;
31
+ }
25
32
  if (mod && typeof mod.create !== 'function') {
26
33
  errors.push({
27
34
  filePath,
@@ -85,16 +92,16 @@ function getConnectorModule(name, reason) {
85
92
  return null;
86
93
  }
87
94
  exports.getConnectorModule = getConnectorModule;
88
- function getConnectorSchema(name) {
95
+ function getConnectorSchemaAndValFn(name) {
89
96
  const reason = `Could not retrieve schema code for: ${name}\n`;
90
97
  const mod = getConnectorModule(name, reason);
91
98
  if (!mod) {
92
99
  console.warn(`[WARNING] ${reason}`);
93
- return {};
100
+ return { schema: {} };
94
101
  }
95
- return mod.config_schema();
102
+ return { schema: mod.config_schema(), validatorFn: mod.validate_config };
96
103
  }
97
- exports.getConnectorSchema = getConnectorSchema;
104
+ exports.getConnectorSchemaAndValFn = getConnectorSchemaAndValFn;
98
105
  function createConnection(name, moduleConfig, logger, options) {
99
106
  const reason = `Could not find connector implementation for: ${name}\n`;
100
107
  const mod = getConnectorModule(name, reason);
@@ -1 +1 @@
1
- {"version":3,"file":"connector-utils.js","sourceRoot":"","sources":["../../src/connector-utils.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AACxB,4CAA+D;AAO/D,SAAS,gBAAgB,CAAC,QAAgB,EAAE,MAAqB;IAC7D,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE5B,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;QACpB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;KACrB;IACD,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QACzB,KAAK,GAAG,KAAK,CAAC;KACjB;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU,EAAE;QAChD,MAAM,CAAC,IAAI,CAAC;YACR,QAAQ;YACR,OAAO,EAAE,aAAa,QAAQ,0CAA0C;SAC3E,CAAC,CAAC;QACH,KAAK,GAAG,KAAK,CAAC;KACjB;IAED,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC;YACR,QAAQ;YACR,OAAO,EAAE,aAAa,QAAQ,mCAAmC;SACpE,CAAC,CAAC;QACH,KAAK,GAAG,KAAK,CAAC;KACjB;IAED,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC;IACtB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,MAAqB;IAC3D,IAAI;QACA,OAAO,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC7C;IAAC,OAAO,KAAK,EAAE;QACZ,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,CAAC,IAAI,CAAC;YACR,QAAQ;YACR,OAAO,EAAE,IAAA,kBAAU,EAAC,KAAK,EAAE,IAAI,CAAC;SACnC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY,EAAE,MAAc;IAC3D,IAAI,GAAG,CAAC;IAER,qBAAqB;IACrB,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAC3D,GAAG,GAAG,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAExC,6BAA6B;IAC7B,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KACtC;IAED,yDAAyD;IACzD,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,cAAc,CAAC,kBAAkB,IAAI,YAAY,EAAE,MAAM,CAAC,CAAC;KACpE;IAED,oDAAoD;IACpD,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,cAAc,CAAC,kBAAkB,IAAI,YAAY,EAAE,MAAM,CAAC,CAAC;KACpE;IAED,oDAAoD;IACpD,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,cAAc,CAAC,cAAc,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;KACtD;IAED,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAEpB,IAAI,MAAM,CAAC,MAAM,EAAE;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,IAAI,eAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC7C,MAAM;YACN,OAAO,EAAE;gBACL,SAAS;aACZ;SACJ,CAAC,CAAC;KACN;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AA1CD,gDA0CC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,uCAAuC,IAAI,IAAI,CAAC;IAE/D,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC;QACpC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,GAAG,CAAC,aAAa,EAAE,CAAC;AAC/B,CAAC;AATD,gDASC;AAED,SAAgB,gBAAgB,CAC5B,IAAY,EAAE,YAAiC,EAAE,MAAc,EAAE,OAA4B;IAE7F,MAAM,MAAM,GAAG,gDAAgD,IAAI,IAAI,CAAC;IAExE,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KAC3B;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAXD,4CAWC;AAEM,KAAK,UAAU,YAAY,CAC9B,IAAY,EAAE,YAAiC,EAAE,MAAc,EAAE,OAA4B;IAE7F,MAAM,MAAM,GAAG,gDAAgD,IAAI,IAAI,CAAC;IAExE,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KAC3B;IAED,OAAO,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAXD,oCAWC"}
1
+ {"version":3,"file":"connector-utils.js","sourceRoot":"","sources":["../../src/connector-utils.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  import { Logger } from '@terascope/utils';
2
+ import { S3ClientConfig } from '@terascope/file-asset-apis';
3
+ import { Terafoundation } from '@terascope/types';
2
4
  declare const _default: {
3
5
  create(): never;
4
- createClient(customConfig: Record<string, any>, logger: Logger): Promise<{
6
+ createClient(customConfig: S3ClientConfig, logger: Logger): Promise<{
5
7
  client: import("@terascope/file-asset-apis").S3Client;
6
8
  logger: Logger;
7
9
  }>;
8
10
  config_schema(): Record<string, any>;
11
+ validate_config<S>(subconfig: S3ClientConfig, _sysconfig: Terafoundation.SysConfig<S>): void;
9
12
  };
10
13
  export default _default;
11
14
  //# sourceMappingURL=s3.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/connectors/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;;;+BAOL,OAAO,MAAM,EAAE,GAAG,CAAC,UAAU,MAAM;;;;qBAInD,OAAO,MAAM,EAAE,GAAG,CAAC;;AARxC,wBA6DE"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../../src/connectors/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAkB,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;;;+BAMb,cAAc,UAAU,MAAM;;;;qBAI9C,OAAO,MAAM,EAAE,GAAG,CAAC;kCAsDrB,cAAc,4CAE1B,IAAI;;AAhEX,wBA8EE"}
@@ -35,18 +35,18 @@ exports.default = {
35
35
  default: 3,
36
36
  format: Number
37
37
  },
38
- maxRedirects: {
39
- doc: '',
40
- default: 10,
41
- format: Number
42
- },
43
38
  sslEnabled: {
44
39
  doc: '',
45
40
  default: true,
46
41
  format: Boolean
47
42
  },
48
43
  certLocation: {
49
- doc: 'Location of ssl cert. Must be provided if `sslEnabled` is true',
44
+ doc: 'DEPRECATED - use caCertificate. Location of ssl cert.',
45
+ default: '',
46
+ format: String
47
+ },
48
+ caCertificate: {
49
+ doc: 'A string containing a single or multiple ca certificates',
50
50
  default: '',
51
51
  format: String
52
52
  },
@@ -61,6 +61,20 @@ exports.default = {
61
61
  format: Boolean
62
62
  }
63
63
  };
64
+ },
65
+ validate_config(subconfig, _sysconfig) {
66
+ var _a, _b;
67
+ const caCertExists = (((_a = subconfig.caCertificate) === null || _a === void 0 ? void 0 : _a.length) !== 0);
68
+ const certLocationExists = (((_b = subconfig.certLocation) === null || _b === void 0 ? void 0 : _b.length) !== 0);
69
+ if (caCertExists && certLocationExists) {
70
+ throw new Error('"caCertificate" and "certLocation" contradict.\n'
71
+ + ' Use only one or the other.');
72
+ }
73
+ else if ((caCertExists && !subconfig.sslEnabled)
74
+ || (certLocationExists && !subconfig.sslEnabled)) {
75
+ throw new Error('A certificate is provided but sslEnabled is set to "false".\n'
76
+ + ' Set sslEnabled to "true" or don\'t provide a certificate.');
77
+ }
64
78
  }
65
79
  };
66
80
  //# sourceMappingURL=s3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/connectors/s3.ts"],"names":[],"mappings":";;AACA,gEAA4D;AAE5D,kBAAe;IACX,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;IAC5G,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,YAAiC,EAAE,MAAc;QAChE,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAc,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,aAAa;QACT,OAAO;YACH,QAAQ,EAAE;gBACN,GAAG,EAAE,oBAAoB;gBACzB,OAAO,EAAE,cAAc;aAC1B;YACD,WAAW,EAAE;gBACT,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACjB;YACD,eAAe,EAAE;gBACb,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACjB;YACD,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,MAAM;aACjB;YACD,UAAU,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,MAAM;aACjB;YACD,YAAY,EAAE;gBACV,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,MAAM;aACjB;YACD,UAAU,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;aAClB;YACD,YAAY,EAAE;gBACV,GAAG,EAAE,gEAAgE;gBACrE,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,MAAM;aACjB;YACD,cAAc,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;aAClB;YACD,cAAc,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;aAClB;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../../src/connectors/s3.ts"],"names":[],"mappings":";;AACA,gEAA4E;AAG5E,kBAAe;IACX,MAAM;QACF,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;IAC5G,CAAC;IACD,KAAK,CAAC,YAAY,CAAC,YAA4B,EAAE,MAAc;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAA,gCAAc,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD,aAAa;QACT,OAAO;YACH,QAAQ,EAAE;gBACN,GAAG,EAAE,oBAAoB;gBACzB,OAAO,EAAE,cAAc;aAC1B;YACD,WAAW,EAAE;gBACT,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACjB;YACD,eAAe,EAAE;gBACb,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACjB;YACD,MAAM,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,WAAW;gBACpB,MAAM,EAAE,MAAM;aACjB;YACD,UAAU,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,MAAM;aACjB;YACD,UAAU,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;aAClB;YACD,YAAY,EAAE;gBACV,GAAG,EAAE,uDAAuD;gBAC5D,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,MAAM;aACjB;YACD,aAAa,EAAE;gBACX,GAAG,EAAE,0DAA0D;gBAC/D,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,MAAM;aACjB;YACD,cAAc,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;aAClB;YACD,cAAc,EAAE;gBACZ,GAAG,EAAE,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,OAAO;aAClB;SACJ,CAAC;IACN,CAAC;IACD,eAAe,CACX,SAAyB,EACzB,UAAuC;;QAEvC,MAAM,YAAY,GAAY,CAAC,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,MAAM,MAAK,CAAC,CAAC,CAAC;QACtE,MAAM,kBAAkB,GAAY,CAAC,CAAA,MAAA,SAAS,CAAC,YAAY,0CAAE,MAAM,MAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,YAAY,IAAI,kBAAkB,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD;kBAChE,8BAA8B,CAAC,CAAC;SACrC;aAAM,IACH,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;eACpC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAClD;YACE,MAAM,IAAI,KAAK,CAAC,+DAA+D;kBACzE,6DAA6D,CAAC,CAAC;SACxE;IACL,CAAC;CACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import convict from 'convict';
2
2
  import { Terafoundation } from '@terascope/types';
3
- export declare function foundationSchema(sysconfig: Terafoundation.SysConfig<any>): convict.Schema<any>;
3
+ export declare function foundationSchema(): convict.Schema<Record<string, any>>;
4
+ export declare function foundationValidatorFn<S>(subconfig: Record<string, any>, _sysconfig: Terafoundation.SysConfig<S>): void;
4
5
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CA4H9F"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKlD,wBAAgB,gBAAgB,wCAoF/B;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,UAAU,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,GACxC,IAAI,CAkCN"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.foundationSchema = void 0;
3
+ exports.foundationValidatorFn = exports.foundationSchema = void 0;
4
4
  const os_1 = require("os");
5
5
  const workerCount = (0, os_1.cpus)().length;
6
6
  const DEFAULT_ASSET_STORAGE_CONNECTION_TYPE = 'elasticsearch-next';
7
- function foundationSchema(sysconfig) {
7
+ function foundationSchema() {
8
8
  const schema = {
9
9
  environment: {
10
10
  doc: 'If set to `production`, console logging will be disabled and logs will be sent to a file',
@@ -73,59 +73,51 @@ function foundationSchema(sysconfig) {
73
73
  asset_storage_connection_type: {
74
74
  doc: 'Name of the connection type used to store assets',
75
75
  default: DEFAULT_ASSET_STORAGE_CONNECTION_TYPE,
76
- format(connectionTypeName) {
77
- const validConnectionTypes = ['elasticsearch-next', 's3'];
78
- const connectionTypesPresent = Object.keys(sysconfig.terafoundation.connectors);
79
- if (!connectionTypesPresent.includes(connectionTypeName)) {
80
- throw new Error('asset_storage_connection_type not found in terafoundation.connectors');
81
- }
82
- if (!validConnectionTypes.includes(connectionTypeName)) {
83
- throw new Error(`Invalid asset_storage_connection_type. Valid types: ${validConnectionTypes.toString()}`);
84
- }
85
- }
76
+ format: String
86
77
  },
87
78
  asset_storage_connection: {
88
79
  doc: 'Name of the connection used to store assets.',
89
80
  default: 'default',
90
- format(connectionName) {
91
- let connectionType;
92
- if (sysconfig.terafoundation.asset_storage_connection_type) {
93
- connectionType = sysconfig.terafoundation.asset_storage_connection_type;
94
- }
95
- else {
96
- connectionType = DEFAULT_ASSET_STORAGE_CONNECTION_TYPE;
97
- }
98
- const connectionsPresent = Object.keys(sysconfig.terafoundation.connectors[`${connectionType}`]);
99
- /// Check to make sure the asset_storage_connection exists inside the connector
100
- /// Exclude elasticsearch as this connection type does not utilize this value
101
- if (!connectionsPresent.includes(connectionName)
102
- && !connectionType.includes('elasticsearch-next')) {
103
- throw new Error(`${connectionName} not found in terafoundation.connectors.${connectionType}`);
104
- }
105
- }
81
+ format: String
106
82
  },
107
83
  asset_storage_bucket: {
108
84
  doc: 'Name of S3 bucket used to store assets. Can only be used if "asset_storage_connection_type" is "s3".',
109
85
  default: undefined,
110
- format(bucketName) {
111
- let connectionType;
112
- if (sysconfig.terafoundation.asset_storage_connection_type) {
113
- connectionType = sysconfig.terafoundation.asset_storage_connection_type;
114
- }
115
- else {
116
- connectionType = DEFAULT_ASSET_STORAGE_CONNECTION_TYPE;
117
- }
118
- if (typeof bucketName !== 'string') {
119
- throw new Error('asset_storage_bucket must be a string');
120
- }
121
- if (connectionType !== 's3') {
122
- throw new Error('asset_storage_bucket can only be used if asset_storage_connection_type is set to "s3"');
123
- }
124
- // TODO: add regex to check if valid bucket name
125
- }
86
+ format: String
126
87
  }
127
88
  };
128
89
  return schema;
129
90
  }
130
91
  exports.foundationSchema = foundationSchema;
92
+ function foundationValidatorFn(subconfig, _sysconfig) {
93
+ const typedSubconfig = subconfig;
94
+ const connectionType = typedSubconfig.asset_storage_connection_type
95
+ || DEFAULT_ASSET_STORAGE_CONNECTION_TYPE;
96
+ const connectionTypesPresent = Object.keys(typedSubconfig.connectors);
97
+ const validConnectionTypes = ['elasticsearch-next', 's3'];
98
+ // checks on asset_storage_connection_type
99
+ if (!validConnectionTypes
100
+ .includes(connectionType)) {
101
+ throw new Error(`Invalid asset_storage_connection_type. Valid types: ${validConnectionTypes.toString()}`);
102
+ }
103
+ if (!connectionTypesPresent
104
+ .includes(connectionType)) {
105
+ throw new Error('asset_storage_connection_type not found in terafoundation.connectors');
106
+ }
107
+ // checks on asset_storage_connection
108
+ const connectionsPresent = Object.keys(typedSubconfig.connectors[`${connectionType}`]);
109
+ /// Check to make sure the asset_storage_connection exists inside the connector
110
+ /// Exclude elasticsearch as this connection type does not utilize this value
111
+ if (connectionType !== 'elasticsearch-next'
112
+ && typedSubconfig.asset_storage_connection
113
+ && !connectionsPresent.includes(typedSubconfig.asset_storage_connection)) {
114
+ throw new Error(`${typedSubconfig.asset_storage_connection} not found in terafoundation.connectors.${connectionType}`);
115
+ }
116
+ // checks on asset_storage_bucket
117
+ if (typedSubconfig.asset_storage_bucket && connectionType !== 's3') {
118
+ throw new Error('asset_storage_bucket can only be used if asset_storage_connection_type is set to "s3"');
119
+ }
120
+ // TODO: add regex to check if valid bucket name
121
+ }
122
+ exports.foundationValidatorFn = foundationValidatorFn;
131
123
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-configs.d.ts","sourceRoot":"","sources":["../../src/validate-configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAEc,WAAW,EAC/B,MAAM,kBAAkB,CAAC;AAO1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AA4ClC;;;;EAIE;AACF,MAAM,CAAC,OAAO,UAAU,eAAe,CACnC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,EAEzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GACjD,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAwD1B"}
1
+ {"version":3,"file":"validate-configs.d.ts","sourceRoot":"","sources":["../../src/validate-configs.ts"],"names":[],"mappings":"AAEA,OAAO,EAEc,WAAW,EAC/B,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAiElC;;;;EAIE;AACF,MAAM,CAAC,OAAO,UAAU,eAAe,CACnC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,EAEzB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,MAAM,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACnC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GACjD,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CA4F1B"}
@@ -58,13 +58,29 @@ function validateConfig(cluster, schema, namespaceConfig) {
58
58
  }
59
59
  function extractSchema(fn, sysconfig) {
60
60
  if ((0, utils_1.isFunction)(fn)) {
61
- return fn(sysconfig);
61
+ const result = fn(sysconfig);
62
+ if (result.schema) {
63
+ return result.schema;
64
+ }
65
+ return result;
62
66
  }
63
67
  if ((0, utils_1.isPlainObject)(fn)) {
64
68
  return fn;
65
69
  }
66
70
  return {};
67
71
  }
72
+ function extractValidatorFn(fn, sysconfig) {
73
+ if ((0, utils_1.isFunction)(fn)) {
74
+ const result = fn(sysconfig);
75
+ if (result.validatorFn) {
76
+ return result.validatorFn;
77
+ }
78
+ }
79
+ if ((0, utils_1.isPlainObject)(fn)) {
80
+ return fn.validatorFn;
81
+ }
82
+ return undefined;
83
+ }
68
84
  /**
69
85
  * @param cluster the nodejs cluster metadata
70
86
  * @param config the config object passed to the library terafoundation
@@ -77,8 +93,9 @@ function validateConfigs(cluster, config, sysconfig) {
77
93
  if (!(0, utils_1.isPlainObject)(sysconfig) || (0, utils_1.isEmpty)(sysconfig)) {
78
94
  throw new Error('Terafoundation requires a valid system configuration');
79
95
  }
96
+ const listOfValidations = {};
80
97
  const schema = extractSchema(config.config_schema, sysconfig);
81
- schema.terafoundation = (0, schema_1.foundationSchema)(sysconfig);
98
+ schema.terafoundation = (0, schema_1.foundationSchema)();
82
99
  const result = {};
83
100
  if (config.schema_formats) {
84
101
  config.schema_formats.forEach((format) => {
@@ -89,17 +106,34 @@ function validateConfigs(cluster, config, sysconfig) {
89
106
  for (const schemaKey of schemaKeys) {
90
107
  const subSchema = schema[schemaKey] || {};
91
108
  const subConfig = sysconfig[schemaKey] || {};
92
- result[schemaKey] = validateConfig(cluster, subSchema, subConfig);
109
+ const validatedConfig = validateConfig(cluster, subSchema, subConfig);
110
+ result[schemaKey] = validatedConfig;
93
111
  if (schemaKey === 'terafoundation') {
94
112
  result[schemaKey].connectors = {};
95
113
  const connectors = subConfig.connectors || {};
96
114
  for (const [connector, connectorConfig] of Object.entries(connectors)) {
97
- const connectorSchema = (0, connector_utils_1.getConnectorSchema)(connector);
115
+ const { schema: connectorSchema, validatorFn: connValidatorFn } = (0, connector_utils_1.getConnectorSchemaAndValFn)(connector);
98
116
  result[schemaKey].connectors[connector] = {};
99
117
  for (const [connection, connectionConfig] of Object.entries(connectorConfig)) {
100
- result[schemaKey].connectors[connector][connection] = validateConfig(cluster, connectorSchema, connectionConfig);
118
+ const validatedConnConfig = validateConfig(cluster, connectorSchema, connectionConfig);
119
+ result[schemaKey].connectors[connector][connection] = validatedConnConfig;
120
+ listOfValidations[`${connector}:${connection}`] = {
121
+ validatorFn: connValidatorFn,
122
+ subconfig: validatedConnConfig,
123
+ connector: true
124
+ };
101
125
  }
102
126
  }
127
+ listOfValidations[schemaKey] = {
128
+ validatorFn: (schema_1.foundationValidatorFn),
129
+ subconfig: validatedConfig
130
+ };
131
+ }
132
+ else {
133
+ listOfValidations[schemaKey] = {
134
+ validatorFn: extractValidatorFn(config.config_schema, sysconfig),
135
+ subconfig: validatedConfig
136
+ };
103
137
  }
104
138
  }
105
139
  // Annotate the config with some information about this instance.
@@ -113,6 +147,18 @@ function validateConfigs(cluster, config, sysconfig) {
113
147
  else {
114
148
  result._nodeName = hostname;
115
149
  }
150
+ // Cross-field validation
151
+ for (const entry of Object.entries(listOfValidations)) {
152
+ const [name, validatorObj] = entry;
153
+ if (validatorObj.validatorFn) {
154
+ try {
155
+ validatorObj.validatorFn((0, utils_1.cloneDeep)(validatorObj.subconfig), (0, utils_1.cloneDeep)(result));
156
+ }
157
+ catch (err) {
158
+ throw new utils_1.TSError(`Cross-field validation failed for ${validatorObj.connector ? 'connector ' : ''}'${name}': ${err}`);
159
+ }
160
+ }
161
+ }
116
162
  return result;
117
163
  }
118
164
  exports.default = validateConfigs;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-configs.js","sourceRoot":"","sources":["../../src/validate-configs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,mDAA8C;AAC9C,4CAG0B;AAC1B,4BAA4B;AAC5B,kGAA0E;AAC1E,4BAA4B;AAC5B,4FAAoE;AACpE,uDAAuD;AACvD,qCAA4C;AAG5C,IAAA,oBAAU,EAAC,uCAA6B,CAAC,CAAC;AAC1C,IAAA,oBAAU,EAAC,oCAA0B,CAAC,CAAC;AAEvC,SAAS,cAAc,CACnB,OAA8B,EAC9B,MAA2B,EAC3B,eAAoB;IAEpB,IAAI;QACA,MAAM,MAAM,GAAG,IAAA,iBAAO,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE7B,IAAI,OAAO,CAAC,QAAQ,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC;gBACZ,6CAA6C;gBAC7C,QAAQ;gBACR,oDAAoD;gBACpD,yBAAyB;gBACzB,OAAO,EAAE,IAAI;aACT,CAAC,CAAC;SACb;QAED,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;KACjC;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,eAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;KACxE;AACL,CAAC;AAED,SAAS,aAAa,CAClB,EAAO,EACP,SAAgD;IAEhD,IAAI,IAAA,kBAAU,EAAC,EAAE,CAAC,EAAE;QAChB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;KACxB;IACD,IAAI,IAAA,qBAAa,EAAC,EAAE,CAAC,EAAE;QACnB,OAAO,EAAE,CAAC;KACb;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;EAIE;AACF,SAAwB,eAAe,CAKnC,OAAkB,EAClB,MAAmC,EACnC,SAAgD;IAEhD,IAAI,CAAC,IAAA,qBAAa,EAAC,MAAM,CAAC,IAAI,IAAA,eAAO,EAAC,MAAM,CAAC,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;KAChF;IAED,IAAI,CAAC,IAAA,qBAAa,EAAC,SAAS,CAAC,IAAI,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;QACjD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;KAC3E;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC9D,MAAM,CAAC,cAAc,GAAG,IAAA,yBAAgB,EAAC,SAAS,CAAC,CAAC;IACpD,MAAM,MAAM,GAAQ,EAAE,CAAC;IAEvB,IAAI,MAAM,CAAC,cAAc,EAAE;QACvB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACrC,iBAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;KACN;IAED,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAwB,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAElE,MAAM,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,SAAS,KAAK,gBAAgB,EAAE;YAChC,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC;YAElC,MAAM,UAAU,GAAwB,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;YACnE,KAAK,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;gBACnE,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,SAAS,CAAC,CAAC;gBACtD,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBAE7C,KAAK,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;oBAC1E,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,GAAG,cAAc,CAChE,OAAO,EACP,eAAe,EACf,gBAAuB,CAC1B,CAAC;iBACL;aACJ;SACJ;KACJ;IAED,iEAAiE;IACjE,MAAM,QAAQ,GAAG,YAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;QACpB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;KACzC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE;QACvB,MAAM,CAAC,SAAS,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;KACzD;SAAM;QACH,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC/B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAhED,kCAgEC"}
1
+ {"version":3,"file":"validate-configs.js","sourceRoot":"","sources":["../../src/validate-configs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "terafoundation",
3
3
  "displayName": "Terafoundation",
4
- "version": "0.59.1",
4
+ "version": "0.61.0",
5
5
  "description": "A Clustering and Foundation tool for Terascope Tools",
6
6
  "homepage": "https://github.com/terascope/teraslice/tree/master/packages/terafoundation#readme",
7
7
  "bugs": {
@@ -27,17 +27,16 @@
27
27
  "test:watch": "ts-scripts test --watch . --"
28
28
  },
29
29
  "dependencies": {
30
- "@terascope/file-asset-apis": "^0.12.1",
31
- "@terascope/types": "^0.15.0",
32
- "@terascope/utils": "^0.57.0",
33
- "aws-sdk": "^2.1401.0",
30
+ "@terascope/file-asset-apis": "^0.13.0",
31
+ "@terascope/types": "^0.15.1",
32
+ "@terascope/utils": "^0.57.1",
34
33
  "bluebird": "^3.7.2",
35
34
  "bunyan": "^1.8.15",
36
35
  "convict": "^6.2.4",
37
36
  "convict-format-with-moment": "^6.2.0",
38
37
  "convict-format-with-validator": "^6.2.0",
39
38
  "elasticsearch": "^15.4.1",
40
- "elasticsearch-store": "^0.81.1",
39
+ "elasticsearch-store": "^0.82.0",
41
40
  "js-yaml": "^4.1.0",
42
41
  "nanoid": "^3.3.4",
43
42
  "node-webhdfs": "^1.0.2",