@codiac.io/codiac-cli 1.3.284 → 1.3.286
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/README.md +336 -208
- package/dist/apis/codiac-api/gen/contracts/types.gen.d.ts +18 -2
- package/dist/apis/codiac-api/gen/contracts/types.gen.js +1 -0
- package/dist/apis/codiac-api/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.d.ts +18 -2
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js +1 -0
- package/dist/apis/codiac-api-nats/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-api-nats/gen/contracts.ng.d.ts +11 -1
- package/dist/apis/codiac-api-nats/gen/contracts.ng.js +1 -0
- package/dist/apis/codiac-api-nats/gen/contracts.ng.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts/types.gen.d.ts +46 -5
- package/dist/apis/codiac-relay/gen/contracts/types.gen.js +1 -0
- package/dist/apis/codiac-relay/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-relay/gen/contracts-legacy.js +2 -1
- package/dist/apis/codiac-relay/gen/contracts-legacy.js.map +1 -1
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.d.ts +42 -6
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js +1 -0
- package/dist/apis/codiac-relay-nats/gen/contracts/types.gen.js.map +1 -1
- package/dist/apis/codiac-relay-nats/gen/contracts.ng.d.ts +8 -1
- package/dist/apis/codiac-relay-nats/gen/contracts.ng.js +1 -0
- package/dist/apis/codiac-relay-nats/gen/contracts.ng.js.map +1 -1
- package/dist/commands/ai/agent/install.js +2 -1
- package/dist/commands/ai/agent/install.js.map +1 -1
- package/dist/commands/config/add.js +1 -1
- package/dist/commands/config/add.js.map +1 -1
- package/dist/commands/host/delete.d.ts +11 -0
- package/dist/commands/host/delete.js +20 -2
- package/dist/commands/host/delete.js.map +1 -1
- package/dist/commands/host/map.d.ts +8 -0
- package/dist/commands/host/map.js +86 -10
- package/dist/commands/host/map.js.map +1 -1
- package/oclif.manifest.json +31 -7
- package/package.json +2 -2
- package/skill/references/concepts.md +4 -1
|
@@ -7,11 +7,19 @@ const contracts_1 = require("../../apis/codiac-api/contracts");
|
|
|
7
7
|
const command_base_exec_tenant_1 = require("../../command-base-exec-tenant");
|
|
8
8
|
const delete_1 = require("./delete");
|
|
9
9
|
const type_safety_utils_1 = require("../../uilogic/type-safety-utils");
|
|
10
|
+
/** Explains the strip-path choice; shared by the flag description and the interactive prompt so the two never drift. */
|
|
11
|
+
const STRIP_PATH_EXPLAINER = "Removes the service's path segment before the request reaches the service, so an app that serves at `/` works behind `<host>/<service>/`. "
|
|
12
|
+
+ "eg: with `dev.my-company.com` + domain_slash_service + --strip-path, `https://dev.my-company.com/orders/swagger` reaches the `orders` service as `/swagger`. "
|
|
13
|
+
+ "Leave it off for apps that already serve under their own prefix (eg ASP.NET UsePathBase, Express app.use('/orders', ...)).";
|
|
10
14
|
class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
11
15
|
captureArgs() {
|
|
12
16
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
17
|
const { flags } = yield this.parse(HostMap);
|
|
14
|
-
|
|
18
|
+
const partial = {};
|
|
19
|
+
// Left undefined when neither --strip-path nor --no-strip-path was typed, so interactive mode knows to ask.
|
|
20
|
+
if (flags["strip-path"] !== undefined)
|
|
21
|
+
partial.stripPath = flags["strip-path"];
|
|
22
|
+
return [partial, false];
|
|
15
23
|
});
|
|
16
24
|
}
|
|
17
25
|
buildCandidate_silently(_partial, rootMap) {
|
|
@@ -27,8 +35,9 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
27
35
|
if (!naming)
|
|
28
36
|
throw new Error(`Invalid host naming strategy [${flags.naming}].`);
|
|
29
37
|
const isPrivate = type_safety_utils_1.TypeSafetyUtils.toBoolean(flags.private);
|
|
38
|
+
const stripPath = this.resolveStripPath(_partial.stripPath, naming);
|
|
30
39
|
const thisMachine = this.isLocalMachine(scope, rootMap);
|
|
31
|
-
return { domain: args.domain.trim(), scope, naming, isPrivate, thisMachine };
|
|
40
|
+
return { domain: args.domain.trim(), scope, naming, isPrivate, stripPath, thisMachine };
|
|
32
41
|
});
|
|
33
42
|
}
|
|
34
43
|
buildCandidate_interactively(_partial, _takeDefaults, rootMap) {
|
|
@@ -62,7 +71,7 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
62
71
|
if (!naming) {
|
|
63
72
|
const strategies = Object.values(host_name_strategy_enum_1.HostNameStrategyEnum).sort().map(x => ({
|
|
64
73
|
value: x,
|
|
65
|
-
name:
|
|
74
|
+
name: delete_1.HostNameUiLogic.strategyLabel(x)
|
|
66
75
|
}));
|
|
67
76
|
const selected = yield this._ui.promptSelect("naming", "Host Naming Strategy", strategies);
|
|
68
77
|
if (!selected) {
|
|
@@ -82,15 +91,36 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
82
91
|
const selected = yield this._ui.promptSelect("isPrivate", "Usage:", choices, false, true);
|
|
83
92
|
isPrivate = type_safety_utils_1.TypeSafetyUtils.toBoolean(selected);
|
|
84
93
|
}
|
|
94
|
+
// Strip path (path-based strategies only)
|
|
95
|
+
let stripPath;
|
|
96
|
+
if (delete_1.HostNameUiLogic.isPathBasedStrategy(naming)) {
|
|
97
|
+
if (_partial.stripPath !== undefined) {
|
|
98
|
+
stripPath = _partial.stripPath;
|
|
99
|
+
this._ui.userMessage("Strip path: ".concat(this._styler.hilite(stripPath ? "on" : "off")));
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this._ui.userMessage(this._styler.dim("Strip path: ".concat(STRIP_PATH_EXPLAINER)));
|
|
103
|
+
stripPath = yield this._ui.promptConfirm("stripPath", "Strip the /<service> path segment before requests reach the service? ", false);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (_partial.stripPath === true) {
|
|
107
|
+
// Rule 1: never silently drop what the user asked for; make them approve it.
|
|
108
|
+
this._ui.userMessage(this._styler.colorWarning(`--strip-path only applies to path-based strategies; [${naming}] gives each service its own host, so there is no path to strip.`));
|
|
109
|
+
const proceed = yield this._ui.promptConfirm("stripPathIgnored", "Continue without strip-path? ", true);
|
|
110
|
+
if (!proceed) {
|
|
111
|
+
this._ui.userMessage("Cancelled. No work was done.");
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
85
115
|
const thisMachine = this.isLocalMachine(scope, rootMap);
|
|
86
|
-
const preview = yield this.buildPreview(scope, domain, naming, isPrivate);
|
|
116
|
+
const preview = yield this.buildPreview(scope, domain, naming, isPrivate, stripPath);
|
|
87
117
|
this._ui.userMessage("You are about to submit the following domain host mapping strategy: ".concat("\n", preview));
|
|
88
118
|
const confirm = yield this._ui.promptConfirm("confirmGo", "Continue? ", false);
|
|
89
119
|
if (!confirm) {
|
|
90
120
|
this._ui.userMessage("Cancelled. No work was done.");
|
|
91
121
|
return undefined;
|
|
92
122
|
}
|
|
93
|
-
return { domain, scope, naming, isPrivate, thisMachine };
|
|
123
|
+
return { domain, scope, naming, isPrivate, stripPath, thisMachine };
|
|
94
124
|
});
|
|
95
125
|
}
|
|
96
126
|
buildCommandString(candidate, cmd) {
|
|
@@ -106,6 +136,9 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
106
136
|
cmd.push("-n", candidate.naming);
|
|
107
137
|
if (candidate.isPrivate)
|
|
108
138
|
cmd.push("--private");
|
|
139
|
+
// Silent mode treats an absent flag as off, so only "on" needs rendering to reproduce the candidate.
|
|
140
|
+
if (candidate.stripPath)
|
|
141
|
+
cmd.push("--strip-path");
|
|
109
142
|
cmd.push("--silent");
|
|
110
143
|
return cmd;
|
|
111
144
|
}
|
|
@@ -125,6 +158,7 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
125
158
|
// than one enterprise exists.
|
|
126
159
|
enterprise: (_a = candidate.scope.enterprise) !== null && _a !== void 0 ? _a : (candidate.scope.level === contracts_1.ScopeLevel.enterprise ? candidate.scope.target : undefined),
|
|
127
160
|
isPrivate: candidate.isPrivate,
|
|
161
|
+
stripPath: candidate.stripPath,
|
|
128
162
|
thisMachine: candidate.thisMachine
|
|
129
163
|
});
|
|
130
164
|
this._ui.stopSpinner(result.success ? "Completed" : "Failed");
|
|
@@ -183,16 +217,33 @@ class HostMap extends command_base_exec_tenant_1.CommandBaseExecTenant {
|
|
|
183
217
|
}
|
|
184
218
|
});
|
|
185
219
|
}
|
|
186
|
-
|
|
220
|
+
/** Silent-mode resolution of the strip-path choice against the chosen strategy.
|
|
221
|
+
* Path-based strategies always get an explicit boolean (absent flag = off) so that re-running `host map`
|
|
222
|
+
* on an existing mapping without the flag turns strip-path back off rather than leaving a stale value.
|
|
223
|
+
* Host-based strategies leave it undefined, and throw if it was explicitly requested. */
|
|
224
|
+
resolveStripPath(given, naming) {
|
|
225
|
+
if (delete_1.HostNameUiLogic.isPathBasedStrategy(naming))
|
|
226
|
+
return given === true;
|
|
227
|
+
if (given === true) {
|
|
228
|
+
throw new Error(`--strip-path only applies to path-based strategies (those ending in _slash_service); [${naming}] gives each service its own host, so there is no path to strip. Remove --strip-path or choose a path-based strategy.`);
|
|
229
|
+
}
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
buildPreview(scope, domain, naming, isPrivate, stripPath) {
|
|
187
233
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
188
234
|
const candidate = {
|
|
189
|
-
enterprise: scope.enterprise, domainName: domain, strategy: naming, scope: scope.level, target: scope.target, isPrivate
|
|
235
|
+
enterprise: scope.enterprise, domainName: domain, strategy: naming, scope: scope.level, target: scope.target, isPrivate, stripPath
|
|
190
236
|
};
|
|
191
237
|
return delete_1.HostNameUiLogic.displayNameFor(candidate, this._styler);
|
|
192
238
|
});
|
|
193
239
|
}
|
|
194
240
|
validateGivenNaming(naming, nonInteractive = false) {
|
|
195
|
-
|
|
241
|
+
// Accept the stored strategy value (eg "domain_slash_service") and, for back-compat, the enum key (eg "domainSlashService").
|
|
242
|
+
const values = Object.values(host_name_strategy_enum_1.HostNameStrategyEnum);
|
|
243
|
+
const selected = !naming ? undefined
|
|
244
|
+
: values.includes(naming) ? naming
|
|
245
|
+
: (naming in host_name_strategy_enum_1.HostNameStrategyEnum) ? host_name_strategy_enum_1.HostNameStrategyEnum[naming]
|
|
246
|
+
: undefined;
|
|
196
247
|
if (!selected && nonInteractive)
|
|
197
248
|
throw new Error(`Invalid host naming strategy [${naming}].`);
|
|
198
249
|
return selected;
|
|
@@ -378,11 +429,31 @@ HostMap.description = 'Declares a strategy for mapping assets to ingress routes
|
|
|
378
429
|
HostMap.aliases = ['domain:map'];
|
|
379
430
|
HostMap.flags = {
|
|
380
431
|
help: core_1.Flags.help({ char: 'h' }),
|
|
381
|
-
naming: core_1.Flags.string({
|
|
382
|
-
|
|
432
|
+
naming: core_1.Flags.string({
|
|
433
|
+
char: 'n', required: false,
|
|
434
|
+
description: "How each service's hostname (and path) is built from the domain; prompted when omitted. "
|
|
435
|
+
+ "Host-form strategies give every service its own host, served at `/`: "
|
|
436
|
+
+ "svc_dash_env_dot_domain = <service>-<env>.<domain> (one DNS label, so one wildcard DNS record and *.<domain> cert cover every service in every environment), "
|
|
437
|
+
+ "svc_dot_cab_dot_domain = <service>.<cabinet>.<domain>, "
|
|
438
|
+
+ "service_dot_domain = <service>.<domain>. "
|
|
439
|
+
+ "Path-form strategies share one host and route by /<service> (see --strip-path): "
|
|
440
|
+
+ "domain_slash_service = <domain>/<service>, "
|
|
441
|
+
+ "cab_dot_domain_slash_service = <cabinet>.<domain>/<service>, "
|
|
442
|
+
+ "cab_dot_cluster_dot_domain_slash_service = <cabinet>.<cluster>.<domain>/<service>, "
|
|
443
|
+
+ "cab_dot_cluster_dot_enterprise_dot_domain_slash_service = <cabinet>.<cluster>.<enterprise>.<domain>/<service>, "
|
|
444
|
+
+ "globally_shared_domain_slash_service = for a domain shared across tenants and clusters. "
|
|
445
|
+
+ "shared_ingress_ip = <ingress-ip>/<tenant>/<enterprise>/<cabinet>/<service>, no domain needed."
|
|
446
|
+
}),
|
|
447
|
+
enterprise: core_1.Flags.string({ char: 'e', description: 'The name of the enterprise on which to apply this naming strategy. Leave blank if there is only one.' }),
|
|
383
448
|
environment: core_1.Flags.string({ char: 'v', exclusive: ["cabinet"], description: 'The name of the environment on which to apply this naming strategy. Must be qualified by also setting enterprise if there are more than one.' }),
|
|
384
449
|
cabinet: core_1.Flags.string({ char: 'c', exclusive: ["environment"], description: 'The name of the cabinet on which to apply this naming strategy. Must be qualified by also setting enterprise if cabinet names are not unique.' }),
|
|
385
450
|
private: core_1.Flags.boolean({ description: "Declares that this domain mapping is for internal use and not available from the internet." }),
|
|
451
|
+
"strip-path": core_1.Flags.boolean({
|
|
452
|
+
allowNo: true,
|
|
453
|
+
description: "(Path-based strategies only: domain_slash_service, cab_dot_domain_slash_service, cab_dot_cluster_dot_domain_slash_service, cab_dot_cluster_dot_enterprise_dot_domain_slash_service, globally_shared_domain_slash_service.) "
|
|
454
|
+
+ STRIP_PATH_EXPLAINER
|
|
455
|
+
+ " Has no meaning for host-based strategies (they give each service its own host, so there is no prefix to strip): --silent rejects the combination and interactive mode asks before dropping it. Off unless given; to change it on an existing mapping, re-run this command with the same domain, scope and strategy."
|
|
456
|
+
}),
|
|
386
457
|
silent: core_1.Flags.boolean({ exclusive: ["echo", "to-script"], description: 'Executes without any user interaction; fails on missing or invalid arguments.' }),
|
|
387
458
|
echo: core_1.Flags.boolean({ exclusive: ["to-script", "silent"], description: 'Renders the equivalent non-interactive command for future use before executing.' }),
|
|
388
459
|
"to-script": core_1.Flags.boolean({ exclusive: ["echo", "silent"], description: 'Renders the equivalent non-interactive command without executing it.' }),
|
|
@@ -394,6 +465,11 @@ HostMap.examples = [
|
|
|
394
465
|
{ description: "Map a domain interactively.", command: "<%= config.bin %> <%= command.id %> my-company.com" },
|
|
395
466
|
{ description: "Map an enterprise-level domain.", command: "<%= config.bin %> <%= command.id %> my-company.com -e myEnterprise -n subdomain_dot_cabinet --silent" },
|
|
396
467
|
{ description: "Renders the equivalent silent command without executing.", command: "<%= config.bin %> <%= command.id %> my-company.com -e myEnterprise --to-script" },
|
|
468
|
+
{ description: "Path-based routing for an app that serves at `/`: `https://dev.my-company.com/orders/swagger` reaches the `orders` service as `/swagger`.", command: "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --strip-path --silent" },
|
|
469
|
+
{ description: "Path-based routing for an app that already serves under its own prefix (eg ASP.NET UsePathBase or Express app.use('/orders', ...)): leave --strip-path off so the service still receives `/orders/swagger`.", command: "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --silent" },
|
|
470
|
+
{ description: "Turn strip-path on for an EXISTING mapping: re-run with the same domain, scope and strategy plus --strip-path. The mapping is updated in place (no delete needed) and ingress is re-applied. Re-run without the flag (or with --no-strip-path) to turn it back off.", command: "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --strip-path --silent" },
|
|
471
|
+
{ description: "Renders the equivalent silent command, including any strip-path choice made at the prompt, and then executes.", command: "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --echo" },
|
|
472
|
+
{ description: "One host per service per environment, served at `/` (Swagger, redirects and self-links work unchanged): the `orders` service in `staging` becomes `orders-staging.internal.my-company.com`. A single wildcard DNS record and wildcard cert (*.internal.my-company.com) cover all services in all environments, so a new environment needs only its own host map.", command: "<%= config.bin %> <%= command.id %> internal.my-company.com -e main -v staging -n svc_dash_env_dot_domain --silent" },
|
|
397
473
|
{ description: "Consume a mapping from a helm chart's own ingress spec: after mapping the domain here, reference it from any scoped setting via the ${hostmap(strategy, domain)} dynamic variable. See `cod config set --help` for setting-side examples.", command: "<%= config.bin %> <%= command.id %> mywebsite.com -e main -v primero-dev -n svc_dot_cab_dot_domain --silent" },
|
|
398
474
|
];
|
|
399
475
|
//# sourceMappingURL=map.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/commands/host/map.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"map.js","sourceRoot":"","sources":["../../../src/commands/host/map.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.3.
|
|
2
|
+
"version": "1.3.286",
|
|
3
3
|
"commands": {
|
|
4
4
|
"branch": {
|
|
5
5
|
"id": "branch",
|
|
@@ -4576,7 +4576,7 @@
|
|
|
4576
4576
|
"command": "cod config set -a my-asset -c dev -t helm --setting ingress.host --value '@{$hostmap(\"svc_dot_cab_dot_domain\", \"mywebsite.com\")}'"
|
|
4577
4577
|
},
|
|
4578
4578
|
{
|
|
4579
|
-
"description": "Sibling @{$hostmap_path(...)} returns the path component for path-form strategies (cab_dot_domain_slash_service, domain_slash_service). Returns empty string for host-only strategies.",
|
|
4579
|
+
"description": "Sibling @{$hostmap_path(...)} returns the path component for path-form strategies (cab_dot_domain_slash_service, domain_slash_service). Returns empty string for host-only strategies (eg svc_dot_cab_dot_domain, svc_dash_env_dot_domain).",
|
|
4580
4580
|
"command": "cod config set -a my-asset -c dev -t helm --setting ingress.path --value '@{$hostmap_path(\"cab_dot_domain_slash_service\", \"my-company.com\")}'"
|
|
4581
4581
|
},
|
|
4582
4582
|
{
|
|
@@ -6976,6 +6976,7 @@
|
|
|
6976
6976
|
"globally_shared_domain_slash_service",
|
|
6977
6977
|
"service_dot_domain",
|
|
6978
6978
|
"shared_ingress_ip",
|
|
6979
|
+
"svc_dash_env_dot_domain",
|
|
6979
6980
|
"svc_dot_cab_dot_domain"
|
|
6980
6981
|
],
|
|
6981
6982
|
"exclusive": [
|
|
@@ -7178,6 +7179,26 @@
|
|
|
7178
7179
|
"description": "Renders the equivalent silent command without executing.",
|
|
7179
7180
|
"command": "<%= config.bin %> <%= command.id %> my-company.com -e myEnterprise --to-script"
|
|
7180
7181
|
},
|
|
7182
|
+
{
|
|
7183
|
+
"description": "Path-based routing for an app that serves at `/`: `https://dev.my-company.com/orders/swagger` reaches the `orders` service as `/swagger`.",
|
|
7184
|
+
"command": "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --strip-path --silent"
|
|
7185
|
+
},
|
|
7186
|
+
{
|
|
7187
|
+
"description": "Path-based routing for an app that already serves under its own prefix (eg ASP.NET UsePathBase or Express app.use('/orders', ...)): leave --strip-path off so the service still receives `/orders/swagger`.",
|
|
7188
|
+
"command": "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --silent"
|
|
7189
|
+
},
|
|
7190
|
+
{
|
|
7191
|
+
"description": "Turn strip-path on for an EXISTING mapping: re-run with the same domain, scope and strategy plus --strip-path. The mapping is updated in place (no delete needed) and ingress is re-applied. Re-run without the flag (or with --no-strip-path) to turn it back off.",
|
|
7192
|
+
"command": "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --strip-path --silent"
|
|
7193
|
+
},
|
|
7194
|
+
{
|
|
7195
|
+
"description": "Renders the equivalent silent command, including any strip-path choice made at the prompt, and then executes.",
|
|
7196
|
+
"command": "<%= config.bin %> <%= command.id %> dev.my-company.com -e myEnterprise -v dev -n domain_slash_service --echo"
|
|
7197
|
+
},
|
|
7198
|
+
{
|
|
7199
|
+
"description": "One host per service per environment, served at `/` (Swagger, redirects and self-links work unchanged): the `orders` service in `staging` becomes `orders-staging.internal.my-company.com`. A single wildcard DNS record and wildcard cert (*.internal.my-company.com) cover all services in all environments, so a new environment needs only its own host map.",
|
|
7200
|
+
"command": "<%= config.bin %> <%= command.id %> internal.my-company.com -e main -v staging -n svc_dash_env_dot_domain --silent"
|
|
7201
|
+
},
|
|
7181
7202
|
{
|
|
7182
7203
|
"description": "Consume a mapping from a helm chart's own ingress spec: after mapping the domain here, reference it from any scoped setting via the ${hostmap(strategy, domain)} dynamic variable. See `cod config set --help` for setting-side examples.",
|
|
7183
7204
|
"command": "<%= config.bin %> <%= command.id %> mywebsite.com -e main -v primero-dev -n svc_dot_cab_dot_domain --silent"
|
|
@@ -7195,7 +7216,7 @@
|
|
|
7195
7216
|
"name": "naming",
|
|
7196
7217
|
"type": "option",
|
|
7197
7218
|
"char": "n",
|
|
7198
|
-
"description": "
|
|
7219
|
+
"description": "How each service's hostname (and path) is built from the domain; prompted when omitted. Host-form strategies give every service its own host, served at `/`: svc_dash_env_dot_domain = <service>-<env>.<domain> (one DNS label, so one wildcard DNS record and *.<domain> cert cover every service in every environment), svc_dot_cab_dot_domain = <service>.<cabinet>.<domain>, service_dot_domain = <service>.<domain>. Path-form strategies share one host and route by /<service> (see --strip-path): domain_slash_service = <domain>/<service>, cab_dot_domain_slash_service = <cabinet>.<domain>/<service>, cab_dot_cluster_dot_domain_slash_service = <cabinet>.<cluster>.<domain>/<service>, cab_dot_cluster_dot_enterprise_dot_domain_slash_service = <cabinet>.<cluster>.<enterprise>.<domain>/<service>, globally_shared_domain_slash_service = for a domain shared across tenants and clusters. shared_ingress_ip = <ingress-ip>/<tenant>/<enterprise>/<cabinet>/<service>, no domain needed.",
|
|
7199
7220
|
"required": false,
|
|
7200
7221
|
"multiple": false
|
|
7201
7222
|
},
|
|
@@ -7204,10 +7225,7 @@
|
|
|
7204
7225
|
"type": "option",
|
|
7205
7226
|
"char": "e",
|
|
7206
7227
|
"description": "The name of the enterprise on which to apply this naming strategy. Leave blank if there is only one.",
|
|
7207
|
-
"multiple": false
|
|
7208
|
-
"exclusive": [
|
|
7209
|
-
"environment"
|
|
7210
|
-
]
|
|
7228
|
+
"multiple": false
|
|
7211
7229
|
},
|
|
7212
7230
|
"environment": {
|
|
7213
7231
|
"name": "environment",
|
|
@@ -7235,6 +7253,12 @@
|
|
|
7235
7253
|
"description": "Declares that this domain mapping is for internal use and not available from the internet.",
|
|
7236
7254
|
"allowNo": false
|
|
7237
7255
|
},
|
|
7256
|
+
"strip-path": {
|
|
7257
|
+
"name": "strip-path",
|
|
7258
|
+
"type": "boolean",
|
|
7259
|
+
"description": "(Path-based strategies only: domain_slash_service, cab_dot_domain_slash_service, cab_dot_cluster_dot_domain_slash_service, cab_dot_cluster_dot_enterprise_dot_domain_slash_service, globally_shared_domain_slash_service.) Removes the service's path segment before the request reaches the service, so an app that serves at `/` works behind `<host>/<service>/`. eg: with `dev.my-company.com` + domain_slash_service + --strip-path, `https://dev.my-company.com/orders/swagger` reaches the `orders` service as `/swagger`. Leave it off for apps that already serve under their own prefix (eg ASP.NET UsePathBase, Express app.use('/orders', ...)). Has no meaning for host-based strategies (they give each service its own host, so there is no prefix to strip): --silent rejects the combination and interactive mode asks before dropping it. Off unless given; to change it on an existing mapping, re-run this command with the same domain, scope and strategy.",
|
|
7260
|
+
"allowNo": true
|
|
7261
|
+
},
|
|
7238
7262
|
"silent": {
|
|
7239
7263
|
"name": "silent",
|
|
7240
7264
|
"type": "boolean",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codiac.io/codiac-cli",
|
|
3
3
|
"description": "Local command line interface for managing enterprise assets and environments.",
|
|
4
|
-
"version": "1.3.
|
|
4
|
+
"version": "1.3.286",
|
|
5
5
|
"author": "Codiac",
|
|
6
6
|
"bin": {
|
|
7
7
|
"codiac": "./bin/run",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@codiac.io/api-client-base": "^1.1.19",
|
|
34
34
|
"@codiac.io/cli-tools": "^1.1.13",
|
|
35
35
|
"@codiac.io/codiac-common": "^1.5.6",
|
|
36
|
-
"@codiac.io/codiac-domain": "^1.12.
|
|
36
|
+
"@codiac.io/codiac-domain": "^1.12.10",
|
|
37
37
|
"@codiac.io/codiac-messaging": "^1.4.28",
|
|
38
38
|
"@codiac.io/codiac-ops-common": "^1.5.5",
|
|
39
39
|
"@codiac.io/codiac-relay-contracts": "^1.3.2",
|
|
@@ -261,7 +261,10 @@ auth — prefer it over raw cloud CLIs for cluster access.
|
|
|
261
261
|
|
|
262
262
|
- A workload with an ingress needs a **host**. Codiac resolves hosts from a **host-naming strategy**
|
|
263
263
|
attached to a scope (`ScopedHostNameConfig`) — e.g. `svc_dot_cab_dot_domain`
|
|
264
|
-
(`<service>.<cabinet>.<domain>`)
|
|
264
|
+
(`<service>.<cabinet>.<domain>`), `svc_dash_env_dot_domain` (`<service>-<env>.<domain>`: one DNS
|
|
265
|
+
label per service per environment, served at `/`, so one wildcard record + `*.<domain>` cert covers
|
|
266
|
+
every environment) or `shared_ingress_ip`. Strategies ending in `_slash_service` share one host and
|
|
267
|
+
route by `/<service>` (`--strip-path` applies only to those).
|
|
265
268
|
- You can set the ingress host directly as a `[helm]` scoped setting (`ingress.host`), ideally as a
|
|
266
269
|
shareable enterprise-scope **template** (`@{asset.name}.@{cabinet.name}.….<domain>`) so it
|
|
267
270
|
resolves per cabinet.
|