wgc 0.45.1 → 0.46.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/commands/federated-graph/commands/create.js +60 -30
  3. package/dist/commands/federated-graph/commands/create.js.map +1 -1
  4. package/dist/commands/federated-graph/commands/delete.js +4 -2
  5. package/dist/commands/federated-graph/commands/delete.js.map +1 -1
  6. package/dist/commands/federated-graph/commands/move.js +60 -28
  7. package/dist/commands/federated-graph/commands/move.js.map +1 -1
  8. package/dist/commands/federated-graph/commands/update.js +58 -30
  9. package/dist/commands/federated-graph/commands/update.js.map +1 -1
  10. package/dist/commands/router/commands/fetch.js +20 -17
  11. package/dist/commands/router/commands/fetch.js.map +1 -1
  12. package/dist/commands/subgraph/commands/create.js +4 -2
  13. package/dist/commands/subgraph/commands/create.js.map +1 -1
  14. package/dist/commands/subgraph/commands/delete.js +58 -29
  15. package/dist/commands/subgraph/commands/delete.js.map +1 -1
  16. package/dist/commands/subgraph/commands/move.js +60 -28
  17. package/dist/commands/subgraph/commands/move.js.map +1 -1
  18. package/dist/commands/subgraph/commands/publish.js +66 -29
  19. package/dist/commands/subgraph/commands/publish.js.map +1 -1
  20. package/dist/commands/subgraph/commands/update.js +58 -30
  21. package/dist/commands/subgraph/commands/update.js.map +1 -1
  22. package/dist/core/signature.d.ts +2 -0
  23. package/dist/core/signature.js +16 -0
  24. package/dist/core/signature.js.map +1 -0
  25. package/dist/index.js +1 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +7 -6
  29. package/src/commands/federated-graph/commands/create.ts +74 -31
  30. package/src/commands/federated-graph/commands/delete.ts +5 -2
  31. package/src/commands/federated-graph/commands/move.ts +72 -30
  32. package/src/commands/federated-graph/commands/update.ts +68 -31
  33. package/src/commands/router/commands/fetch.ts +28 -20
  34. package/src/commands/subgraph/commands/create.ts +4 -2
  35. package/src/commands/subgraph/commands/delete.ts +72 -32
  36. package/src/commands/subgraph/commands/move.ts +72 -31
  37. package/src/commands/subgraph/commands/publish.ts +91 -33
  38. package/src/commands/subgraph/commands/update.ts +70 -33
  39. package/src/core/signature.ts +19 -0
  40. package/src/index.ts +3 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@ Binaries are attached to the github release otherwise all images can be found [h
4
4
  All notable changes to this project will be documented in this file.
5
5
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
6
6
 
7
+ # [0.46.0](https://github.com/wundergraph/cosmo/compare/wgc@0.45.1...wgc@0.46.0) (2024-03-14)
8
+
9
+ ### Features
10
+
11
+ * router config signature validation through custom admission webhooks ([#628](https://github.com/wundergraph/cosmo/issues/628)) ([384fd7e](https://github.com/wundergraph/cosmo/commit/384fd7e3372479e96fccc4fc771dc4e9f9c84754)) (@StarpTech)
12
+
7
13
  ## [0.45.1](https://github.com/wundergraph/cosmo/compare/wgc@0.45.0...wgc@0.45.1) (2024-03-13)
8
14
 
9
15
  **Note:** Version bump only for package wgc
@@ -5,6 +5,7 @@ import Table from 'cli-table3';
5
5
  import { Command, program } from 'commander';
6
6
  import { resolve } from 'pathe';
7
7
  import pc from 'picocolors';
8
+ import ora from 'ora';
8
9
  import { baseHeaders } from '../../../core/config.js';
9
10
  export default (opts) => {
10
11
  const command = new Command('create');
@@ -13,9 +14,10 @@ export default (opts) => {
13
14
  command.option('-n, --namespace [string]', 'The namespace of the federated graph.');
14
15
  command.requiredOption('-r, --routing-url <url>', 'The routing url of your router. This is the url that the router will be accessible at.');
15
16
  command.option('--label-matcher [labels...]', 'The label matcher is used to select the subgraphs to federate. The labels are passed in the format <key>=<value> <key>=<value>. They are separated by spaces and grouped using comma. Example: --label-matcher team=A,team=B env=prod');
17
+ command.option('--admission-webhook-url <url>', 'The admission webhook url. This is the url that the controlplane will use to implement admission control for the federated graph. This is optional.', []);
16
18
  command.option('--readme <path-to-readme>', 'The markdown file which describes the federated graph.');
17
19
  command.action(async (name, options) => {
18
- var _a, _b, _c, _d;
20
+ var _a, _b, _c;
19
21
  let readmeFile;
20
22
  if (options.readme) {
21
23
  readmeFile = resolve(process.cwd(), options.readme);
@@ -23,46 +25,74 @@ export default (opts) => {
23
25
  program.error(pc.red(pc.bold(`The readme file '${pc.bold(readmeFile)}' does not exist. Please check the path and try again.`)));
24
26
  }
25
27
  }
28
+ const spinner = ora('Federated Graph is being created...').start();
26
29
  const resp = await opts.client.platform.createFederatedGraph({
27
30
  name,
28
31
  routingUrl: options.routingUrl,
29
32
  labelMatchers: options.labelMatcher,
30
33
  readme: readmeFile ? await readFile(readmeFile, 'utf8') : undefined,
31
34
  namespace: options.namespace,
35
+ admissionWebhookURL: options.admissionWebhookUrl,
32
36
  }, {
33
37
  headers: baseHeaders,
34
38
  });
35
- if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
36
- console.log(pc.dim(pc.green(`A new federated graph called '${name}' was created.`)));
37
- }
38
- else if (((_b = resp.response) === null || _b === void 0 ? void 0 : _b.code) === EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED) {
39
- console.log(pc.dim(pc.green(`A new federated graph called '${name}' was created.`)));
40
- const compositionErrorsTable = new Table({
41
- head: [
42
- pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
43
- pc.bold(pc.white('NAMESPACE')),
44
- pc.bold(pc.white('ERROR_MESSAGE')),
45
- ],
46
- colWidths: [30, 30, 120],
47
- wordWrap: true,
48
- });
49
- console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
50
- for (const compositionError of resp.compositionErrors) {
51
- compositionErrorsTable.push([
52
- compositionError.federatedGraphName,
53
- compositionError.namespace,
54
- compositionError.message,
55
- ]);
39
+ switch ((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) {
40
+ case EnumStatusCode.OK: {
41
+ spinner.succeed('Federated Graph was created successfully.');
42
+ break;
56
43
  }
57
- // Don't exit here with 1 because the change was still applied
58
- console.log(compositionErrorsTable.toString());
59
- }
60
- else {
61
- console.log(pc.red(`Failed to create federated graph ${pc.bold(name)}.`));
62
- if ((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details) {
63
- console.log(pc.red(pc.bold((_d = resp.response) === null || _d === void 0 ? void 0 : _d.details)));
44
+ case EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED: {
45
+ spinner.warn('Federated Graph was created but with composition errors.');
46
+ const compositionErrorsTable = new Table({
47
+ head: [
48
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
49
+ pc.bold(pc.white('NAMESPACE')),
50
+ pc.bold(pc.white('ERROR_MESSAGE')),
51
+ ],
52
+ colWidths: [30, 30, 120],
53
+ wordWrap: true,
54
+ });
55
+ console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
56
+ for (const compositionError of resp.compositionErrors) {
57
+ compositionErrorsTable.push([
58
+ compositionError.federatedGraphName,
59
+ compositionError.namespace,
60
+ compositionError.message,
61
+ ]);
62
+ }
63
+ // Don't exit here with 1 because the change was still applied
64
+ console.log(compositionErrorsTable.toString());
65
+ break;
66
+ }
67
+ case EnumStatusCode.ERR_DEPLOYMENT_FAILED: {
68
+ spinner.warn("The Federated Graph was set up, but the updated composition hasn't been deployed, so it's not accessible to the router. Check the errors listed below for details.");
69
+ const deploymentErrorsTable = new Table({
70
+ head: [
71
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
72
+ pc.bold(pc.white('NAMESPACE')),
73
+ pc.bold(pc.white('ERROR_MESSAGE')),
74
+ ],
75
+ colWidths: [30, 30, 120],
76
+ wordWrap: true,
77
+ });
78
+ for (const deploymentError of resp.deploymentErrors) {
79
+ deploymentErrorsTable.push([
80
+ deploymentError.federatedGraphName,
81
+ deploymentError.namespace,
82
+ deploymentError.message,
83
+ ]);
84
+ }
85
+ // Don't exit here with 1 because the change was still applied
86
+ console.log(deploymentErrorsTable.toString());
87
+ break;
88
+ }
89
+ default: {
90
+ spinner.fail(`Failed to create federated graph.`);
91
+ if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
92
+ console.error(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
93
+ }
94
+ process.exit(1);
64
95
  }
65
- process.exit(1);
66
96
  }
67
97
  });
68
98
  return command;
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/create.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import pc from 'picocolors';
3
3
  import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
4
4
  import inquirer from 'inquirer';
5
+ import ora from 'ora';
5
6
  import { baseHeaders } from '../../../core/config.js';
6
7
  export default (opts) => {
7
8
  const command = new Command('delete');
@@ -21,6 +22,7 @@ export default (opts) => {
21
22
  process.exit(1);
22
23
  }
23
24
  }
25
+ const spinner = ora('Federated Graph is being deleted...').start();
24
26
  const resp = await opts.client.platform.deleteFederatedGraph({
25
27
  name,
26
28
  namespace: options.namespace,
@@ -28,10 +30,10 @@ export default (opts) => {
28
30
  headers: baseHeaders,
29
31
  });
30
32
  if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
31
- console.log(pc.dim(pc.green(`A federated graph called '${name}' was deleted.`)));
33
+ spinner.succeed(`Federated Graph was deleted successfully.`);
32
34
  }
33
35
  else {
34
- console.log(`Failed to delete federated graph ${pc.bold(name)}.`);
36
+ spinner.fail(`Failed to delete federated graph.`);
35
37
  if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
36
38
  console.log(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC,CAAC;IACpF,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,uDAAuD;aACjE,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAC1D;YACE,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EACD;YACE,OAAO,EAAE,WAAW;SACrB,CACF,CAAC;QAEF,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,EAAE,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,6BAA6B,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAClF;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClE,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aACtD;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,iDAAiD,CAAC,CAAC;IACvE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,4CAA4C,CAAC,CAAC;IACzE,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC,CAAC;IACpF,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;YAClB,MAAM,iBAAiB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAC9C,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,uDAAuD;aACjE,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;gBACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACjB;SACF;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,qCAAqC,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAC1D;YACE,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EACD;YACE,OAAO,EAAE,WAAW;SACrB,CACF,CAAC;QAEF,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,EAAE,EAAE;YAC7C,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;SAC9D;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YAClD,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;aACtD;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
2
2
  import CliTable3 from 'cli-table3';
3
- import { Command, program } from 'commander';
3
+ import { Command } from 'commander';
4
4
  import pc from 'picocolors';
5
+ import ora from 'ora';
5
6
  import { baseHeaders } from '../../../core/config.js';
6
7
  export default (opts) => {
7
8
  const command = new Command('move');
@@ -10,7 +11,8 @@ export default (opts) => {
10
11
  command.option('-n, --namespace [string]', 'The namespace of the federated graph.');
11
12
  command.requiredOption('-t, --to [string]', 'The new namespace of the federated graph.');
12
13
  command.action(async (name, options) => {
13
- var _a, _b, _c, _d;
14
+ var _a, _b, _c;
15
+ const spinner = ora('Subgraph is being moved...').start();
14
16
  const resp = await opts.client.platform.moveFederatedGraph({
15
17
  name,
16
18
  namespace: options.namespace,
@@ -18,33 +20,63 @@ export default (opts) => {
18
20
  }, {
19
21
  headers: baseHeaders,
20
22
  });
21
- if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
22
- console.log(pc.green(`Successfully moved graph to namespace ${pc.bold(options.to)}.`));
23
- }
24
- else if (((_b = resp.response) === null || _b === void 0 ? void 0 : _b.code) === EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED) {
25
- console.log(pc.dim(`Successfully moved graph to namespace ${pc.bold(options.to)}.`));
26
- const compositionErrorsTable = new CliTable3({
27
- head: [
28
- pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
29
- pc.bold(pc.white('NAMESPACE')),
30
- pc.bold(pc.white('ERROR_MESSAGE')),
31
- ],
32
- colWidths: [30, 120],
33
- wordWrap: true,
34
- });
35
- console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
36
- for (const compositionError of resp.compositionErrors) {
37
- compositionErrorsTable.push([
38
- compositionError.federatedGraphName,
39
- compositionError.namespace,
40
- compositionError.message,
41
- ]);
23
+ switch ((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) {
24
+ case EnumStatusCode.OK: {
25
+ spinner.succeed('Federated Graph has been moved successfully.');
26
+ break;
27
+ }
28
+ case EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED: {
29
+ spinner.warn('Federated Graph has been moved but with composition errors.');
30
+ const compositionErrorsTable = new CliTable3({
31
+ head: [
32
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
33
+ pc.bold(pc.white('NAMESPACE')),
34
+ pc.bold(pc.white('ERROR_MESSAGE')),
35
+ ],
36
+ colWidths: [30, 120],
37
+ wordWrap: true,
38
+ });
39
+ console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
40
+ for (const compositionError of resp.compositionErrors) {
41
+ compositionErrorsTable.push([
42
+ compositionError.federatedGraphName,
43
+ compositionError.namespace,
44
+ compositionError.message,
45
+ ]);
46
+ }
47
+ // Don't exit here with 1 because the change was still applied
48
+ console.log(compositionErrorsTable.toString());
49
+ break;
50
+ }
51
+ case EnumStatusCode.ERR_DEPLOYMENT_FAILED: {
52
+ spinner.warn("The Federated Graph was moved, but the updated composition hasn't been deployed, so it's not accessible to the router. Check the errors listed below for details.");
53
+ const deploymentErrorsTable = new CliTable3({
54
+ head: [
55
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
56
+ pc.bold(pc.white('NAMESPACE')),
57
+ pc.bold(pc.white('ERROR_MESSAGE')),
58
+ ],
59
+ colWidths: [30, 30, 120],
60
+ wordWrap: true,
61
+ });
62
+ for (const deploymentError of resp.deploymentErrors) {
63
+ deploymentErrorsTable.push([
64
+ deploymentError.federatedGraphName,
65
+ deploymentError.namespace,
66
+ deploymentError.message,
67
+ ]);
68
+ }
69
+ // Don't exit here with 1 because the change was still applied
70
+ console.log(deploymentErrorsTable.toString());
71
+ break;
72
+ }
73
+ default: {
74
+ spinner.fail('Failed to move federated graph.');
75
+ if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
76
+ console.error(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
77
+ }
78
+ process.exit(1);
42
79
  }
43
- // Don't exit here with 1 because the change was still applied
44
- console.log(compositionErrorsTable.toString());
45
- }
46
- else {
47
- program.error(pc.red(`Could not move federated graph. ${(_d = (_c = resp.response) === null || _c === void 0 ? void 0 : _c.details) !== null && _d !== void 0 ? _d : ''}`));
48
80
  }
49
81
  });
50
82
  return command;
@@ -1 +1 @@
1
- {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,CAAC,WAAW,CAAC,0DAA0D,CAAC,CAAC;IAChF,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,CAAC,CAAC;IACvE,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,uCAAuC,CAAC,CAAC;IACpF,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,2CAA2C,CAAC,CAAC;IACzF,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;;QACrC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACxD;YACE,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,EAAE;SACzB,EACD;YACE,OAAO,EAAE,WAAW;SACrB,CACF,CAAC;QAEF,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,EAAE,EAAE;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACxF;aAAM,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,+BAA+B,EAAE;YACjF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,yCAAyC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAErF,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC;gBAC3C,IAAI,EAAE;oBACJ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;oBACzC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC9B,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;iBACnC;gBACD,SAAS,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC;gBACpB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CACT,EAAE,CAAC,MAAM,CACP,iKAAiK,CAClK,CACF,CAAC;YACF,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACrD,sBAAsB,CAAC,IAAI,CAAC;oBAC1B,gBAAgB,CAAC,kBAAkB;oBACnC,gBAAgB,CAAC,SAAS;oBAC1B,gBAAgB,CAAC,OAAO;iBACzB,CAAC,CAAC;aACJ;YACD,8DAA8D;YAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,CAAC,CAAC;SAChD;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,mCAAmC,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,mCAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SAC1F;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"move.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/move.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { Command, program } from 'commander';
5
5
  import pc from 'picocolors';
6
6
  import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
7
7
  import { resolve } from 'pathe';
8
+ import ora from 'ora';
8
9
  import { baseHeaders } from '../../../core/config.js';
9
10
  export default (opts) => {
10
11
  const command = new Command('update');
@@ -16,7 +17,7 @@ export default (opts) => {
16
17
  command.option('--unset-label-matchers', 'This will remove all label matchers. It will not add new label matchers if both this and --label-matchers option is passed.');
17
18
  command.option('--readme <path-to-readme>', 'The markdown file which describes the subgraph.');
18
19
  command.action(async (name, options) => {
19
- var _a, _b, _c, _d;
20
+ var _a, _b, _c;
20
21
  let readmeFile;
21
22
  if (options.readme) {
22
23
  readmeFile = resolve(process.cwd(), options.readme);
@@ -24,6 +25,7 @@ export default (opts) => {
24
25
  program.error(pc.red(pc.bold(`The readme file '${pc.bold(readmeFile)}' does not exist. Please check the path and try again.`)));
25
26
  }
26
27
  }
28
+ const spinner = ora('Federated Graph is being updated...').start();
27
29
  const resp = await opts.client.platform.updateFederatedGraph({
28
30
  name,
29
31
  namespace: options.namespace,
@@ -34,37 +36,63 @@ export default (opts) => {
34
36
  }, {
35
37
  headers: baseHeaders,
36
38
  });
37
- if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
38
- console.log(pc.dim(pc.green(`The federated graph '${name}' was updated.`)));
39
- }
40
- else if (((_b = resp.response) === null || _b === void 0 ? void 0 : _b.code) === EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED) {
41
- console.log(pc.dim(pc.green(`The federated graph '${name}' was updated.`)));
42
- const compositionErrorsTable = new Table({
43
- head: [
44
- pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
45
- pc.bold(pc.white('NAMESPACE')),
46
- pc.bold(pc.white('ERROR_MESSAGE')),
47
- ],
48
- colWidths: [30, 30, 120],
49
- wordWrap: true,
50
- });
51
- console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
52
- for (const compositionError of resp.compositionErrors) {
53
- compositionErrorsTable.push([
54
- compositionError.federatedGraphName,
55
- compositionError.namespace,
56
- compositionError.message,
57
- ]);
39
+ switch ((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) {
40
+ case EnumStatusCode.OK: {
41
+ spinner.succeed(`Federated Graph was updated successfully.`);
42
+ break;
58
43
  }
59
- // Don't exit here with 1 because the change was still applied
60
- console.log(compositionErrorsTable.toString());
61
- }
62
- else {
63
- console.log(`Failed to update federated graph ${pc.bold(name)}.`);
64
- if ((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details) {
65
- console.log(pc.red(pc.bold((_d = resp.response) === null || _d === void 0 ? void 0 : _d.details)));
44
+ case EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED: {
45
+ spinner.warn(`Federated Graph was updated but with composition errors.`);
46
+ const compositionErrorsTable = new Table({
47
+ head: [
48
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
49
+ pc.bold(pc.white('NAMESPACE')),
50
+ pc.bold(pc.white('ERROR_MESSAGE')),
51
+ ],
52
+ colWidths: [30, 30, 120],
53
+ wordWrap: true,
54
+ });
55
+ console.log(pc.yellow('But we found composition errors, while composing the federated graph.\nThe graph will not be updated until the errors are fixed. Please check the errors below:'));
56
+ for (const compositionError of resp.compositionErrors) {
57
+ compositionErrorsTable.push([
58
+ compositionError.federatedGraphName,
59
+ compositionError.namespace,
60
+ compositionError.message,
61
+ ]);
62
+ }
63
+ // Don't exit here with 1 because the change was still applied
64
+ console.log(compositionErrorsTable.toString());
65
+ break;
66
+ }
67
+ case EnumStatusCode.ERR_DEPLOYMENT_FAILED: {
68
+ spinner.warn("The Federated Graph was updated, but the updated composition hasn't been deployed, so it's not accessible to the router. Check the errors listed below for details.");
69
+ const deploymentErrorsTable = new Table({
70
+ head: [
71
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
72
+ pc.bold(pc.white('NAMESPACE')),
73
+ pc.bold(pc.white('ERROR_MESSAGE')),
74
+ ],
75
+ colWidths: [30, 30, 120],
76
+ wordWrap: true,
77
+ });
78
+ for (const deploymentError of resp.deploymentErrors) {
79
+ deploymentErrorsTable.push([
80
+ deploymentError.federatedGraphName,
81
+ deploymentError.namespace,
82
+ deploymentError.message,
83
+ ]);
84
+ }
85
+ // Don't exit here with 1 because the change was still applied
86
+ console.log(deploymentErrorsTable.toString());
87
+ break;
88
+ }
89
+ default: {
90
+ spinner.fail(`Failed to update federated graph.`);
91
+ if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
92
+ console.log(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
93
+ }
94
+ process.exit(1);
66
95
  }
67
- process.exit(1);
68
96
  }
69
97
  });
70
98
  return command;
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/federated-graph/commands/update.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import jwtDecode from 'jwt-decode';
5
5
  import pc from 'picocolors';
6
6
  import { join } from 'pathe';
7
7
  import { baseHeaders, config } from '../../../core/config.js';
8
+ import { makeSignature, safeCompare } from '../../../core/signature.js';
8
9
  export const handleOutput = async (out, config) => {
9
10
  if (out) {
10
11
  await writeFile(join(process.cwd(), out), config !== null && config !== void 0 ? config : '');
@@ -19,8 +20,9 @@ export default (opts) => {
19
20
  command.argument('<name>', 'The name of the federated graph to fetch.');
20
21
  command.option('-n, --namespace [string]', 'The namespace of the federated graph.');
21
22
  command.option('-o, --out [string]', 'Destination file for the router config.');
23
+ command.option('--graph-sign-key [string]', 'The signature key to verify the downloaded router config. If not provided, the router config will not be verified.');
22
24
  command.action(async (name, options) => {
23
- var _a, _b, _c, _d, _e, _f, _g, _h;
25
+ var _a, _b, _c;
24
26
  const resp = await opts.client.platform.generateRouterToken({
25
27
  fedGraphName: name,
26
28
  namespace: options.namespace,
@@ -54,25 +56,26 @@ export default (opts) => {
54
56
  headers,
55
57
  body: requestBody,
56
58
  });
57
- if (response.status !== 200) {
58
- const latestConfigResp = await opts.client.platform.getLatestValidRouterConfig({
59
- graphName: name,
60
- namespace: options.namespace,
61
- }, {
62
- headers: baseHeaders,
63
- });
64
- if (((_d = latestConfigResp.response) === null || _d === void 0 ? void 0 : _d.code) !== EnumStatusCode.OK) {
65
- console.log(`${pc.red(`No router config could be fetched for federated graph ${pc.bold(name)}`)}`);
66
- if ((_e = resp.response) === null || _e === void 0 ? void 0 : _e.details) {
67
- console.log(pc.red(pc.bold((_f = resp.response) === null || _f === void 0 ? void 0 : _f.details)));
68
- }
59
+ const body = await response.text();
60
+ if (options.graphSignKey) {
61
+ const signature = response.headers.get('X-Signature-SHA256');
62
+ if (!signature) {
63
+ console.log(pc.red('You provided a signature key, but the router config does not have a signature header.'));
69
64
  process.exit(1);
70
65
  }
71
- await handleOutput(options.out, (_h = (_g = latestConfigResp.config) === null || _g === void 0 ? void 0 : _g.toJsonString()) !== null && _h !== void 0 ? _h : '');
72
- process.exit(0);
66
+ const hash = await makeSignature(body, options.graphSignKey);
67
+ if (!safeCompare(hash, signature)) {
68
+ console.log(pc.red('The signature of the router config does not match the provided signature key.'));
69
+ process.exit(1);
70
+ }
71
+ if (options.out) {
72
+ await handleOutput(options.out, body);
73
+ console.log(pc.green('The signature of the router config matches the local computed signature.'));
74
+ console.log(pc.green(`The router config has been written to ${pc.bold(options.out)}`));
75
+ return;
76
+ }
73
77
  }
74
- const body = await response.json();
75
- await handleOutput(options.out, JSON.stringify(body));
78
+ await handleOutput(options.out, body);
76
79
  });
77
80
  return command;
78
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/commands/router/commands/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/commands/router/commands/fetch.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { parseGraphQLSubscriptionProtocol, splitLabel } from '@wundergraph/cosmo
5
5
  import { Command, program } from 'commander';
6
6
  import { resolve } from 'pathe';
7
7
  import pc from 'picocolors';
8
+ import ora from 'ora';
8
9
  import { baseHeaders } from '../../../core/config.js';
9
10
  export default (opts) => {
10
11
  const command = new Command('create');
@@ -26,6 +27,7 @@ export default (opts) => {
26
27
  program.error(pc.red(pc.bold(`The readme file '${pc.bold(readmeFile)}' does not exist. Please check the path and try again.`)));
27
28
  }
28
29
  }
30
+ const spinner = ora('Subgraph is being created...').start();
29
31
  const resp = await opts.client.platform.createFederatedSubgraph({
30
32
  name,
31
33
  namespace: options.namespace,
@@ -42,10 +44,10 @@ export default (opts) => {
42
44
  headers: baseHeaders,
43
45
  });
44
46
  if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
45
- console.log(pc.dim(pc.green(`A new subgraph called '${name}' was created.`)));
47
+ spinner.succeed('Subgraph was created successfully.');
46
48
  }
47
49
  else {
48
- console.log(pc.red(`Failed to create subgraph '${pc.bold(name)}'.`));
50
+ spinner.fail('Failed to create subgraph.');
49
51
  if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
50
52
  console.log(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
51
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/subgraph/commands/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/subgraph/commands/create.ts"],"names":[],"mappings":"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"}