wgc 0.92.0 → 0.93.1
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.
- package/dist/package.json +1 -1
- package/dist/src/commands/feature-subgraph/commands/publish.js +3 -0
- package/dist/src/commands/feature-subgraph/commands/publish.js.map +1 -1
- package/dist/src/commands/grpc-service/commands/create.d.ts +4 -0
- package/dist/src/commands/grpc-service/commands/create.js +54 -0
- package/dist/src/commands/grpc-service/commands/create.js.map +1 -0
- package/dist/src/commands/grpc-service/commands/delete.d.ts +4 -0
- package/dist/src/commands/grpc-service/commands/delete.js +135 -0
- package/dist/src/commands/grpc-service/commands/delete.js.map +1 -0
- package/dist/src/commands/grpc-service/commands/publish.d.ts +4 -0
- package/dist/src/commands/grpc-service/commands/publish.js +195 -0
- package/dist/src/commands/grpc-service/commands/publish.js.map +1 -0
- package/dist/src/commands/grpc-service/index.js +6 -0
- package/dist/src/commands/grpc-service/index.js.map +1 -1
- package/dist/src/commands/router/commands/plugin/commands/delete.js +1 -1
- package/dist/src/commands/router/commands/plugin/commands/delete.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
package/dist/package.json
CHANGED
|
@@ -9,6 +9,7 @@ import pc from 'picocolors';
|
|
|
9
9
|
import { websocketSubprotocolDescription } from '../../../constants.js';
|
|
10
10
|
import { handleCompositionResult } from '../../../handle-composition-result.js';
|
|
11
11
|
import { validateSubscriptionProtocols } from '../../../utils.js';
|
|
12
|
+
import { getBaseHeaders } from '../../../core/config.js';
|
|
12
13
|
export default (opts) => {
|
|
13
14
|
const command = new Command('publish');
|
|
14
15
|
command.description("Publishes a feature subgraph on the control plane. If the feature subgraph doesn't exists, it will be created.\nIf the publication leads to composition errors, the errors will be visible in the Studio.\nThe router will continue to work with the latest valid schema.");
|
|
@@ -71,6 +72,8 @@ export default (opts) => {
|
|
|
71
72
|
: undefined,
|
|
72
73
|
// passing Standard type to the backend, because the users have to use the 'wgc router plugin publish' command to publish the plugin
|
|
73
74
|
type: SubgraphType.STANDARD,
|
|
75
|
+
}, {
|
|
76
|
+
headers: getBaseHeaders(),
|
|
74
77
|
});
|
|
75
78
|
try {
|
|
76
79
|
handleCompositionResult({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/commands/feature-subgraph/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/commands/feature-subgraph/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
|
|
4
|
+
import { SubgraphType } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
|
|
5
|
+
import { splitLabel } from '@wundergraph/cosmo-shared';
|
|
6
|
+
import { Command, program } from 'commander';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { resolve } from 'pathe';
|
|
9
|
+
import pc from 'picocolors';
|
|
10
|
+
import { getBaseHeaders } from '../../../core/config.js';
|
|
11
|
+
export default (opts) => {
|
|
12
|
+
const command = new Command('create');
|
|
13
|
+
command.description('Creates a federated grpc subgraph on the control plane.');
|
|
14
|
+
command.argument('<name>', 'The name of the grpc subgraph to create. It is used to uniquely identify your grpc subgraph.');
|
|
15
|
+
command.option('-n, --namespace [string]', 'The namespace of the grpc subgraph.');
|
|
16
|
+
command.requiredOption('-r, --routing-url <url>', 'The routing URL of your subgraph. This is the url at which the subgraph will be accessible.');
|
|
17
|
+
command.option('--label [labels...]', 'The labels to apply to the subgraph. The labels are passed in the format <key>=<value> <key>=<value>.');
|
|
18
|
+
command.option('--readme <path-to-readme>', 'The markdown file which describes the subgraph.');
|
|
19
|
+
command.action(async (name, options) => {
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
let readmeFile;
|
|
22
|
+
if (options.readme) {
|
|
23
|
+
readmeFile = resolve(options.readme);
|
|
24
|
+
if (!existsSync(readmeFile)) {
|
|
25
|
+
program.error(pc.red(pc.bold(`The readme file '${pc.bold(readmeFile)}' does not exist. Please check the path and try again.`)));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const spinner = ora('GRPC Subgraph is being created...').start();
|
|
29
|
+
const resp = await opts.client.platform.createFederatedSubgraph({
|
|
30
|
+
name,
|
|
31
|
+
namespace: options.namespace,
|
|
32
|
+
labels: options.label ? options.label.map((label) => splitLabel(label)) : [],
|
|
33
|
+
routingUrl: options.routingUrl,
|
|
34
|
+
readme: readmeFile ? await readFile(readmeFile, 'utf8') : undefined,
|
|
35
|
+
type: SubgraphType.GRPC_SERVICE,
|
|
36
|
+
}, {
|
|
37
|
+
headers: getBaseHeaders(),
|
|
38
|
+
});
|
|
39
|
+
if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) === EnumStatusCode.OK) {
|
|
40
|
+
spinner.succeed('GRPC subgraph was created successfully.');
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
spinner.fail('Failed to create grpc subgraph.');
|
|
44
|
+
if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
|
|
45
|
+
console.log(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
|
|
46
|
+
}
|
|
47
|
+
process.exitCode = 1;
|
|
48
|
+
// eslint-disable-next-line no-useless-return
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return command;
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/grpc-service/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,yDAAyD,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,WAAW,CAAC,yDAAyD,CAAC,CAAC;IAC/E,OAAO,CAAC,QAAQ,CACd,QAAQ,EACR,8FAA8F,CAC/F,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,qCAAqC,CAAC,CAAC;IAClF,OAAO,CAAC,cAAc,CACpB,yBAAyB,EACzB,6FAA6F,CAC9F,CAAC;IACF,OAAO,CAAC,MAAM,CACZ,qBAAqB,EACrB,uGAAuG,CACxG,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,iDAAiD,CAAC,CAAC;IAE/F,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;;QACrC,IAAI,UAAU,CAAC;QACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CACX,EAAE,CAAC,GAAG,CACJ,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,wDAAwD,CAAC,CACzG,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAC7D;YACE,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACpF,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YACnE,IAAI,EAAE,YAAY,CAAC,YAAY;SAChC,EACD;YACE,OAAO,EAAE,cAAc,EAAE;SAC1B,CACF,CAAC;QAEF,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAChD,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,6CAA6C;YAC7C,OAAO;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import pc from 'picocolors';
|
|
3
|
+
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
import Table from 'cli-table3';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { getBaseHeaders } from '../../../core/config.js';
|
|
8
|
+
export default (opts) => {
|
|
9
|
+
const command = new Command('delete');
|
|
10
|
+
command.description('Deletes a gRPC subgraph on the control plane.');
|
|
11
|
+
command.argument('<name>', 'The name of the gRPC subgraph to delete.');
|
|
12
|
+
command.option('-n, --namespace [string]', 'The namespace of the gRPC subgraph.');
|
|
13
|
+
command.option('-f, --force', 'Flag to force the deletion (skip confirmation).');
|
|
14
|
+
command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.');
|
|
15
|
+
command.action(async (name, options) => {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
if (!options.force) {
|
|
18
|
+
const deletionConfirmed = await inquirer.prompt({
|
|
19
|
+
name: 'confirmDeletion',
|
|
20
|
+
type: 'confirm',
|
|
21
|
+
message: `Are you sure you want to delete the gRPC subgraph "${name}"?`,
|
|
22
|
+
});
|
|
23
|
+
if (!deletionConfirmed.confirmDeletion) {
|
|
24
|
+
process.exitCode = 1;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
const spinner = ora(`The gRPC subgraph "${name}" is being deleted...`).start();
|
|
29
|
+
const resp = await opts.client.platform.deleteFederatedSubgraph({
|
|
30
|
+
subgraphName: name,
|
|
31
|
+
namespace: options.namespace,
|
|
32
|
+
}, {
|
|
33
|
+
headers: getBaseHeaders(),
|
|
34
|
+
});
|
|
35
|
+
switch ((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) {
|
|
36
|
+
case EnumStatusCode.OK: {
|
|
37
|
+
spinner.succeed(`The gRPC subgraph "${name}" was deleted successfully.`);
|
|
38
|
+
if (resp.proposalMatchMessage) {
|
|
39
|
+
console.log(pc.yellow(`Warning: Proposal match failed`));
|
|
40
|
+
console.log(pc.yellow(resp.proposalMatchMessage));
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case EnumStatusCode.ERR_SCHEMA_MISMATCH_WITH_APPROVED_PROPOSAL: {
|
|
45
|
+
spinner.fail(`Failed to delete gRPC subgraph "${name}".`);
|
|
46
|
+
console.log(pc.red(`Error: Proposal match failed`));
|
|
47
|
+
console.log(pc.red(resp.proposalMatchMessage));
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED: {
|
|
51
|
+
spinner.fail(`The gRPC subgraph "${name}" was deleted but with composition errors.`);
|
|
52
|
+
const compositionErrorsTable = new Table({
|
|
53
|
+
head: [
|
|
54
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
55
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
56
|
+
pc.bold(pc.white('FEATURE_FLAG')),
|
|
57
|
+
pc.bold(pc.white('ERROR_MESSAGE')),
|
|
58
|
+
],
|
|
59
|
+
colWidths: [30, 30, 30, 120],
|
|
60
|
+
wordWrap: true,
|
|
61
|
+
});
|
|
62
|
+
console.log(pc.red(`There were composition errors when composing at least one federated graph related to the` +
|
|
63
|
+
` gRPC subgraph "${name}".\nThe router will continue to work with the latest valid schema.` +
|
|
64
|
+
`\n${pc.bold('Please check the errors below:')}`));
|
|
65
|
+
for (const compositionError of resp.compositionErrors) {
|
|
66
|
+
compositionErrorsTable.push([
|
|
67
|
+
compositionError.federatedGraphName,
|
|
68
|
+
compositionError.namespace,
|
|
69
|
+
compositionError.featureFlag || '-',
|
|
70
|
+
compositionError.message,
|
|
71
|
+
]);
|
|
72
|
+
}
|
|
73
|
+
// Don't exit here with 1 because the change was still applied
|
|
74
|
+
console.log(compositionErrorsTable.toString());
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
case EnumStatusCode.ERR_DEPLOYMENT_FAILED: {
|
|
78
|
+
spinner.warn(`The gRPC subgraph "${name}" was deleted, but the updated composition could not be deployed.` +
|
|
79
|
+
`\nThis means the updated composition is not accessible to the router.` +
|
|
80
|
+
`\n${pc.bold('Please check the errors below:')}`);
|
|
81
|
+
const deploymentErrorsTable = new Table({
|
|
82
|
+
head: [
|
|
83
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
84
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
85
|
+
pc.bold(pc.white('ERROR_MESSAGE')),
|
|
86
|
+
],
|
|
87
|
+
colWidths: [30, 30, 120],
|
|
88
|
+
wordWrap: true,
|
|
89
|
+
});
|
|
90
|
+
for (const deploymentError of resp.deploymentErrors) {
|
|
91
|
+
deploymentErrorsTable.push([
|
|
92
|
+
deploymentError.federatedGraphName,
|
|
93
|
+
deploymentError.namespace,
|
|
94
|
+
deploymentError.message,
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
// Don't exit here with 1 because the change was still applied
|
|
98
|
+
console.log(deploymentErrorsTable.toString());
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
default: {
|
|
102
|
+
spinner.fail(`Failed to delete the gRPC subgraph "${name}".`);
|
|
103
|
+
if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
|
|
104
|
+
console.log(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
|
|
105
|
+
}
|
|
106
|
+
process.exitCode = 1;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (!options.suppressWarnings && resp.compositionWarnings.length > 0) {
|
|
111
|
+
const compositionWarningsTable = new Table({
|
|
112
|
+
head: [
|
|
113
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
114
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
115
|
+
pc.bold(pc.white('FEATURE_FLAG')),
|
|
116
|
+
pc.bold(pc.white('WARNING_MESSAGE')),
|
|
117
|
+
],
|
|
118
|
+
colWidths: [30, 30, 30, 120],
|
|
119
|
+
wordWrap: true,
|
|
120
|
+
});
|
|
121
|
+
console.log(pc.yellow(`The following warnings were produced while composing the federated graph:`));
|
|
122
|
+
for (const compositionWarning of resp.compositionWarnings) {
|
|
123
|
+
compositionWarningsTable.push([
|
|
124
|
+
compositionWarning.federatedGraphName,
|
|
125
|
+
compositionWarning.namespace,
|
|
126
|
+
compositionWarning.featureFlag || '-',
|
|
127
|
+
compositionWarning.message,
|
|
128
|
+
]);
|
|
129
|
+
}
|
|
130
|
+
console.log(compositionWarningsTable.toString());
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
return command;
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/grpc-service/commands/delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
|
|
4
|
+
import { SubgraphType } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
|
|
5
|
+
import { splitLabel } from '@wundergraph/cosmo-shared';
|
|
6
|
+
import Table from 'cli-table3';
|
|
7
|
+
import { Command, program } from 'commander';
|
|
8
|
+
import ora from 'ora';
|
|
9
|
+
import { resolve } from 'pathe';
|
|
10
|
+
import pc from 'picocolors';
|
|
11
|
+
import { getBaseHeaders } from '../../../core/config.js';
|
|
12
|
+
export default (opts) => {
|
|
13
|
+
const command = new Command('publish');
|
|
14
|
+
command.description("Publishes a gRPC subgraph on the control plane. If the gRPC subgraph doesn't exist, it will be created.\nIf the publication leads to composition errors, the errors will be visible in the Studio.\nThe router will continue to work with the latest valid schema.\nConsider using the 'wgc subgraph check' command to check for composition errors before publishing.");
|
|
15
|
+
command.argument('<name>', 'The name of the gRPC subgraph.');
|
|
16
|
+
command.requiredOption('--schema <path-to-schema>', 'The schema file to upload to the subgraph.');
|
|
17
|
+
command.requiredOption('--generated <path-to-generated-folder>', 'The path to the generated folder which contains the proto schema, mapping and lock files.');
|
|
18
|
+
command.option('-n, --namespace [string]', 'The namespace of the gRPC subgraph.');
|
|
19
|
+
command.option('-r, --routing-url <url>', 'The routing URL of the gRPC subgraph. This is the URL at which the gRPC subgraph will be accessible.' +
|
|
20
|
+
' This parameter is always ignored if the subgraph has already been created.');
|
|
21
|
+
command.option('--label [labels...]', 'The labels to apply to the gRPC subgraph. The labels are passed in the format <key>=<value> <key>=<value>.' +
|
|
22
|
+
' This parameter is always ignored if the gRPC subgraph has already been created.', []);
|
|
23
|
+
command.option('--fail-on-composition-error', 'If set, the command will fail if the composition of the federated graph fails.', false);
|
|
24
|
+
command.option('--fail-on-admission-webhook-error', 'If set, the command will fail if the admission webhook fails.', false);
|
|
25
|
+
command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.');
|
|
26
|
+
command.action(async (name, options) => {
|
|
27
|
+
var _a, _b, _c;
|
|
28
|
+
const schemaFile = resolve(options.schema);
|
|
29
|
+
if (!existsSync(schemaFile)) {
|
|
30
|
+
program.error(pc.red(pc.bold(`The schema file '${schemaFile}' does not exist. Please check the path and try again.`)));
|
|
31
|
+
}
|
|
32
|
+
const schemaBuffer = await readFile(schemaFile);
|
|
33
|
+
const schema = new TextDecoder().decode(schemaBuffer);
|
|
34
|
+
if (schema.trim().length === 0) {
|
|
35
|
+
program.error(pc.red(pc.bold(`The schema file '${schemaFile}' is empty. Please provide a valid schema.`)));
|
|
36
|
+
}
|
|
37
|
+
const grpcSubgraphGeneratedDir = resolve(options.generated);
|
|
38
|
+
if (!existsSync(grpcSubgraphGeneratedDir)) {
|
|
39
|
+
program.error(pc.red(pc.bold(`The gRPC subgraph generated directory '${grpcSubgraphGeneratedDir}' does not exist. Please check the path and try again.`)));
|
|
40
|
+
}
|
|
41
|
+
const protoSchemaFile = resolve(grpcSubgraphGeneratedDir, 'service.proto');
|
|
42
|
+
const protoMappingFile = resolve(grpcSubgraphGeneratedDir, 'mapping.json');
|
|
43
|
+
const protoLockFile = resolve(grpcSubgraphGeneratedDir, 'service.proto.lock.json');
|
|
44
|
+
if (!existsSync(protoSchemaFile)) {
|
|
45
|
+
program.error(pc.red(pc.bold(`The proto schema file '${protoSchemaFile}' does not exist. Please check the path and try again.`)));
|
|
46
|
+
}
|
|
47
|
+
const protoSchemaBuffer = await readFile(protoSchemaFile);
|
|
48
|
+
const protoSchema = new TextDecoder().decode(protoSchemaBuffer);
|
|
49
|
+
if (protoSchema.trim().length === 0) {
|
|
50
|
+
program.error(pc.red(pc.bold(`The proto schema file '${protoSchemaFile}' is empty. Please provide a valid schema.`)));
|
|
51
|
+
}
|
|
52
|
+
if (!existsSync(protoMappingFile)) {
|
|
53
|
+
program.error(pc.red(pc.bold(`The proto mapping file '${protoMappingFile}' does not exist. Please check the path and try again.`)));
|
|
54
|
+
}
|
|
55
|
+
const protoMappingBuffer = await readFile(protoMappingFile);
|
|
56
|
+
const protoMapping = new TextDecoder().decode(protoMappingBuffer);
|
|
57
|
+
if (protoMapping.trim().length === 0) {
|
|
58
|
+
program.error(pc.red(pc.bold(`The proto mapping file '${protoMappingFile}' is empty. Please provide a valid mapping.`)));
|
|
59
|
+
}
|
|
60
|
+
if (!existsSync(protoLockFile)) {
|
|
61
|
+
program.error(pc.red(pc.bold(`The proto lock file '${protoLockFile}' does not exist. Please check the path and try again.`)));
|
|
62
|
+
}
|
|
63
|
+
const protoLockBuffer = await readFile(protoLockFile);
|
|
64
|
+
const protoLock = new TextDecoder().decode(protoLockBuffer);
|
|
65
|
+
if (protoLock.trim().length === 0) {
|
|
66
|
+
program.error(pc.red(pc.bold(`The proto lock file '${protoLockFile}' is empty. Please provide a valid lock.`)));
|
|
67
|
+
}
|
|
68
|
+
const spinner = ora('GRPC Subgraph is being published...').start();
|
|
69
|
+
const resp = await opts.client.platform.publishFederatedSubgraph({
|
|
70
|
+
name,
|
|
71
|
+
namespace: options.namespace,
|
|
72
|
+
schema,
|
|
73
|
+
// Optional when subgraph does not exist yet
|
|
74
|
+
routingUrl: options.routingUrl,
|
|
75
|
+
labels: options.label.map((label) => splitLabel(label)),
|
|
76
|
+
type: SubgraphType.GRPC_SERVICE,
|
|
77
|
+
proto: {
|
|
78
|
+
schema: protoSchema,
|
|
79
|
+
mappings: protoMapping,
|
|
80
|
+
lock: protoLock,
|
|
81
|
+
},
|
|
82
|
+
}, {
|
|
83
|
+
headers: getBaseHeaders(),
|
|
84
|
+
});
|
|
85
|
+
switch ((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) {
|
|
86
|
+
case EnumStatusCode.OK: {
|
|
87
|
+
spinner.succeed((resp === null || resp === void 0 ? void 0 : resp.hasChanged) === false
|
|
88
|
+
? 'No new changes to publish.'
|
|
89
|
+
: `The gRPC subgraph ${pc.bold(name)} published successfully.`);
|
|
90
|
+
console.log('');
|
|
91
|
+
console.log('To apply any new changes after this publication, update your gRPC subgraph by modifying your schema (remember to generate), updating your implementation and then publishing again.');
|
|
92
|
+
if (resp.proposalMatchMessage) {
|
|
93
|
+
console.log(pc.yellow(`Warning: Proposal match failed`));
|
|
94
|
+
console.log(pc.yellow(resp.proposalMatchMessage));
|
|
95
|
+
}
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
case EnumStatusCode.ERR_SCHEMA_MISMATCH_WITH_APPROVED_PROPOSAL: {
|
|
99
|
+
spinner.fail(`Failed to publish gRPC subgraph "${name}".`);
|
|
100
|
+
console.log(pc.red(`Error: Proposal match failed`));
|
|
101
|
+
console.log(pc.red(resp.proposalMatchMessage));
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
case EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED: {
|
|
105
|
+
spinner.warn('The gRPC subgraph was published but with composition errors.');
|
|
106
|
+
if (resp.proposalMatchMessage) {
|
|
107
|
+
console.log(pc.yellow(`Warning: Proposal match failed`));
|
|
108
|
+
console.log(pc.yellow(resp.proposalMatchMessage));
|
|
109
|
+
}
|
|
110
|
+
const compositionErrorsTable = new Table({
|
|
111
|
+
head: [
|
|
112
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
113
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
114
|
+
pc.bold(pc.white('FEATURE_FLAG')),
|
|
115
|
+
pc.bold(pc.white('ERROR_MESSAGE')),
|
|
116
|
+
],
|
|
117
|
+
colWidths: [30, 30, 30, 120],
|
|
118
|
+
wordWrap: true,
|
|
119
|
+
});
|
|
120
|
+
console.log(pc.red(`We found composition errors, while composing the federated graph.\nThe router will continue to work with the latest valid schema.\n${pc.bold('Please check the errors below:')}`));
|
|
121
|
+
for (const compositionError of resp.compositionErrors) {
|
|
122
|
+
compositionErrorsTable.push([
|
|
123
|
+
compositionError.federatedGraphName,
|
|
124
|
+
compositionError.namespace,
|
|
125
|
+
compositionError.featureFlag || '-',
|
|
126
|
+
compositionError.message,
|
|
127
|
+
]);
|
|
128
|
+
}
|
|
129
|
+
// Don't exit here with 1 because the change was still applied
|
|
130
|
+
console.log(compositionErrorsTable.toString());
|
|
131
|
+
if (options.failOnCompositionError) {
|
|
132
|
+
program.error(pc.red(pc.bold('The command failed due to composition errors.')));
|
|
133
|
+
}
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case EnumStatusCode.ERR_DEPLOYMENT_FAILED: {
|
|
137
|
+
spinner.warn("The gRPC subgraph was published, but the updated composition hasn't been deployed, so it's not accessible to the router. Check the errors listed below for details.");
|
|
138
|
+
const deploymentErrorsTable = new Table({
|
|
139
|
+
head: [
|
|
140
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
141
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
142
|
+
pc.bold(pc.white('ERROR_MESSAGE')),
|
|
143
|
+
],
|
|
144
|
+
colWidths: [30, 30, 120],
|
|
145
|
+
wordWrap: true,
|
|
146
|
+
});
|
|
147
|
+
for (const deploymentError of resp.deploymentErrors) {
|
|
148
|
+
deploymentErrorsTable.push([
|
|
149
|
+
deploymentError.federatedGraphName,
|
|
150
|
+
deploymentError.namespace,
|
|
151
|
+
deploymentError.message,
|
|
152
|
+
]);
|
|
153
|
+
}
|
|
154
|
+
// Don't exit here with 1 because the change was still applied
|
|
155
|
+
console.log(deploymentErrorsTable.toString());
|
|
156
|
+
if (options.failOnAdmissionWebhookError) {
|
|
157
|
+
program.error(pc.red(pc.bold('The command failed due to admission webhook errors.')));
|
|
158
|
+
}
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
default: {
|
|
162
|
+
spinner.fail(`Failed to publish gRPC subgraph "${name}".`);
|
|
163
|
+
if ((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) {
|
|
164
|
+
console.error(pc.red(pc.bold((_c = resp.response) === null || _c === void 0 ? void 0 : _c.details)));
|
|
165
|
+
}
|
|
166
|
+
process.exitCode = 1;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
if (!options.suppressWarnings && resp.compositionWarnings.length > 0) {
|
|
171
|
+
const compositionWarningsTable = new Table({
|
|
172
|
+
head: [
|
|
173
|
+
pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
|
|
174
|
+
pc.bold(pc.white('NAMESPACE')),
|
|
175
|
+
pc.bold(pc.white('FEATURE_FLAG')),
|
|
176
|
+
pc.bold(pc.white('WARNING_MESSAGE')),
|
|
177
|
+
],
|
|
178
|
+
colWidths: [30, 30, 30, 120],
|
|
179
|
+
wordWrap: true,
|
|
180
|
+
});
|
|
181
|
+
console.log(pc.yellow(`The following warnings were produced while composing the federated graph:`));
|
|
182
|
+
for (const compositionWarning of resp.compositionWarnings) {
|
|
183
|
+
compositionWarningsTable.push([
|
|
184
|
+
compositionWarning.federatedGraphName,
|
|
185
|
+
compositionWarning.namespace,
|
|
186
|
+
compositionWarning.featureFlag || '-',
|
|
187
|
+
compositionWarning.message,
|
|
188
|
+
]);
|
|
189
|
+
}
|
|
190
|
+
console.log(compositionWarningsTable.toString());
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
return command;
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=publish.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../../src/commands/grpc-service/commands/publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,18 @@ import { Command } from 'commander';
|
|
|
2
2
|
import generateCommand from './commands/generate.js';
|
|
3
3
|
import initCommand from './commands/init.js';
|
|
4
4
|
import listTemplatesCommand from './commands/list-templates.js';
|
|
5
|
+
import createCommand from './commands/create.js';
|
|
6
|
+
import publishCommand from './commands/publish.js';
|
|
7
|
+
import deleteCommand from './commands/delete.js';
|
|
5
8
|
export default (opts) => {
|
|
6
9
|
const command = new Command('grpc-service');
|
|
7
10
|
command.description('Manage protobuf schemas for remote gRPC services');
|
|
8
11
|
command.addCommand(generateCommand(opts));
|
|
9
12
|
command.addCommand(initCommand(opts));
|
|
10
13
|
command.addCommand(listTemplatesCommand(opts));
|
|
14
|
+
command.addCommand(createCommand(opts));
|
|
15
|
+
command.addCommand(publishCommand(opts));
|
|
16
|
+
command.addCommand(deleteCommand(opts));
|
|
11
17
|
return command;
|
|
12
18
|
};
|
|
13
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/grpc-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/grpc-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAChE,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5C,OAAO,CAAC,WAAW,CAAC,kDAAkD,CAAC,CAAC;IACxE,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IACtC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAExC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -10,7 +10,7 @@ export default (opts) => {
|
|
|
10
10
|
command.description('Deletes a plugin subgraph on the control plane.');
|
|
11
11
|
command.argument('<name>', 'The name of the plugin subgraph to delete.');
|
|
12
12
|
command.option('-n, --namespace [string]', 'The namespace of the plugin subgraph.');
|
|
13
|
-
command.option('-f --force', 'Flag to force the deletion (skip confirmation).');
|
|
13
|
+
command.option('-f, --force', 'Flag to force the deletion (skip confirmation).');
|
|
14
14
|
command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.');
|
|
15
15
|
command.action(async (name, options) => {
|
|
16
16
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../../../src/commands/router/commands/plugin/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,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,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,
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../../../src/commands/router/commands/plugin/commands/delete.ts"],"names":[],"mappings":"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"}
|